/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/loops-crafted-1/nested_delay_notd2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 03:56:15,573 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 03:56:15,574 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 03:56:15,618 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 03:56:15,619 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 03:56:15,620 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 03:56:15,622 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 03:56:15,626 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 03:56:15,627 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 03:56:15,630 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 03:56:15,631 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 03:56:15,631 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 03:56:15,631 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 03:56:15,632 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 03:56:15,633 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 03:56:15,633 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 03:56:15,633 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 03:56:15,634 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 03:56:15,635 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 03:56:15,636 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 03:56:15,637 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 03:56:15,639 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 03:56:15,640 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 03:56:15,641 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 03:56:15,642 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 03:56:15,652 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 03:56:15,652 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 03:56:15,652 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 03:56:15,653 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 03:56:15,653 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 03:56:15,654 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 03:56:15,654 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 03:56:15,655 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 03:56:15,655 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 03:56:15,655 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 03:56:15,656 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 03:56:15,656 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 03:56:15,656 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 03:56:15,656 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 03:56:15,657 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 03:56:15,657 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 03:56:15,657 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 03:56:15,658 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 03:56:15,664 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 03:56:15,664 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 03:56:15,665 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 03:56:15,665 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 03:56:15,665 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 03:56:15,665 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 03:56:15,665 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 03:56:15,665 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 03:56:15,665 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 03:56:15,665 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 03:56:15,665 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 03:56:15,665 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 03:56:15,665 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 03:56:15,666 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 03:56:15,666 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 03:56:15,666 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 03:56:15,666 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 03:56:15,666 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 03:56:15,666 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 03:56:15,666 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 03:56:15,666 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 03:56:15,666 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 03:56:15,666 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 03:56:15,666 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 03:56:15,666 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 03:56:15,667 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 03:56:15,843 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 03:56:15,872 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 03:56:15,873 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 03:56:15,874 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 03:56:15,874 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 03:56:15,875 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops-crafted-1/nested_delay_notd2.c [2022-04-28 03:56:15,924 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f5d4ef510/b0b9e82dca604256af729f62b0b1a8b8/FLAG27d7a2013 [2022-04-28 03:56:16,234 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 03:56:16,234 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops-crafted-1/nested_delay_notd2.c [2022-04-28 03:56:16,240 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f5d4ef510/b0b9e82dca604256af729f62b0b1a8b8/FLAG27d7a2013 [2022-04-28 03:56:16,667 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f5d4ef510/b0b9e82dca604256af729f62b0b1a8b8 [2022-04-28 03:56:16,672 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 03:56:16,674 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 03:56:16,675 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 03:56:16,675 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 03:56:16,678 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 03:56:16,679 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 03:56:16" (1/1) ... [2022-04-28 03:56:16,680 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@420ccee0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:56:16, skipping insertion in model container [2022-04-28 03:56:16,680 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 03:56:16" (1/1) ... [2022-04-28 03:56:16,685 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 03:56:16,696 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 03:56:16,851 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/loops-crafted-1/nested_delay_notd2.c[468,481] [2022-04-28 03:56:16,875 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 03:56:16,882 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 03:56:16,893 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/loops-crafted-1/nested_delay_notd2.c[468,481] [2022-04-28 03:56:16,904 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 03:56:16,916 INFO L208 MainTranslator]: Completed translation [2022-04-28 03:56:16,917 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:56:16 WrapperNode [2022-04-28 03:56:16,917 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 03:56:16,918 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 03:56:16,918 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 03:56:16,918 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 03:56:16,925 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:56:16" (1/1) ... [2022-04-28 03:56:16,925 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:56:16" (1/1) ... [2022-04-28 03:56:16,931 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:56:16" (1/1) ... [2022-04-28 03:56:16,932 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:56:16" (1/1) ... [2022-04-28 03:56:16,947 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:56:16" (1/1) ... [2022-04-28 03:56:16,953 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:56:16" (1/1) ... [2022-04-28 03:56:16,956 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:56:16" (1/1) ... [2022-04-28 03:56:16,958 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 03:56:16,959 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 03:56:16,959 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 03:56:16,960 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 03:56:16,960 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:56:16" (1/1) ... [2022-04-28 03:56:16,965 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 03:56:16,972 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:56:17,000 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 03:56:17,017 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 03:56:17,036 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 03:56:17,036 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 03:56:17,037 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 03:56:17,037 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 03:56:17,037 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 03:56:17,037 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 03:56:17,037 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 03:56:17,037 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 03:56:17,037 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 03:56:17,038 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 03:56:17,038 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 03:56:17,038 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 03:56:17,039 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 03:56:17,039 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 03:56:17,039 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 03:56:17,039 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 03:56:17,039 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 03:56:17,039 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 03:56:17,039 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 03:56:17,039 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 03:56:17,086 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 03:56:17,087 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 03:56:17,226 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 03:56:17,230 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 03:56:17,230 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 03:56:17,231 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 03:56:17 BoogieIcfgContainer [2022-04-28 03:56:17,231 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 03:56:17,232 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 03:56:17,232 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 03:56:17,235 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 03:56:17,235 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 03:56:16" (1/3) ... [2022-04-28 03:56:17,235 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3f2ba5f6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 03:56:17, skipping insertion in model container [2022-04-28 03:56:17,235 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 03:56:16" (2/3) ... [2022-04-28 03:56:17,236 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3f2ba5f6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 03:56:17, skipping insertion in model container [2022-04-28 03:56:17,236 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 03:56:17" (3/3) ... [2022-04-28 03:56:17,237 INFO L111 eAbstractionObserver]: Analyzing ICFG nested_delay_notd2.c [2022-04-28 03:56:17,246 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 03:56:17,246 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 03:56:17,305 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 03:56:17,310 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@5457c753, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@1319cbba [2022-04-28 03:56:17,311 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 03:56:17,316 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 24 states have internal predecessors, (34), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 03:56:17,320 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-04-28 03:56:17,323 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:56:17,323 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:56:17,323 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:56:17,328 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:56:17,329 INFO L85 PathProgramCache]: Analyzing trace with hash -1039138334, now seen corresponding path program 1 times [2022-04-28 03:56:17,334 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:17,335 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [596715593] [2022-04-28 03:56:17,344 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 03:56:17,344 INFO L85 PathProgramCache]: Analyzing trace with hash -1039138334, now seen corresponding path program 2 times [2022-04-28 03:56:17,347 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:56:17,347 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [949977270] [2022-04-28 03:56:17,347 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:56:17,348 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:56:17,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:17,449 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:56:17,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:17,463 INFO L290 TraceCheckUtils]: 0: Hoare triple {44#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {35#true} is VALID [2022-04-28 03:56:17,463 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 03:56:17,464 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #90#return; {35#true} is VALID [2022-04-28 03:56:17,464 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:56:17,465 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:17,469 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 03:56:17,470 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 03:56:17,470 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 03:56:17,470 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #86#return; {36#false} is VALID [2022-04-28 03:56:17,471 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {44#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:56:17,471 INFO L290 TraceCheckUtils]: 1: Hoare triple {44#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {35#true} is VALID [2022-04-28 03:56:17,471 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 03:56:17,471 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #90#return; {35#true} is VALID [2022-04-28 03:56:17,472 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret7 := main(); {35#true} is VALID [2022-04-28 03:56:17,472 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {35#true} is VALID [2022-04-28 03:56:17,472 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {35#true} is VALID [2022-04-28 03:56:17,472 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 03:56:17,472 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 03:56:17,473 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 03:56:17,473 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #86#return; {36#false} is VALID [2022-04-28 03:56:17,473 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {36#false} is VALID [2022-04-28 03:56:17,473 INFO L290 TraceCheckUtils]: 12: Hoare triple {36#false} assume !false;~st~0 := 1;~c~0 := 0; {36#false} is VALID [2022-04-28 03:56:17,473 INFO L290 TraceCheckUtils]: 13: Hoare triple {36#false} assume !true; {36#false} is VALID [2022-04-28 03:56:17,474 INFO L290 TraceCheckUtils]: 14: Hoare triple {36#false} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {36#false} is VALID [2022-04-28 03:56:17,474 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume ~c~0 == ~last~0 && 0 == ~st~0;~a~0 := 1 + ~a~0; {36#false} is VALID [2022-04-28 03:56:17,474 INFO L290 TraceCheckUtils]: 16: Hoare triple {36#false} assume ~d~0 == ~SIZE~0;~a~0 := 0;~b~0 := 1; {36#false} is VALID [2022-04-28 03:56:17,474 INFO L272 TraceCheckUtils]: 17: Hoare triple {36#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {36#false} is VALID [2022-04-28 03:56:17,474 INFO L290 TraceCheckUtils]: 18: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-28 03:56:17,474 INFO L290 TraceCheckUtils]: 19: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-28 03:56:17,474 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-28 03:56:17,475 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 03:56:17,475 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:56:17,475 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [949977270] [2022-04-28 03:56:17,476 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [949977270] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:17,476 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:17,476 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 03:56:17,477 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:56:17,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [596715593] [2022-04-28 03:56:17,478 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [596715593] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:17,478 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:17,478 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 03:56:17,478 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1071047156] [2022-04-28 03:56:17,478 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:56:17,481 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 5.0) internal successors, (15), 2 states have internal predecessors, (15), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 21 [2022-04-28 03:56:17,482 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:56:17,484 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 5.0) internal successors, (15), 2 states have internal predecessors, (15), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 03:56:17,503 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:17,503 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 03:56:17,503 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:17,520 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 03:56:17,520 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 03:56:17,523 INFO L87 Difference]: Start difference. First operand has 32 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 24 states have internal predecessors, (34), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 3 states, 3 states have (on average 5.0) internal successors, (15), 2 states have internal predecessors, (15), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 03:56:17,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:17,677 INFO L93 Difference]: Finished difference Result 50 states and 71 transitions. [2022-04-28 03:56:17,677 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 03:56:17,678 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 5.0) internal successors, (15), 2 states have internal predecessors, (15), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 21 [2022-04-28 03:56:17,678 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:56:17,679 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 5.0) internal successors, (15), 2 states have internal predecessors, (15), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 03:56:17,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 71 transitions. [2022-04-28 03:56:17,685 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 5.0) internal successors, (15), 2 states have internal predecessors, (15), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 03:56:17,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 71 transitions. [2022-04-28 03:56:17,689 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 71 transitions. [2022-04-28 03:56:17,743 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:17,749 INFO L225 Difference]: With dead ends: 50 [2022-04-28 03:56:17,749 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 03:56:17,751 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 03:56:17,753 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 8 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 35 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 03:56:17,753 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 35 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 03:56:17,764 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 03:56:17,773 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 03:56:17,773 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:56:17,774 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:56:17,774 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:56:17,774 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:56:17,778 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:17,778 INFO L93 Difference]: Finished difference Result 27 states and 33 transitions. [2022-04-28 03:56:17,778 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 33 transitions. [2022-04-28 03:56:17,779 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:17,779 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:17,779 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 27 states. [2022-04-28 03:56:17,779 INFO L87 Difference]: Start difference. First operand has 27 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 27 states. [2022-04-28 03:56:17,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:17,783 INFO L93 Difference]: Finished difference Result 27 states and 33 transitions. [2022-04-28 03:56:17,783 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 33 transitions. [2022-04-28 03:56:17,783 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:17,783 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:17,784 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:56:17,784 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:56:17,784 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:56:17,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 33 transitions. [2022-04-28 03:56:17,788 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 33 transitions. Word has length 21 [2022-04-28 03:56:17,788 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:56:17,788 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 33 transitions. [2022-04-28 03:56:17,788 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 5.0) internal successors, (15), 2 states have internal predecessors, (15), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 03:56:17,788 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 33 transitions. [2022-04-28 03:56:17,815 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:17,816 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 33 transitions. [2022-04-28 03:56:17,816 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-04-28 03:56:17,816 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:56:17,816 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:56:17,817 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 03:56:17,817 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:56:17,817 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:56:17,817 INFO L85 PathProgramCache]: Analyzing trace with hash 677978447, now seen corresponding path program 1 times [2022-04-28 03:56:17,818 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:17,818 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1379506411] [2022-04-28 03:56:17,818 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 03:56:17,818 INFO L85 PathProgramCache]: Analyzing trace with hash 677978447, now seen corresponding path program 2 times [2022-04-28 03:56:17,818 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:56:17,818 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1277133495] [2022-04-28 03:56:17,819 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:56:17,819 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:56:17,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:17,943 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:56:17,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:17,968 INFO L290 TraceCheckUtils]: 0: Hoare triple {266#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {260#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:17,969 INFO L290 TraceCheckUtils]: 1: Hoare triple {260#(<= 20 ~SIZE~0)} assume true; {260#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:17,970 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {260#(<= 20 ~SIZE~0)} {255#true} #90#return; {260#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:17,970 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:56:17,972 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:17,976 INFO L290 TraceCheckUtils]: 0: Hoare triple {255#true} ~cond := #in~cond; {255#true} is VALID [2022-04-28 03:56:17,976 INFO L290 TraceCheckUtils]: 1: Hoare triple {255#true} assume !(0 == ~cond); {255#true} is VALID [2022-04-28 03:56:17,977 INFO L290 TraceCheckUtils]: 2: Hoare triple {255#true} assume true; {255#true} is VALID [2022-04-28 03:56:17,977 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {255#true} {260#(<= 20 ~SIZE~0)} #86#return; {260#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:17,978 INFO L272 TraceCheckUtils]: 0: Hoare triple {255#true} call ULTIMATE.init(); {266#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:56:17,979 INFO L290 TraceCheckUtils]: 1: Hoare triple {266#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {260#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:17,979 INFO L290 TraceCheckUtils]: 2: Hoare triple {260#(<= 20 ~SIZE~0)} assume true; {260#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:17,980 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {260#(<= 20 ~SIZE~0)} {255#true} #90#return; {260#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:17,980 INFO L272 TraceCheckUtils]: 4: Hoare triple {260#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {260#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:17,981 INFO L290 TraceCheckUtils]: 5: Hoare triple {260#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {260#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:17,981 INFO L272 TraceCheckUtils]: 6: Hoare triple {260#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {255#true} is VALID [2022-04-28 03:56:17,981 INFO L290 TraceCheckUtils]: 7: Hoare triple {255#true} ~cond := #in~cond; {255#true} is VALID [2022-04-28 03:56:17,981 INFO L290 TraceCheckUtils]: 8: Hoare triple {255#true} assume !(0 == ~cond); {255#true} is VALID [2022-04-28 03:56:17,981 INFO L290 TraceCheckUtils]: 9: Hoare triple {255#true} assume true; {255#true} is VALID [2022-04-28 03:56:17,982 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {255#true} {260#(<= 20 ~SIZE~0)} #86#return; {260#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:17,982 INFO L290 TraceCheckUtils]: 11: Hoare triple {260#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {260#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:17,983 INFO L290 TraceCheckUtils]: 12: Hoare triple {260#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {265#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:56:17,984 INFO L290 TraceCheckUtils]: 13: Hoare triple {265#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} assume !(~c~0 < ~SIZE~0); {256#false} is VALID [2022-04-28 03:56:17,984 INFO L290 TraceCheckUtils]: 14: Hoare triple {256#false} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {256#false} is VALID [2022-04-28 03:56:17,984 INFO L290 TraceCheckUtils]: 15: Hoare triple {256#false} assume ~c~0 == ~last~0 && 0 == ~st~0;~a~0 := 1 + ~a~0; {256#false} is VALID [2022-04-28 03:56:17,984 INFO L290 TraceCheckUtils]: 16: Hoare triple {256#false} assume ~d~0 == ~SIZE~0;~a~0 := 0;~b~0 := 1; {256#false} is VALID [2022-04-28 03:56:17,984 INFO L272 TraceCheckUtils]: 17: Hoare triple {256#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {256#false} is VALID [2022-04-28 03:56:17,984 INFO L290 TraceCheckUtils]: 18: Hoare triple {256#false} ~cond := #in~cond; {256#false} is VALID [2022-04-28 03:56:17,985 INFO L290 TraceCheckUtils]: 19: Hoare triple {256#false} assume 0 == ~cond; {256#false} is VALID [2022-04-28 03:56:17,985 INFO L290 TraceCheckUtils]: 20: Hoare triple {256#false} assume !false; {256#false} is VALID [2022-04-28 03:56:17,985 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 03:56:17,985 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:56:17,985 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1277133495] [2022-04-28 03:56:17,986 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1277133495] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:17,986 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:17,986 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 03:56:17,986 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:56:17,986 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1379506411] [2022-04-28 03:56:17,986 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1379506411] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:17,986 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:17,986 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 03:56:17,987 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1496849980] [2022-04-28 03:56:17,987 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:56:17,987 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 21 [2022-04-28 03:56:17,988 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:56:17,988 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:18,006 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:18,006 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 03:56:18,006 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:18,007 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 03:56:18,007 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 03:56:18,007 INFO L87 Difference]: Start difference. First operand 27 states and 33 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:18,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:18,208 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-28 03:56:18,209 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 03:56:18,209 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 21 [2022-04-28 03:56:18,209 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:56:18,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:18,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2022-04-28 03:56:18,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:18,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2022-04-28 03:56:18,214 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 60 transitions. [2022-04-28 03:56:18,265 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 03:56:18,267 INFO L225 Difference]: With dead ends: 46 [2022-04-28 03:56:18,267 INFO L226 Difference]: Without dead ends: 31 [2022-04-28 03:56:18,268 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-04-28 03:56:18,269 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 39 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 60 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 25 SdHoareTripleChecker+Invalid, 65 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 60 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 03:56:18,269 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [40 Valid, 25 Invalid, 65 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 60 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 03:56:18,270 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-04-28 03:56:18,311 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 28. [2022-04-28 03:56:18,312 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:56:18,312 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand has 28 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:56:18,312 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand has 28 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:56:18,313 INFO L87 Difference]: Start difference. First operand 31 states. Second operand has 28 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:56:18,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:18,314 INFO L93 Difference]: Finished difference Result 31 states and 38 transitions. [2022-04-28 03:56:18,314 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 38 transitions. [2022-04-28 03:56:18,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:18,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:18,315 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 31 states. [2022-04-28 03:56:18,315 INFO L87 Difference]: Start difference. First operand has 28 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 31 states. [2022-04-28 03:56:18,317 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:18,317 INFO L93 Difference]: Finished difference Result 31 states and 38 transitions. [2022-04-28 03:56:18,317 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 38 transitions. [2022-04-28 03:56:18,317 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:18,317 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:18,317 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:56:18,318 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:56:18,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:56:18,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 34 transitions. [2022-04-28 03:56:18,319 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 34 transitions. Word has length 21 [2022-04-28 03:56:18,319 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:56:18,319 INFO L495 AbstractCegarLoop]: Abstraction has 28 states and 34 transitions. [2022-04-28 03:56:18,319 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:18,320 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 34 transitions. [2022-04-28 03:56:18,348 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:18,348 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 34 transitions. [2022-04-28 03:56:18,348 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-28 03:56:18,349 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:56:18,349 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:56:18,349 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 03:56:18,349 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:56:18,349 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:56:18,350 INFO L85 PathProgramCache]: Analyzing trace with hash -673447056, now seen corresponding path program 1 times [2022-04-28 03:56:18,350 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:18,350 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [893683999] [2022-04-28 03:56:18,711 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:56:18,712 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:56:18,715 INFO L85 PathProgramCache]: Analyzing trace with hash 315662187, now seen corresponding path program 1 times [2022-04-28 03:56:18,715 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:56:18,715 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1832068591] [2022-04-28 03:56:18,715 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:56:18,715 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:56:18,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:18,758 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:56:18,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:18,767 INFO L290 TraceCheckUtils]: 0: Hoare triple {492#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {482#true} is VALID [2022-04-28 03:56:18,767 INFO L290 TraceCheckUtils]: 1: Hoare triple {482#true} assume true; {482#true} is VALID [2022-04-28 03:56:18,768 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {482#true} {482#true} #90#return; {482#true} is VALID [2022-04-28 03:56:18,768 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:56:18,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:18,776 INFO L290 TraceCheckUtils]: 0: Hoare triple {482#true} ~cond := #in~cond; {482#true} is VALID [2022-04-28 03:56:18,777 INFO L290 TraceCheckUtils]: 1: Hoare triple {482#true} assume !(0 == ~cond); {482#true} is VALID [2022-04-28 03:56:18,777 INFO L290 TraceCheckUtils]: 2: Hoare triple {482#true} assume true; {482#true} is VALID [2022-04-28 03:56:18,777 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {482#true} {482#true} #86#return; {482#true} is VALID [2022-04-28 03:56:18,778 INFO L272 TraceCheckUtils]: 0: Hoare triple {482#true} call ULTIMATE.init(); {492#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:56:18,778 INFO L290 TraceCheckUtils]: 1: Hoare triple {492#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {482#true} is VALID [2022-04-28 03:56:18,778 INFO L290 TraceCheckUtils]: 2: Hoare triple {482#true} assume true; {482#true} is VALID [2022-04-28 03:56:18,778 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {482#true} {482#true} #90#return; {482#true} is VALID [2022-04-28 03:56:18,779 INFO L272 TraceCheckUtils]: 4: Hoare triple {482#true} call #t~ret7 := main(); {482#true} is VALID [2022-04-28 03:56:18,779 INFO L290 TraceCheckUtils]: 5: Hoare triple {482#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {482#true} is VALID [2022-04-28 03:56:18,779 INFO L272 TraceCheckUtils]: 6: Hoare triple {482#true} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {482#true} is VALID [2022-04-28 03:56:18,779 INFO L290 TraceCheckUtils]: 7: Hoare triple {482#true} ~cond := #in~cond; {482#true} is VALID [2022-04-28 03:56:18,779 INFO L290 TraceCheckUtils]: 8: Hoare triple {482#true} assume !(0 == ~cond); {482#true} is VALID [2022-04-28 03:56:18,779 INFO L290 TraceCheckUtils]: 9: Hoare triple {482#true} assume true; {482#true} is VALID [2022-04-28 03:56:18,779 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {482#true} {482#true} #86#return; {482#true} is VALID [2022-04-28 03:56:18,780 INFO L290 TraceCheckUtils]: 11: Hoare triple {482#true} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {482#true} is VALID [2022-04-28 03:56:18,780 INFO L290 TraceCheckUtils]: 12: Hoare triple {482#true} assume !false;~st~0 := 1;~c~0 := 0; {482#true} is VALID [2022-04-28 03:56:18,780 INFO L290 TraceCheckUtils]: 13: Hoare triple {482#true} [94] L25-3-->L25-4_primed: Formula: (let ((.cse2 (<= v_~last~0_17 v_main_~c~0_16)) (.cse0 (= v_main_~st~0_11 v_main_~st~0_10)) (.cse1 (= |v_main_#t~post5_4| |v_main_#t~post5_3|))) (or (and .cse0 (= v_main_~c~0_15 v_main_~c~0_16) .cse1 (or (not .cse2) (not (< v_main_~c~0_16 v_~SIZE~0_12)))) (and (= 0 v_main_~st~0_10) (< v_main_~c~0_15 (+ v_~SIZE~0_12 1)) (< v_main_~c~0_16 v_main_~c~0_15) .cse2) (and (= v_main_~c~0_16 v_main_~c~0_15) .cse0 (= v_~last~0_17 v_~last~0_17) .cse1 (= v_~SIZE~0_12 v_~SIZE~0_12)))) InVars {~SIZE~0=v_~SIZE~0_12, main_~c~0=v_main_~c~0_16, main_#t~post5=|v_main_#t~post5_4|, main_~st~0=v_main_~st~0_11, ~last~0=v_~last~0_17} OutVars{~SIZE~0=v_~SIZE~0_12, main_#t~post5=|v_main_#t~post5_3|, main_~c~0=v_main_~c~0_15, main_~st~0=v_main_~st~0_10, ~last~0=v_~last~0_17} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {482#true} is VALID [2022-04-28 03:56:18,780 INFO L290 TraceCheckUtils]: 14: Hoare triple {482#true} [93] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {482#true} is VALID [2022-04-28 03:56:18,781 INFO L290 TraceCheckUtils]: 15: Hoare triple {482#true} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {491#(<= (+ ~last~0 1) main_~c~0)} is VALID [2022-04-28 03:56:18,781 INFO L290 TraceCheckUtils]: 16: Hoare triple {491#(<= (+ ~last~0 1) main_~c~0)} assume ~c~0 == ~last~0 && 0 == ~st~0;~a~0 := 1 + ~a~0; {483#false} is VALID [2022-04-28 03:56:18,781 INFO L290 TraceCheckUtils]: 17: Hoare triple {483#false} assume ~d~0 == ~SIZE~0;~a~0 := 0;~b~0 := 1; {483#false} is VALID [2022-04-28 03:56:18,781 INFO L272 TraceCheckUtils]: 18: Hoare triple {483#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {483#false} is VALID [2022-04-28 03:56:18,782 INFO L290 TraceCheckUtils]: 19: Hoare triple {483#false} ~cond := #in~cond; {483#false} is VALID [2022-04-28 03:56:18,782 INFO L290 TraceCheckUtils]: 20: Hoare triple {483#false} assume 0 == ~cond; {483#false} is VALID [2022-04-28 03:56:18,782 INFO L290 TraceCheckUtils]: 21: Hoare triple {483#false} assume !false; {483#false} is VALID [2022-04-28 03:56:18,782 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 03:56:18,782 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:56:18,783 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1832068591] [2022-04-28 03:56:18,783 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1832068591] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:18,783 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:18,783 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 03:56:18,835 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:56:18,836 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [893683999] [2022-04-28 03:56:18,836 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [893683999] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:18,836 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:18,836 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 03:56:18,836 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [871626023] [2022-04-28 03:56:18,836 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:56:18,837 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 24 [2022-04-28 03:56:18,837 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:56:18,837 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 03:56:18,854 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:18,855 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 03:56:18,855 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:18,855 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 03:56:18,855 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 03:56:18,857 INFO L87 Difference]: Start difference. First operand 28 states and 34 transitions. Second operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 03:56:19,197 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:19,197 INFO L93 Difference]: Finished difference Result 59 states and 82 transitions. [2022-04-28 03:56:19,197 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 03:56:19,198 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 24 [2022-04-28 03:56:19,198 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:56:19,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 03:56:19,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 80 transitions. [2022-04-28 03:56:19,201 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 03:56:19,203 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 80 transitions. [2022-04-28 03:56:19,203 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 80 transitions. [2022-04-28 03:56:19,256 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:19,258 INFO L225 Difference]: With dead ends: 59 [2022-04-28 03:56:19,258 INFO L226 Difference]: Without dead ends: 43 [2022-04-28 03:56:19,258 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2022-04-28 03:56:19,259 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 23 mSDsluCounter, 19 mSDsCounter, 0 mSdLazyCounter, 137 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 25 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 145 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 137 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 03:56:19,259 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [25 Valid, 45 Invalid, 145 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 137 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 03:56:19,260 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-04-28 03:56:19,306 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 35. [2022-04-28 03:56:19,307 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:56:19,307 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand has 35 states, 27 states have (on average 1.3333333333333333) internal successors, (36), 28 states have internal predecessors, (36), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:56:19,307 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand has 35 states, 27 states have (on average 1.3333333333333333) internal successors, (36), 28 states have internal predecessors, (36), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:56:19,307 INFO L87 Difference]: Start difference. First operand 43 states. Second operand has 35 states, 27 states have (on average 1.3333333333333333) internal successors, (36), 28 states have internal predecessors, (36), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:56:19,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:19,310 INFO L93 Difference]: Finished difference Result 43 states and 56 transitions. [2022-04-28 03:56:19,310 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 56 transitions. [2022-04-28 03:56:19,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:19,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:19,311 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 27 states have (on average 1.3333333333333333) internal successors, (36), 28 states have internal predecessors, (36), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 43 states. [2022-04-28 03:56:19,311 INFO L87 Difference]: Start difference. First operand has 35 states, 27 states have (on average 1.3333333333333333) internal successors, (36), 28 states have internal predecessors, (36), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 43 states. [2022-04-28 03:56:19,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:19,313 INFO L93 Difference]: Finished difference Result 43 states and 56 transitions. [2022-04-28 03:56:19,313 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 56 transitions. [2022-04-28 03:56:19,314 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:19,314 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:19,314 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:56:19,314 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:56:19,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 27 states have (on average 1.3333333333333333) internal successors, (36), 28 states have internal predecessors, (36), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:56:19,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 43 transitions. [2022-04-28 03:56:19,315 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 43 transitions. Word has length 24 [2022-04-28 03:56:19,316 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:56:19,316 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 43 transitions. [2022-04-28 03:56:19,316 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 03:56:19,316 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 43 transitions. [2022-04-28 03:56:19,348 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 03:56:19,349 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 43 transitions. [2022-04-28 03:56:19,349 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-28 03:56:19,349 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:56:19,350 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:56:19,350 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-28 03:56:19,354 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:56:19,354 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:56:19,356 INFO L85 PathProgramCache]: Analyzing trace with hash 708533296, now seen corresponding path program 1 times [2022-04-28 03:56:19,357 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:19,361 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1788742056] [2022-04-28 03:56:23,534 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:56:23,702 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:56:23,703 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:56:23,705 INFO L85 PathProgramCache]: Analyzing trace with hash 1961381293, now seen corresponding path program 1 times [2022-04-28 03:56:23,706 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:56:23,706 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [780047940] [2022-04-28 03:56:23,706 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:56:23,706 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:56:23,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:23,740 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:56:23,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:23,748 INFO L290 TraceCheckUtils]: 0: Hoare triple {784#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {774#true} is VALID [2022-04-28 03:56:23,748 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 03:56:23,748 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {774#true} {774#true} #90#return; {774#true} is VALID [2022-04-28 03:56:23,749 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:56:23,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:23,760 INFO L290 TraceCheckUtils]: 0: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 03:56:23,760 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 03:56:23,760 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 03:56:23,761 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #86#return; {774#true} is VALID [2022-04-28 03:56:23,761 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {784#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:56:23,761 INFO L290 TraceCheckUtils]: 1: Hoare triple {784#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {774#true} is VALID [2022-04-28 03:56:23,762 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 03:56:23,762 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #90#return; {774#true} is VALID [2022-04-28 03:56:23,762 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret7 := main(); {774#true} is VALID [2022-04-28 03:56:23,762 INFO L290 TraceCheckUtils]: 5: Hoare triple {774#true} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {774#true} is VALID [2022-04-28 03:56:23,762 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {774#true} is VALID [2022-04-28 03:56:23,762 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 03:56:23,762 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 03:56:23,762 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 03:56:23,762 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #86#return; {774#true} is VALID [2022-04-28 03:56:23,763 INFO L290 TraceCheckUtils]: 11: Hoare triple {774#true} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {774#true} is VALID [2022-04-28 03:56:23,763 INFO L290 TraceCheckUtils]: 12: Hoare triple {774#true} assume !false;~st~0 := 1;~c~0 := 0; {783#(= main_~st~0 1)} is VALID [2022-04-28 03:56:23,763 INFO L290 TraceCheckUtils]: 13: Hoare triple {783#(= main_~st~0 1)} [96] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_23 v_main_~c~0_22)) (.cse1 (= |v_main_#t~post5_9| |v_main_#t~post5_8|))) (or (and (= v_~SIZE~0_14 v_~SIZE~0_14) .cse0 .cse1 (= v_~last~0_19 v_~last~0_19)) (and (< v_main_~c~0_22 (+ v_~last~0_19 1)) (< v_main_~c~0_23 v_main_~c~0_22) (< v_main_~c~0_22 (+ v_~SIZE~0_14 1))) (and (or (not (< v_main_~c~0_23 v_~SIZE~0_14)) (not (< v_main_~c~0_23 v_~last~0_19))) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_14, main_~c~0=v_main_~c~0_23, main_#t~post5=|v_main_#t~post5_9|, ~last~0=v_~last~0_19} OutVars{~SIZE~0=v_~SIZE~0_14, main_#t~post5=|v_main_#t~post5_8|, main_~c~0=v_main_~c~0_22, ~last~0=v_~last~0_19} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {783#(= main_~st~0 1)} is VALID [2022-04-28 03:56:23,764 INFO L290 TraceCheckUtils]: 14: Hoare triple {783#(= main_~st~0 1)} [95] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {783#(= main_~st~0 1)} is VALID [2022-04-28 03:56:23,764 INFO L290 TraceCheckUtils]: 15: Hoare triple {783#(= main_~st~0 1)} assume !(0 == ~st~0 && ~c~0 == 1 + ~last~0);~a~0 := 2 + ~a~0;~b~0 := 2 + ~b~0; {783#(= main_~st~0 1)} is VALID [2022-04-28 03:56:23,765 INFO L290 TraceCheckUtils]: 16: Hoare triple {783#(= main_~st~0 1)} assume ~c~0 == ~last~0 && 0 == ~st~0;~a~0 := 1 + ~a~0; {775#false} is VALID [2022-04-28 03:56:23,765 INFO L290 TraceCheckUtils]: 17: Hoare triple {775#false} assume ~d~0 == ~SIZE~0;~a~0 := 0;~b~0 := 1; {775#false} is VALID [2022-04-28 03:56:23,765 INFO L272 TraceCheckUtils]: 18: Hoare triple {775#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {775#false} is VALID [2022-04-28 03:56:23,765 INFO L290 TraceCheckUtils]: 19: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-28 03:56:23,765 INFO L290 TraceCheckUtils]: 20: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-28 03:56:23,765 INFO L290 TraceCheckUtils]: 21: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-28 03:56:23,765 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 03:56:23,765 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:56:23,766 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [780047940] [2022-04-28 03:56:23,766 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [780047940] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:23,766 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:23,766 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 03:56:23,813 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:56:23,813 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1788742056] [2022-04-28 03:56:23,813 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1788742056] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:23,813 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:23,813 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 03:56:23,813 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1351849891] [2022-04-28 03:56:23,813 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:56:23,814 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 24 [2022-04-28 03:56:23,814 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:56:23,814 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 03:56:23,830 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:23,830 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 03:56:23,830 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:23,831 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 03:56:23,831 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=26, Unknown=0, NotChecked=0, Total=42 [2022-04-28 03:56:23,831 INFO L87 Difference]: Start difference. First operand 35 states and 43 transitions. Second operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 03:56:24,180 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:24,180 INFO L93 Difference]: Finished difference Result 64 states and 85 transitions. [2022-04-28 03:56:24,180 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 03:56:24,180 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 24 [2022-04-28 03:56:24,180 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:56:24,181 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 03:56:24,182 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 75 transitions. [2022-04-28 03:56:24,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 03:56:24,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 75 transitions. [2022-04-28 03:56:24,184 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 75 transitions. [2022-04-28 03:56:24,234 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 03:56:24,236 INFO L225 Difference]: With dead ends: 64 [2022-04-28 03:56:24,236 INFO L226 Difference]: Without dead ends: 41 [2022-04-28 03:56:24,236 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2022-04-28 03:56:24,237 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 20 mSDsluCounter, 24 mSDsCounter, 0 mSdLazyCounter, 155 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 57 SdHoareTripleChecker+Invalid, 164 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 155 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 03:56:24,237 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 57 Invalid, 164 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 155 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 03:56:24,237 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-28 03:56:24,273 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 34. [2022-04-28 03:56:24,274 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:56:24,274 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 34 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 27 states have internal predecessors, (33), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:56:24,274 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 34 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 27 states have internal predecessors, (33), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:56:24,274 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 34 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 27 states have internal predecessors, (33), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:56:24,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:24,276 INFO L93 Difference]: Finished difference Result 41 states and 52 transitions. [2022-04-28 03:56:24,276 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 52 transitions. [2022-04-28 03:56:24,276 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:24,276 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:24,277 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 27 states have internal predecessors, (33), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 41 states. [2022-04-28 03:56:24,277 INFO L87 Difference]: Start difference. First operand has 34 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 27 states have internal predecessors, (33), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 41 states. [2022-04-28 03:56:24,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:24,278 INFO L93 Difference]: Finished difference Result 41 states and 52 transitions. [2022-04-28 03:56:24,278 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 52 transitions. [2022-04-28 03:56:24,278 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:24,279 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:24,279 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:56:24,279 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:56:24,279 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 27 states have internal predecessors, (33), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:56:24,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 40 transitions. [2022-04-28 03:56:24,280 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 40 transitions. Word has length 24 [2022-04-28 03:56:24,280 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:56:24,280 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 40 transitions. [2022-04-28 03:56:24,280 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 03:56:24,280 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 40 transitions. [2022-04-28 03:56:24,315 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 03:56:24,315 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 40 transitions. [2022-04-28 03:56:24,316 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-04-28 03:56:24,316 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:56:24,316 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:56:24,316 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-28 03:56:24,316 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:56:24,316 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:56:24,317 INFO L85 PathProgramCache]: Analyzing trace with hash -2061972965, now seen corresponding path program 1 times [2022-04-28 03:56:24,317 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:24,317 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1692018985] [2022-04-28 03:56:24,554 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:56:24,555 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:56:24,557 INFO L85 PathProgramCache]: Analyzing trace with hash -890294784, now seen corresponding path program 1 times [2022-04-28 03:56:24,557 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:56:24,558 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [643146341] [2022-04-28 03:56:24,558 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:56:24,558 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:56:24,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:24,612 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:56:24,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:24,625 INFO L290 TraceCheckUtils]: 0: Hoare triple {1081#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {1082#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:24,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {1082#(<= 20 ~SIZE~0)} assume true; {1082#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:24,626 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1082#(<= 20 ~SIZE~0)} {1070#true} #90#return; {1075#(not (= ~SIZE~0 0))} is VALID [2022-04-28 03:56:24,626 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:56:24,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:24,630 INFO L290 TraceCheckUtils]: 0: Hoare triple {1070#true} ~cond := #in~cond; {1070#true} is VALID [2022-04-28 03:56:24,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {1070#true} assume !(0 == ~cond); {1070#true} is VALID [2022-04-28 03:56:24,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {1070#true} assume true; {1070#true} is VALID [2022-04-28 03:56:24,631 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1070#true} {1075#(not (= ~SIZE~0 0))} #86#return; {1075#(not (= ~SIZE~0 0))} is VALID [2022-04-28 03:56:24,631 INFO L272 TraceCheckUtils]: 0: Hoare triple {1070#true} call ULTIMATE.init(); {1081#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:56:24,632 INFO L290 TraceCheckUtils]: 1: Hoare triple {1081#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {1082#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:24,632 INFO L290 TraceCheckUtils]: 2: Hoare triple {1082#(<= 20 ~SIZE~0)} assume true; {1082#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:24,633 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1082#(<= 20 ~SIZE~0)} {1070#true} #90#return; {1075#(not (= ~SIZE~0 0))} is VALID [2022-04-28 03:56:24,633 INFO L272 TraceCheckUtils]: 4: Hoare triple {1075#(not (= ~SIZE~0 0))} call #t~ret7 := main(); {1075#(not (= ~SIZE~0 0))} is VALID [2022-04-28 03:56:24,633 INFO L290 TraceCheckUtils]: 5: Hoare triple {1075#(not (= ~SIZE~0 0))} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {1075#(not (= ~SIZE~0 0))} is VALID [2022-04-28 03:56:24,634 INFO L272 TraceCheckUtils]: 6: Hoare triple {1075#(not (= ~SIZE~0 0))} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {1070#true} is VALID [2022-04-28 03:56:24,652 INFO L290 TraceCheckUtils]: 7: Hoare triple {1070#true} ~cond := #in~cond; {1070#true} is VALID [2022-04-28 03:56:24,653 INFO L290 TraceCheckUtils]: 8: Hoare triple {1070#true} assume !(0 == ~cond); {1070#true} is VALID [2022-04-28 03:56:24,653 INFO L290 TraceCheckUtils]: 9: Hoare triple {1070#true} assume true; {1070#true} is VALID [2022-04-28 03:56:24,657 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1070#true} {1075#(not (= ~SIZE~0 0))} #86#return; {1075#(not (= ~SIZE~0 0))} is VALID [2022-04-28 03:56:24,657 INFO L290 TraceCheckUtils]: 11: Hoare triple {1075#(not (= ~SIZE~0 0))} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {1080#(and (= main_~d~0 0) (not (= ~SIZE~0 0)))} is VALID [2022-04-28 03:56:24,658 INFO L290 TraceCheckUtils]: 12: Hoare triple {1080#(and (= main_~d~0 0) (not (= ~SIZE~0 0)))} assume !false;~st~0 := 1;~c~0 := 0; {1080#(and (= main_~d~0 0) (not (= ~SIZE~0 0)))} is VALID [2022-04-28 03:56:24,658 INFO L290 TraceCheckUtils]: 13: Hoare triple {1080#(and (= main_~d~0 0) (not (= ~SIZE~0 0)))} [98] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_21 v_main_~c~0_30)) (.cse1 (= |v_main_#t~post5_14| |v_main_#t~post5_13|))) (or (and (or (not .cse0) (not (< v_main_~c~0_30 v_~SIZE~0_16))) (= v_main_~c~0_29 v_main_~c~0_30) (= v_main_~st~0_15 v_main_~st~0_16) .cse1) (and (< v_main_~c~0_30 v_main_~c~0_29) (= 0 v_main_~st~0_15) (< v_main_~c~0_29 (+ v_~SIZE~0_16 1)) .cse0) (and (= v_main_~c~0_30 v_main_~c~0_29) (= v_~last~0_21 v_~last~0_21) (= v_~SIZE~0_16 v_~SIZE~0_16) .cse1 (= v_main_~st~0_16 v_main_~st~0_15)))) InVars {~SIZE~0=v_~SIZE~0_16, main_~c~0=v_main_~c~0_30, main_#t~post5=|v_main_#t~post5_14|, main_~st~0=v_main_~st~0_16, ~last~0=v_~last~0_21} OutVars{~SIZE~0=v_~SIZE~0_16, main_#t~post5=|v_main_#t~post5_13|, main_~c~0=v_main_~c~0_29, main_~st~0=v_main_~st~0_15, ~last~0=v_~last~0_21} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {1080#(and (= main_~d~0 0) (not (= ~SIZE~0 0)))} is VALID [2022-04-28 03:56:24,659 INFO L290 TraceCheckUtils]: 14: Hoare triple {1080#(and (= main_~d~0 0) (not (= ~SIZE~0 0)))} [97] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {1080#(and (= main_~d~0 0) (not (= ~SIZE~0 0)))} is VALID [2022-04-28 03:56:24,659 INFO L290 TraceCheckUtils]: 15: Hoare triple {1080#(and (= main_~d~0 0) (not (= ~SIZE~0 0)))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {1080#(and (= main_~d~0 0) (not (= ~SIZE~0 0)))} is VALID [2022-04-28 03:56:24,660 INFO L290 TraceCheckUtils]: 16: Hoare triple {1080#(and (= main_~d~0 0) (not (= ~SIZE~0 0)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {1080#(and (= main_~d~0 0) (not (= ~SIZE~0 0)))} is VALID [2022-04-28 03:56:24,662 INFO L290 TraceCheckUtils]: 17: Hoare triple {1080#(and (= main_~d~0 0) (not (= ~SIZE~0 0)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {1080#(and (= main_~d~0 0) (not (= ~SIZE~0 0)))} is VALID [2022-04-28 03:56:24,663 INFO L290 TraceCheckUtils]: 18: Hoare triple {1080#(and (= main_~d~0 0) (not (= ~SIZE~0 0)))} assume ~d~0 == ~SIZE~0;~a~0 := 0;~b~0 := 1; {1071#false} is VALID [2022-04-28 03:56:24,663 INFO L272 TraceCheckUtils]: 19: Hoare triple {1071#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {1071#false} is VALID [2022-04-28 03:56:24,663 INFO L290 TraceCheckUtils]: 20: Hoare triple {1071#false} ~cond := #in~cond; {1071#false} is VALID [2022-04-28 03:56:24,663 INFO L290 TraceCheckUtils]: 21: Hoare triple {1071#false} assume 0 == ~cond; {1071#false} is VALID [2022-04-28 03:56:24,663 INFO L290 TraceCheckUtils]: 22: Hoare triple {1071#false} assume !false; {1071#false} is VALID [2022-04-28 03:56:24,664 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 03:56:24,664 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:56:24,664 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [643146341] [2022-04-28 03:56:24,664 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [643146341] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:24,664 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:24,664 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 03:56:24,737 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:56:24,737 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1692018985] [2022-04-28 03:56:24,737 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1692018985] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:24,737 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:24,737 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 03:56:24,737 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [226211247] [2022-04-28 03:56:24,737 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:56:24,737 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 25 [2022-04-28 03:56:24,738 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:56:24,738 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:24,756 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:24,757 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 03:56:24,757 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:24,757 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 03:56:24,757 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=48, Unknown=0, NotChecked=0, Total=72 [2022-04-28 03:56:24,757 INFO L87 Difference]: Start difference. First operand 34 states and 40 transitions. Second operand has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:25,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:25,161 INFO L93 Difference]: Finished difference Result 77 states and 98 transitions. [2022-04-28 03:56:25,161 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 03:56:25,161 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 25 [2022-04-28 03:56:25,161 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:56:25,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:25,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 82 transitions. [2022-04-28 03:56:25,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:25,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 82 transitions. [2022-04-28 03:56:25,165 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 82 transitions. [2022-04-28 03:56:25,222 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:25,224 INFO L225 Difference]: With dead ends: 77 [2022-04-28 03:56:25,224 INFO L226 Difference]: Without dead ends: 55 [2022-04-28 03:56:25,224 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 9 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=69, Invalid=141, Unknown=0, NotChecked=0, Total=210 [2022-04-28 03:56:25,225 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 111 mSDsluCounter, 10 mSDsCounter, 0 mSdLazyCounter, 94 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 113 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 124 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 94 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 03:56:25,225 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [113 Valid, 29 Invalid, 124 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 94 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 03:56:25,225 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-28 03:56:25,286 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 50. [2022-04-28 03:56:25,286 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:56:25,287 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 50 states, 41 states have (on average 1.2926829268292683) internal successors, (53), 42 states have internal predecessors, (53), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 03:56:25,287 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 50 states, 41 states have (on average 1.2926829268292683) internal successors, (53), 42 states have internal predecessors, (53), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 03:56:25,287 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 50 states, 41 states have (on average 1.2926829268292683) internal successors, (53), 42 states have internal predecessors, (53), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 03:56:25,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:25,289 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-28 03:56:25,289 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-28 03:56:25,289 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:25,289 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:25,289 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 41 states have (on average 1.2926829268292683) internal successors, (53), 42 states have internal predecessors, (53), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 55 states. [2022-04-28 03:56:25,290 INFO L87 Difference]: Start difference. First operand has 50 states, 41 states have (on average 1.2926829268292683) internal successors, (53), 42 states have internal predecessors, (53), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 55 states. [2022-04-28 03:56:25,291 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:25,291 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-28 03:56:25,291 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-28 03:56:25,291 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:25,292 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:25,292 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:56:25,292 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:56:25,292 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 41 states have (on average 1.2926829268292683) internal successors, (53), 42 states have internal predecessors, (53), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 03:56:25,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 62 transitions. [2022-04-28 03:56:25,293 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 62 transitions. Word has length 25 [2022-04-28 03:56:25,293 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:56:25,293 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 62 transitions. [2022-04-28 03:56:25,294 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:25,294 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 62 transitions. [2022-04-28 03:56:25,348 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:25,348 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 62 transitions. [2022-04-28 03:56:25,348 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-04-28 03:56:25,348 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:56:25,348 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:56:25,349 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-04-28 03:56:25,349 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:56:25,349 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:56:25,349 INFO L85 PathProgramCache]: Analyzing trace with hash -2060125923, now seen corresponding path program 1 times [2022-04-28 03:56:25,349 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:25,349 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [820422058] [2022-04-28 03:56:25,599 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:56:25,600 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:56:25,602 INFO L85 PathProgramCache]: Analyzing trace with hash -601416382, now seen corresponding path program 1 times [2022-04-28 03:56:25,602 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:56:25,602 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [753898653] [2022-04-28 03:56:25,602 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:56:25,602 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:56:25,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:25,806 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:56:25,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:25,813 INFO L290 TraceCheckUtils]: 0: Hoare triple {1483#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {1470#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:25,814 INFO L290 TraceCheckUtils]: 1: Hoare triple {1470#(<= 20 ~SIZE~0)} assume true; {1470#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:25,814 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1470#(<= 20 ~SIZE~0)} {1465#true} #90#return; {1470#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:25,814 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:56:25,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:25,818 INFO L290 TraceCheckUtils]: 0: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-28 03:56:25,818 INFO L290 TraceCheckUtils]: 1: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-28 03:56:25,818 INFO L290 TraceCheckUtils]: 2: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-28 03:56:25,819 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1465#true} {1470#(<= 20 ~SIZE~0)} #86#return; {1470#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:25,819 INFO L272 TraceCheckUtils]: 0: Hoare triple {1465#true} call ULTIMATE.init(); {1483#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:56:25,820 INFO L290 TraceCheckUtils]: 1: Hoare triple {1483#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {1470#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:25,820 INFO L290 TraceCheckUtils]: 2: Hoare triple {1470#(<= 20 ~SIZE~0)} assume true; {1470#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:25,821 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1470#(<= 20 ~SIZE~0)} {1465#true} #90#return; {1470#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:25,821 INFO L272 TraceCheckUtils]: 4: Hoare triple {1470#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {1470#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:25,821 INFO L290 TraceCheckUtils]: 5: Hoare triple {1470#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {1470#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:25,821 INFO L272 TraceCheckUtils]: 6: Hoare triple {1470#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {1465#true} is VALID [2022-04-28 03:56:25,821 INFO L290 TraceCheckUtils]: 7: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-28 03:56:25,822 INFO L290 TraceCheckUtils]: 8: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-28 03:56:25,822 INFO L290 TraceCheckUtils]: 9: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-28 03:56:25,822 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1465#true} {1470#(<= 20 ~SIZE~0)} #86#return; {1470#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:25,823 INFO L290 TraceCheckUtils]: 11: Hoare triple {1470#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {1475#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:56:25,823 INFO L290 TraceCheckUtils]: 12: Hoare triple {1475#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {1476#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:56:25,824 INFO L290 TraceCheckUtils]: 13: Hoare triple {1476#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [100] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_37 v_main_~c~0_36)) (.cse1 (= v_main_~st~0_21 v_main_~st~0_20)) (.cse2 (= |v_main_#t~post5_19| |v_main_#t~post5_18|)) (.cse3 (<= v_~last~0_23 v_main_~c~0_37))) (or (and (= v_~last~0_23 v_~last~0_23) .cse0 .cse1 .cse2 (= v_~SIZE~0_18 v_~SIZE~0_18)) (and (or (not .cse3) (not (< v_main_~c~0_37 v_~SIZE~0_18))) .cse0 .cse1 .cse2) (and (< v_main_~c~0_36 (+ v_~SIZE~0_18 1)) .cse3 (< v_main_~c~0_37 v_main_~c~0_36) (= 0 v_main_~st~0_20)))) InVars {~SIZE~0=v_~SIZE~0_18, main_~c~0=v_main_~c~0_37, main_#t~post5=|v_main_#t~post5_19|, main_~st~0=v_main_~st~0_21, ~last~0=v_~last~0_23} OutVars{~SIZE~0=v_~SIZE~0_18, main_#t~post5=|v_main_#t~post5_18|, main_~c~0=v_main_~c~0_36, main_~st~0=v_main_~st~0_20, ~last~0=v_~last~0_23} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {1477#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:56:25,824 INFO L290 TraceCheckUtils]: 14: Hoare triple {1477#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [99] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {1478#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:56:25,825 INFO L290 TraceCheckUtils]: 15: Hoare triple {1478#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {1479#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:25,826 INFO L290 TraceCheckUtils]: 16: Hoare triple {1479#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {1479#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:25,826 INFO L290 TraceCheckUtils]: 17: Hoare triple {1479#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {1480#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:25,827 INFO L290 TraceCheckUtils]: 18: Hoare triple {1480#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {1480#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:25,828 INFO L272 TraceCheckUtils]: 19: Hoare triple {1480#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {1481#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:56:25,828 INFO L290 TraceCheckUtils]: 20: Hoare triple {1481#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1482#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:56:25,828 INFO L290 TraceCheckUtils]: 21: Hoare triple {1482#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1466#false} is VALID [2022-04-28 03:56:25,828 INFO L290 TraceCheckUtils]: 22: Hoare triple {1466#false} assume !false; {1466#false} is VALID [2022-04-28 03:56:25,829 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 03:56:25,829 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:56:25,829 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [753898653] [2022-04-28 03:56:25,829 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [753898653] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:25,829 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:25,829 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 03:56:26,008 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:56:26,009 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [820422058] [2022-04-28 03:56:26,009 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [820422058] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:26,009 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:26,009 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 03:56:26,009 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1915619599] [2022-04-28 03:56:26,009 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:56:26,009 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.3571428571428572) internal successors, (19), 12 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 25 [2022-04-28 03:56:26,010 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:56:26,010 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 1.3571428571428572) internal successors, (19), 12 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:26,027 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:26,028 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 03:56:26,028 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:26,028 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 03:56:26,028 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=191, Unknown=0, NotChecked=0, Total=240 [2022-04-28 03:56:26,029 INFO L87 Difference]: Start difference. First operand 50 states and 62 transitions. Second operand has 14 states, 14 states have (on average 1.3571428571428572) internal successors, (19), 12 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:26,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:26,866 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-04-28 03:56:26,866 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 03:56:26,867 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.3571428571428572) internal successors, (19), 12 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 25 [2022-04-28 03:56:26,867 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:56:26,867 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.3571428571428572) internal successors, (19), 12 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:26,869 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 81 transitions. [2022-04-28 03:56:26,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.3571428571428572) internal successors, (19), 12 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:26,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 81 transitions. [2022-04-28 03:56:26,872 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 81 transitions. [2022-04-28 03:56:26,947 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:26,951 INFO L225 Difference]: With dead ends: 114 [2022-04-28 03:56:26,951 INFO L226 Difference]: Without dead ends: 76 [2022-04-28 03:56:26,951 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 69 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=99, Invalid=407, Unknown=0, NotChecked=0, Total=506 [2022-04-28 03:56:26,953 INFO L413 NwaCegarLoop]: 17 mSDtfsCounter, 72 mSDsluCounter, 35 mSDsCounter, 0 mSdLazyCounter, 305 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 52 SdHoareTripleChecker+Invalid, 331 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 305 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 03:56:26,953 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [73 Valid, 52 Invalid, 331 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 305 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 03:56:26,954 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-28 03:56:27,051 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 65. [2022-04-28 03:56:27,051 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:56:27,051 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 65 states, 54 states have (on average 1.2592592592592593) internal successors, (68), 55 states have internal predecessors, (68), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 03:56:27,052 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 65 states, 54 states have (on average 1.2592592592592593) internal successors, (68), 55 states have internal predecessors, (68), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 03:56:27,052 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 65 states, 54 states have (on average 1.2592592592592593) internal successors, (68), 55 states have internal predecessors, (68), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 03:56:27,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:27,055 INFO L93 Difference]: Finished difference Result 76 states and 94 transitions. [2022-04-28 03:56:27,055 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 94 transitions. [2022-04-28 03:56:27,055 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:27,055 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:27,056 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 54 states have (on average 1.2592592592592593) internal successors, (68), 55 states have internal predecessors, (68), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 76 states. [2022-04-28 03:56:27,057 INFO L87 Difference]: Start difference. First operand has 65 states, 54 states have (on average 1.2592592592592593) internal successors, (68), 55 states have internal predecessors, (68), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 76 states. [2022-04-28 03:56:27,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:27,059 INFO L93 Difference]: Finished difference Result 76 states and 94 transitions. [2022-04-28 03:56:27,059 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 94 transitions. [2022-04-28 03:56:27,060 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:27,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:27,060 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:56:27,060 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:56:27,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 54 states have (on average 1.2592592592592593) internal successors, (68), 55 states have internal predecessors, (68), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 03:56:27,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 79 transitions. [2022-04-28 03:56:27,063 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 79 transitions. Word has length 25 [2022-04-28 03:56:27,063 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:56:27,063 INFO L495 AbstractCegarLoop]: Abstraction has 65 states and 79 transitions. [2022-04-28 03:56:27,063 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 1.3571428571428572) internal successors, (19), 12 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:27,063 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 79 transitions. [2022-04-28 03:56:27,160 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 03:56:27,160 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 79 transitions. [2022-04-28 03:56:27,161 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-04-28 03:56:27,161 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:56:27,161 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:56:27,161 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-04-28 03:56:27,161 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:56:27,161 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:56:27,162 INFO L85 PathProgramCache]: Analyzing trace with hash 2067453981, now seen corresponding path program 1 times [2022-04-28 03:56:27,162 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:27,162 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1049553796] [2022-04-28 03:56:27,658 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:56:27,743 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:56:27,744 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:56:27,745 INFO L85 PathProgramCache]: Analyzing trace with hash -1182836992, now seen corresponding path program 1 times [2022-04-28 03:56:27,746 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:56:27,746 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [260988504] [2022-04-28 03:56:27,746 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:56:27,746 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:56:27,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:27,802 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:56:27,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:27,808 INFO L290 TraceCheckUtils]: 0: Hoare triple {2027#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {2020#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:27,808 INFO L290 TraceCheckUtils]: 1: Hoare triple {2020#(<= 20 ~SIZE~0)} assume true; {2020#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:27,809 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2020#(<= 20 ~SIZE~0)} {2015#true} #90#return; {2020#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:27,809 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:56:27,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:27,812 INFO L290 TraceCheckUtils]: 0: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-28 03:56:27,812 INFO L290 TraceCheckUtils]: 1: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-28 03:56:27,812 INFO L290 TraceCheckUtils]: 2: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-28 03:56:27,812 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2015#true} {2020#(<= 20 ~SIZE~0)} #86#return; {2020#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:27,813 INFO L272 TraceCheckUtils]: 0: Hoare triple {2015#true} call ULTIMATE.init(); {2027#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:56:27,813 INFO L290 TraceCheckUtils]: 1: Hoare triple {2027#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {2020#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:27,814 INFO L290 TraceCheckUtils]: 2: Hoare triple {2020#(<= 20 ~SIZE~0)} assume true; {2020#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:27,814 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2020#(<= 20 ~SIZE~0)} {2015#true} #90#return; {2020#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:27,814 INFO L272 TraceCheckUtils]: 4: Hoare triple {2020#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {2020#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:27,814 INFO L290 TraceCheckUtils]: 5: Hoare triple {2020#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {2020#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:27,815 INFO L272 TraceCheckUtils]: 6: Hoare triple {2020#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {2015#true} is VALID [2022-04-28 03:56:27,815 INFO L290 TraceCheckUtils]: 7: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-28 03:56:27,815 INFO L290 TraceCheckUtils]: 8: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-28 03:56:27,815 INFO L290 TraceCheckUtils]: 9: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-28 03:56:27,815 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2015#true} {2020#(<= 20 ~SIZE~0)} #86#return; {2020#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:27,816 INFO L290 TraceCheckUtils]: 11: Hoare triple {2020#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {2025#(and (= main_~d~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:56:27,816 INFO L290 TraceCheckUtils]: 12: Hoare triple {2025#(and (= main_~d~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {2025#(and (= main_~d~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:56:27,817 INFO L290 TraceCheckUtils]: 13: Hoare triple {2025#(and (= main_~d~0 0) (<= 20 ~SIZE~0))} [102] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_44 v_main_~c~0_43)) (.cse1 (= |v_main_#t~post5_24| |v_main_#t~post5_23|))) (or (and (or (not (< v_main_~c~0_44 v_~last~0_25)) (not (< v_main_~c~0_44 v_~SIZE~0_20))) .cse0 .cse1) (and .cse0 .cse1 (= v_~last~0_25 v_~last~0_25) (= v_~SIZE~0_20 v_~SIZE~0_20)) (and (< v_main_~c~0_44 v_main_~c~0_43) (< v_main_~c~0_43 (+ v_~SIZE~0_20 1)) (< v_main_~c~0_43 (+ v_~last~0_25 1))))) InVars {~SIZE~0=v_~SIZE~0_20, main_~c~0=v_main_~c~0_44, main_#t~post5=|v_main_#t~post5_24|, ~last~0=v_~last~0_25} OutVars{~SIZE~0=v_~SIZE~0_20, main_#t~post5=|v_main_#t~post5_23|, main_~c~0=v_main_~c~0_43, ~last~0=v_~last~0_25} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {2025#(and (= main_~d~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:56:27,817 INFO L290 TraceCheckUtils]: 14: Hoare triple {2025#(and (= main_~d~0 0) (<= 20 ~SIZE~0))} [101] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {2025#(and (= main_~d~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:56:27,817 INFO L290 TraceCheckUtils]: 15: Hoare triple {2025#(and (= main_~d~0 0) (<= 20 ~SIZE~0))} assume !(0 == ~st~0 && ~c~0 == 1 + ~last~0);~a~0 := 2 + ~a~0;~b~0 := 2 + ~b~0; {2025#(and (= main_~d~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:56:27,818 INFO L290 TraceCheckUtils]: 16: Hoare triple {2025#(and (= main_~d~0 0) (<= 20 ~SIZE~0))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {2025#(and (= main_~d~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:56:27,818 INFO L290 TraceCheckUtils]: 17: Hoare triple {2025#(and (= main_~d~0 0) (<= 20 ~SIZE~0))} assume 1 == ~st~0 && ~last~0 >= ~SIZE~0;#t~post6 := ~d~0;~d~0 := 1 + #t~post6;havoc #t~post6; {2026#(<= (+ 19 main_~d~0) ~SIZE~0)} is VALID [2022-04-28 03:56:27,819 INFO L290 TraceCheckUtils]: 18: Hoare triple {2026#(<= (+ 19 main_~d~0) ~SIZE~0)} assume ~d~0 == ~SIZE~0;~a~0 := 0;~b~0 := 1; {2016#false} is VALID [2022-04-28 03:56:27,819 INFO L272 TraceCheckUtils]: 19: Hoare triple {2016#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {2016#false} is VALID [2022-04-28 03:56:27,819 INFO L290 TraceCheckUtils]: 20: Hoare triple {2016#false} ~cond := #in~cond; {2016#false} is VALID [2022-04-28 03:56:27,819 INFO L290 TraceCheckUtils]: 21: Hoare triple {2016#false} assume 0 == ~cond; {2016#false} is VALID [2022-04-28 03:56:27,819 INFO L290 TraceCheckUtils]: 22: Hoare triple {2016#false} assume !false; {2016#false} is VALID [2022-04-28 03:56:27,819 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 03:56:27,819 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:56:27,819 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [260988504] [2022-04-28 03:56:27,819 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [260988504] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:27,820 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:27,820 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 03:56:27,880 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:56:27,881 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1049553796] [2022-04-28 03:56:27,881 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1049553796] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:27,881 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:27,881 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 03:56:27,881 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1252127117] [2022-04-28 03:56:27,881 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:56:27,881 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 25 [2022-04-28 03:56:27,881 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:56:27,882 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:27,897 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:27,897 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 03:56:27,897 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:27,897 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 03:56:27,897 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=44, Unknown=0, NotChecked=0, Total=72 [2022-04-28 03:56:27,897 INFO L87 Difference]: Start difference. First operand 65 states and 79 transitions. Second operand has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:28,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:28,417 INFO L93 Difference]: Finished difference Result 108 states and 137 transitions. [2022-04-28 03:56:28,417 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 03:56:28,418 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 25 [2022-04-28 03:56:28,418 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:56:28,418 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:28,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 96 transitions. [2022-04-28 03:56:28,424 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:28,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 96 transitions. [2022-04-28 03:56:28,428 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 96 transitions. [2022-04-28 03:56:28,505 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:28,506 INFO L225 Difference]: With dead ends: 108 [2022-04-28 03:56:28,506 INFO L226 Difference]: Without dead ends: 86 [2022-04-28 03:56:28,507 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=49, Invalid=83, Unknown=0, NotChecked=0, Total=132 [2022-04-28 03:56:28,507 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 87 mSDsluCounter, 19 mSDsCounter, 0 mSdLazyCounter, 140 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 90 SdHoareTripleChecker+Valid, 42 SdHoareTripleChecker+Invalid, 161 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 140 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 03:56:28,507 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [90 Valid, 42 Invalid, 161 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 140 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 03:56:28,508 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-28 03:56:28,628 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 81. [2022-04-28 03:56:28,628 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:56:28,628 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand has 81 states, 69 states have (on average 1.2753623188405796) internal successors, (88), 70 states have internal predecessors, (88), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 03:56:28,629 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand has 81 states, 69 states have (on average 1.2753623188405796) internal successors, (88), 70 states have internal predecessors, (88), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 03:56:28,629 INFO L87 Difference]: Start difference. First operand 86 states. Second operand has 81 states, 69 states have (on average 1.2753623188405796) internal successors, (88), 70 states have internal predecessors, (88), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 03:56:28,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:28,632 INFO L93 Difference]: Finished difference Result 86 states and 108 transitions. [2022-04-28 03:56:28,632 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 108 transitions. [2022-04-28 03:56:28,632 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:28,632 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:28,632 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 69 states have (on average 1.2753623188405796) internal successors, (88), 70 states have internal predecessors, (88), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 86 states. [2022-04-28 03:56:28,632 INFO L87 Difference]: Start difference. First operand has 81 states, 69 states have (on average 1.2753623188405796) internal successors, (88), 70 states have internal predecessors, (88), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 86 states. [2022-04-28 03:56:28,635 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:28,635 INFO L93 Difference]: Finished difference Result 86 states and 108 transitions. [2022-04-28 03:56:28,635 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 108 transitions. [2022-04-28 03:56:28,635 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:28,635 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:28,635 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:56:28,635 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:56:28,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 69 states have (on average 1.2753623188405796) internal successors, (88), 70 states have internal predecessors, (88), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 03:56:28,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 101 transitions. [2022-04-28 03:56:28,638 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 101 transitions. Word has length 25 [2022-04-28 03:56:28,638 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:56:28,638 INFO L495 AbstractCegarLoop]: Abstraction has 81 states and 101 transitions. [2022-04-28 03:56:28,638 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:28,638 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 81 states and 101 transitions. [2022-04-28 03:56:28,730 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:28,730 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 101 transitions. [2022-04-28 03:56:28,730 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-04-28 03:56:28,731 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:56:28,731 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:56:28,731 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-04-28 03:56:28,731 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:56:28,731 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:56:28,731 INFO L85 PathProgramCache]: Analyzing trace with hash 2069301023, now seen corresponding path program 1 times [2022-04-28 03:56:28,731 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:28,731 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [707350210] [2022-04-28 03:56:31,955 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:56:32,075 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:56:32,076 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:56:32,079 INFO L85 PathProgramCache]: Analyzing trace with hash -893958590, now seen corresponding path program 1 times [2022-04-28 03:56:32,079 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:56:32,079 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2126018497] [2022-04-28 03:56:32,079 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:56:32,079 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:56:32,089 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:32,252 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:56:32,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:32,261 INFO L290 TraceCheckUtils]: 0: Hoare triple {2608#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {2595#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:32,261 INFO L290 TraceCheckUtils]: 1: Hoare triple {2595#(<= 20 ~SIZE~0)} assume true; {2595#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:32,262 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2595#(<= 20 ~SIZE~0)} {2590#true} #90#return; {2595#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:32,262 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:56:32,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:32,265 INFO L290 TraceCheckUtils]: 0: Hoare triple {2590#true} ~cond := #in~cond; {2590#true} is VALID [2022-04-28 03:56:32,265 INFO L290 TraceCheckUtils]: 1: Hoare triple {2590#true} assume !(0 == ~cond); {2590#true} is VALID [2022-04-28 03:56:32,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {2590#true} assume true; {2590#true} is VALID [2022-04-28 03:56:32,265 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2590#true} {2595#(<= 20 ~SIZE~0)} #86#return; {2595#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:32,266 INFO L272 TraceCheckUtils]: 0: Hoare triple {2590#true} call ULTIMATE.init(); {2608#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:56:32,267 INFO L290 TraceCheckUtils]: 1: Hoare triple {2608#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {2595#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:32,267 INFO L290 TraceCheckUtils]: 2: Hoare triple {2595#(<= 20 ~SIZE~0)} assume true; {2595#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:32,267 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2595#(<= 20 ~SIZE~0)} {2590#true} #90#return; {2595#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:32,268 INFO L272 TraceCheckUtils]: 4: Hoare triple {2595#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {2595#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:32,268 INFO L290 TraceCheckUtils]: 5: Hoare triple {2595#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {2595#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:32,268 INFO L272 TraceCheckUtils]: 6: Hoare triple {2595#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {2590#true} is VALID [2022-04-28 03:56:32,268 INFO L290 TraceCheckUtils]: 7: Hoare triple {2590#true} ~cond := #in~cond; {2590#true} is VALID [2022-04-28 03:56:32,268 INFO L290 TraceCheckUtils]: 8: Hoare triple {2590#true} assume !(0 == ~cond); {2590#true} is VALID [2022-04-28 03:56:32,268 INFO L290 TraceCheckUtils]: 9: Hoare triple {2590#true} assume true; {2590#true} is VALID [2022-04-28 03:56:32,269 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2590#true} {2595#(<= 20 ~SIZE~0)} #86#return; {2595#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:32,269 INFO L290 TraceCheckUtils]: 11: Hoare triple {2595#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {2600#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:56:32,269 INFO L290 TraceCheckUtils]: 12: Hoare triple {2600#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {2601#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:56:32,270 INFO L290 TraceCheckUtils]: 13: Hoare triple {2601#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [104] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_51 v_main_~c~0_50)) (.cse1 (= |v_main_#t~post5_29| |v_main_#t~post5_28|))) (or (and .cse0 (= v_~last~0_27 v_~last~0_27) (= v_~SIZE~0_22 v_~SIZE~0_22) .cse1) (and (or (not (< v_main_~c~0_51 v_~SIZE~0_22)) (not (< v_main_~c~0_51 v_~last~0_27))) .cse0 .cse1) (and (< v_main_~c~0_50 (+ v_~SIZE~0_22 1)) (< v_main_~c~0_51 v_main_~c~0_50) (< v_main_~c~0_50 (+ v_~last~0_27 1))))) InVars {~SIZE~0=v_~SIZE~0_22, main_~c~0=v_main_~c~0_51, main_#t~post5=|v_main_#t~post5_29|, ~last~0=v_~last~0_27} OutVars{~SIZE~0=v_~SIZE~0_22, main_#t~post5=|v_main_#t~post5_28|, main_~c~0=v_main_~c~0_50, ~last~0=v_~last~0_27} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {2602#(and (or (<= (+ ~last~0 20) ~SIZE~0) (= main_~c~0 0) (and (= main_~a~0 0) (not (<= (+ ~SIZE~0 1) main_~c~0)) (= main_~b~0 0))) (or (not (= main_~c~0 0)) (<= 20 ~SIZE~0)))} is VALID [2022-04-28 03:56:32,271 INFO L290 TraceCheckUtils]: 14: Hoare triple {2602#(and (or (<= (+ ~last~0 20) ~SIZE~0) (= main_~c~0 0) (and (= main_~a~0 0) (not (<= (+ ~SIZE~0 1) main_~c~0)) (= main_~b~0 0))) (or (not (= main_~c~0 0)) (<= 20 ~SIZE~0)))} [103] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {2603#(and (not (= main_~c~0 0)) (or (and (= main_~a~0 0) (= (+ ~SIZE~0 (* (- 1) main_~c~0)) 0) (= main_~b~0 0)) (<= (+ ~last~0 20) ~SIZE~0)))} is VALID [2022-04-28 03:56:32,272 INFO L290 TraceCheckUtils]: 15: Hoare triple {2603#(and (not (= main_~c~0 0)) (or (and (= main_~a~0 0) (= (+ ~SIZE~0 (* (- 1) main_~c~0)) 0) (= main_~b~0 0)) (<= (+ ~last~0 20) ~SIZE~0)))} assume !(0 == ~st~0 && ~c~0 == 1 + ~last~0);~a~0 := 2 + ~a~0;~b~0 := 2 + ~b~0; {2604#(and (not (= main_~c~0 0)) (or (and (= (+ ~SIZE~0 (* (- 1) main_~c~0)) 0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1))) (<= (+ ~last~0 20) ~SIZE~0)))} is VALID [2022-04-28 03:56:32,272 INFO L290 TraceCheckUtils]: 16: Hoare triple {2604#(and (not (= main_~c~0 0)) (or (and (= (+ ~SIZE~0 (* (- 1) main_~c~0)) 0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1))) (<= (+ ~last~0 20) ~SIZE~0)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {2604#(and (not (= main_~c~0 0)) (or (and (= (+ ~SIZE~0 (* (- 1) main_~c~0)) 0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1))) (<= (+ ~last~0 20) ~SIZE~0)))} is VALID [2022-04-28 03:56:32,273 INFO L290 TraceCheckUtils]: 17: Hoare triple {2604#(and (not (= main_~c~0 0)) (or (and (= (+ ~SIZE~0 (* (- 1) main_~c~0)) 0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1))) (<= (+ ~last~0 20) ~SIZE~0)))} assume 1 == ~st~0 && ~last~0 >= ~SIZE~0;#t~post6 := ~d~0;~d~0 := 1 + #t~post6;havoc #t~post6; {2605#(and (not (= main_~c~0 0)) (= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:32,273 INFO L290 TraceCheckUtils]: 18: Hoare triple {2605#(and (not (= main_~c~0 0)) (= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {2605#(and (not (= main_~c~0 0)) (= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:32,274 INFO L272 TraceCheckUtils]: 19: Hoare triple {2605#(and (not (= main_~c~0 0)) (= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {2606#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:56:32,274 INFO L290 TraceCheckUtils]: 20: Hoare triple {2606#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {2607#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:56:32,274 INFO L290 TraceCheckUtils]: 21: Hoare triple {2607#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {2591#false} is VALID [2022-04-28 03:56:32,275 INFO L290 TraceCheckUtils]: 22: Hoare triple {2591#false} assume !false; {2591#false} is VALID [2022-04-28 03:56:32,275 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 03:56:32,275 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:56:32,275 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2126018497] [2022-04-28 03:56:32,275 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2126018497] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:32,275 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:32,275 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 03:56:32,402 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:56:32,403 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [707350210] [2022-04-28 03:56:32,403 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [707350210] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:32,403 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:32,403 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 03:56:32,403 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1525552707] [2022-04-28 03:56:32,403 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:56:32,403 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.3571428571428572) internal successors, (19), 12 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 25 [2022-04-28 03:56:32,403 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:56:32,404 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 1.3571428571428572) internal successors, (19), 12 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:32,442 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:32,443 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 03:56:32,443 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:32,443 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 03:56:32,443 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-28 03:56:32,444 INFO L87 Difference]: Start difference. First operand 81 states and 101 transitions. Second operand has 14 states, 14 states have (on average 1.3571428571428572) internal successors, (19), 12 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:33,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:33,332 INFO L93 Difference]: Finished difference Result 106 states and 132 transitions. [2022-04-28 03:56:33,332 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 03:56:33,332 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.3571428571428572) internal successors, (19), 12 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 25 [2022-04-28 03:56:33,333 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:56:33,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.3571428571428572) internal successors, (19), 12 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:33,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 63 transitions. [2022-04-28 03:56:33,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.3571428571428572) internal successors, (19), 12 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:33,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 63 transitions. [2022-04-28 03:56:33,335 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 63 transitions. [2022-04-28 03:56:33,381 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:33,382 INFO L225 Difference]: With dead ends: 106 [2022-04-28 03:56:33,382 INFO L226 Difference]: Without dead ends: 104 [2022-04-28 03:56:33,383 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 107 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=113, Invalid=439, Unknown=0, NotChecked=0, Total=552 [2022-04-28 03:56:33,383 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 54 mSDsluCounter, 39 mSDsCounter, 0 mSdLazyCounter, 337 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 61 SdHoareTripleChecker+Invalid, 354 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 337 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 03:56:33,383 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [55 Valid, 61 Invalid, 354 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 337 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 03:56:33,384 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-28 03:56:33,533 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 95. [2022-04-28 03:56:33,533 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:56:33,533 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 95 states, 80 states have (on average 1.275) internal successors, (102), 83 states have internal predecessors, (102), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:33,534 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 95 states, 80 states have (on average 1.275) internal successors, (102), 83 states have internal predecessors, (102), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:33,534 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 95 states, 80 states have (on average 1.275) internal successors, (102), 83 states have internal predecessors, (102), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:33,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:33,538 INFO L93 Difference]: Finished difference Result 104 states and 130 transitions. [2022-04-28 03:56:33,538 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 130 transitions. [2022-04-28 03:56:33,539 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:33,539 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:33,539 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 80 states have (on average 1.275) internal successors, (102), 83 states have internal predecessors, (102), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 104 states. [2022-04-28 03:56:33,539 INFO L87 Difference]: Start difference. First operand has 95 states, 80 states have (on average 1.275) internal successors, (102), 83 states have internal predecessors, (102), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 104 states. [2022-04-28 03:56:33,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:33,541 INFO L93 Difference]: Finished difference Result 104 states and 130 transitions. [2022-04-28 03:56:33,541 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 130 transitions. [2022-04-28 03:56:33,541 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:33,541 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:33,542 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:56:33,542 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:56:33,542 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 80 states have (on average 1.275) internal successors, (102), 83 states have internal predecessors, (102), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:33,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 119 transitions. [2022-04-28 03:56:33,544 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 119 transitions. Word has length 25 [2022-04-28 03:56:33,544 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:56:33,544 INFO L495 AbstractCegarLoop]: Abstraction has 95 states and 119 transitions. [2022-04-28 03:56:33,544 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 1.3571428571428572) internal successors, (19), 12 states have internal predecessors, (19), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:33,544 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 95 states and 119 transitions. [2022-04-28 03:56:33,639 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:33,640 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 119 transitions. [2022-04-28 03:56:33,640 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 03:56:33,640 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:56:33,640 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:56:33,640 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-04-28 03:56:33,641 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:56:33,641 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:56:33,641 INFO L85 PathProgramCache]: Analyzing trace with hash 1643345404, now seen corresponding path program 1 times [2022-04-28 03:56:33,641 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:33,641 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [730448679] [2022-04-28 03:56:36,425 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:56:36,529 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:56:36,745 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:56:36,746 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:56:36,749 INFO L85 PathProgramCache]: Analyzing trace with hash 1445312577, now seen corresponding path program 1 times [2022-04-28 03:56:36,750 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:56:36,750 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [237039103] [2022-04-28 03:56:36,750 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:56:36,750 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:56:36,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:36,922 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:56:36,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:36,928 INFO L290 TraceCheckUtils]: 0: Hoare triple {3260#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:36,929 INFO L290 TraceCheckUtils]: 1: Hoare triple {3247#(<= 20 ~SIZE~0)} assume true; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:36,929 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3247#(<= 20 ~SIZE~0)} {3242#true} #90#return; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:36,929 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:56:36,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:36,932 INFO L290 TraceCheckUtils]: 0: Hoare triple {3242#true} ~cond := #in~cond; {3242#true} is VALID [2022-04-28 03:56:36,932 INFO L290 TraceCheckUtils]: 1: Hoare triple {3242#true} assume !(0 == ~cond); {3242#true} is VALID [2022-04-28 03:56:36,932 INFO L290 TraceCheckUtils]: 2: Hoare triple {3242#true} assume true; {3242#true} is VALID [2022-04-28 03:56:36,933 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3242#true} {3247#(<= 20 ~SIZE~0)} #86#return; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:36,933 INFO L272 TraceCheckUtils]: 0: Hoare triple {3242#true} call ULTIMATE.init(); {3260#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:56:36,934 INFO L290 TraceCheckUtils]: 1: Hoare triple {3260#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:36,934 INFO L290 TraceCheckUtils]: 2: Hoare triple {3247#(<= 20 ~SIZE~0)} assume true; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:36,935 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3247#(<= 20 ~SIZE~0)} {3242#true} #90#return; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:36,935 INFO L272 TraceCheckUtils]: 4: Hoare triple {3247#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:36,935 INFO L290 TraceCheckUtils]: 5: Hoare triple {3247#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:36,936 INFO L272 TraceCheckUtils]: 6: Hoare triple {3247#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {3242#true} is VALID [2022-04-28 03:56:36,936 INFO L290 TraceCheckUtils]: 7: Hoare triple {3242#true} ~cond := #in~cond; {3242#true} is VALID [2022-04-28 03:56:36,936 INFO L290 TraceCheckUtils]: 8: Hoare triple {3242#true} assume !(0 == ~cond); {3242#true} is VALID [2022-04-28 03:56:36,936 INFO L290 TraceCheckUtils]: 9: Hoare triple {3242#true} assume true; {3242#true} is VALID [2022-04-28 03:56:36,936 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3242#true} {3247#(<= 20 ~SIZE~0)} #86#return; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:36,937 INFO L290 TraceCheckUtils]: 11: Hoare triple {3247#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {3252#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:56:36,937 INFO L290 TraceCheckUtils]: 12: Hoare triple {3252#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {3253#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:56:36,938 INFO L290 TraceCheckUtils]: 13: Hoare triple {3253#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [106] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_29 v_main_~c~0_58)) (.cse1 (= v_main_~c~0_58 v_main_~c~0_57)) (.cse2 (= |v_main_#t~post5_35| |v_main_#t~post5_33|))) (or (and (or (not (< v_main_~c~0_58 v_~SIZE~0_24)) (not .cse0)) (= v_main_~st~0_26 v_main_~st~0_27) .cse1 .cse2) (and (= 0 v_main_~st~0_26) (< v_main_~c~0_57 (+ v_~SIZE~0_24 1)) (< v_main_~c~0_58 v_main_~c~0_57) .cse0) (and (= v_~SIZE~0_24 v_~SIZE~0_24) (= v_~last~0_29 v_~last~0_29) .cse1 .cse2 (= v_main_~st~0_27 v_main_~st~0_26)))) InVars {~SIZE~0=v_~SIZE~0_24, main_~c~0=v_main_~c~0_58, main_#t~post5=|v_main_#t~post5_35|, main_~st~0=v_main_~st~0_27, ~last~0=v_~last~0_29} OutVars{~SIZE~0=v_~SIZE~0_24, main_#t~post5=|v_main_#t~post5_33|, main_~c~0=v_main_~c~0_57, main_~st~0=v_main_~st~0_26, ~last~0=v_~last~0_29} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {3254#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:56:36,938 INFO L290 TraceCheckUtils]: 14: Hoare triple {3254#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [107] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3254#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:56:36,939 INFO L290 TraceCheckUtils]: 15: Hoare triple {3254#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [108] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_38| |v_main_#t~post5_34|)) (.cse1 (= v_main_~c~0_60 v_main_~c~0_59))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_60 v_~SIZE~0_25)) (not (< v_main_~c~0_60 v_~last~0_30)))) (and (< v_main_~c~0_60 v_main_~c~0_59) (< v_main_~c~0_59 (+ v_~last~0_30 1)) (< v_main_~c~0_59 (+ v_~SIZE~0_25 1))) (and (= v_~last~0_30 v_~last~0_30) (= v_~SIZE~0_25 v_~SIZE~0_25) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_25, main_~c~0=v_main_~c~0_60, main_#t~post5=|v_main_#t~post5_38|, ~last~0=v_~last~0_30} OutVars{~SIZE~0=v_~SIZE~0_25, main_#t~post5=|v_main_#t~post5_34|, main_~c~0=v_main_~c~0_59, ~last~0=v_~last~0_30} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {3254#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:56:36,940 INFO L290 TraceCheckUtils]: 16: Hoare triple {3254#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [105] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {3255#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:56:36,940 INFO L290 TraceCheckUtils]: 17: Hoare triple {3255#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {3256#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:36,941 INFO L290 TraceCheckUtils]: 18: Hoare triple {3256#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {3256#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:36,941 INFO L290 TraceCheckUtils]: 19: Hoare triple {3256#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {3257#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:36,942 INFO L290 TraceCheckUtils]: 20: Hoare triple {3257#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {3257#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:36,942 INFO L272 TraceCheckUtils]: 21: Hoare triple {3257#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {3258#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:56:36,943 INFO L290 TraceCheckUtils]: 22: Hoare triple {3258#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {3259#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:56:36,943 INFO L290 TraceCheckUtils]: 23: Hoare triple {3259#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {3243#false} is VALID [2022-04-28 03:56:36,943 INFO L290 TraceCheckUtils]: 24: Hoare triple {3243#false} assume !false; {3243#false} is VALID [2022-04-28 03:56:36,943 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:56:36,944 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:56:36,944 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [237039103] [2022-04-28 03:56:36,944 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [237039103] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:56:36,944 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [945552504] [2022-04-28 03:56:36,944 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:56:36,944 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:56:36,944 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:56:36,951 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 03:56:36,952 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 03:56:36,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:36,996 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:56:37,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:37,013 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:56:37,349 INFO L272 TraceCheckUtils]: 0: Hoare triple {3242#true} call ULTIMATE.init(); {3242#true} is VALID [2022-04-28 03:56:37,349 INFO L290 TraceCheckUtils]: 1: Hoare triple {3242#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:37,350 INFO L290 TraceCheckUtils]: 2: Hoare triple {3247#(<= 20 ~SIZE~0)} assume true; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:37,350 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3247#(<= 20 ~SIZE~0)} {3242#true} #90#return; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:37,350 INFO L272 TraceCheckUtils]: 4: Hoare triple {3247#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:37,351 INFO L290 TraceCheckUtils]: 5: Hoare triple {3247#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:37,351 INFO L272 TraceCheckUtils]: 6: Hoare triple {3247#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:37,352 INFO L290 TraceCheckUtils]: 7: Hoare triple {3247#(<= 20 ~SIZE~0)} ~cond := #in~cond; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:37,352 INFO L290 TraceCheckUtils]: 8: Hoare triple {3247#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:37,352 INFO L290 TraceCheckUtils]: 9: Hoare triple {3247#(<= 20 ~SIZE~0)} assume true; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:37,353 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3247#(<= 20 ~SIZE~0)} {3247#(<= 20 ~SIZE~0)} #86#return; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:37,353 INFO L290 TraceCheckUtils]: 11: Hoare triple {3247#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:37,353 INFO L290 TraceCheckUtils]: 12: Hoare triple {3247#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {3300#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:56:37,354 INFO L290 TraceCheckUtils]: 13: Hoare triple {3300#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [106] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_29 v_main_~c~0_58)) (.cse1 (= v_main_~c~0_58 v_main_~c~0_57)) (.cse2 (= |v_main_#t~post5_35| |v_main_#t~post5_33|))) (or (and (or (not (< v_main_~c~0_58 v_~SIZE~0_24)) (not .cse0)) (= v_main_~st~0_26 v_main_~st~0_27) .cse1 .cse2) (and (= 0 v_main_~st~0_26) (< v_main_~c~0_57 (+ v_~SIZE~0_24 1)) (< v_main_~c~0_58 v_main_~c~0_57) .cse0) (and (= v_~SIZE~0_24 v_~SIZE~0_24) (= v_~last~0_29 v_~last~0_29) .cse1 .cse2 (= v_main_~st~0_27 v_main_~st~0_26)))) InVars {~SIZE~0=v_~SIZE~0_24, main_~c~0=v_main_~c~0_58, main_#t~post5=|v_main_#t~post5_35|, main_~st~0=v_main_~st~0_27, ~last~0=v_~last~0_29} OutVars{~SIZE~0=v_~SIZE~0_24, main_#t~post5=|v_main_#t~post5_33|, main_~c~0=v_main_~c~0_57, main_~st~0=v_main_~st~0_26, ~last~0=v_~last~0_29} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {3304#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:56:37,355 INFO L290 TraceCheckUtils]: 14: Hoare triple {3304#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [107] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3304#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:56:37,356 INFO L290 TraceCheckUtils]: 15: Hoare triple {3304#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [108] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_38| |v_main_#t~post5_34|)) (.cse1 (= v_main_~c~0_60 v_main_~c~0_59))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_60 v_~SIZE~0_25)) (not (< v_main_~c~0_60 v_~last~0_30)))) (and (< v_main_~c~0_60 v_main_~c~0_59) (< v_main_~c~0_59 (+ v_~last~0_30 1)) (< v_main_~c~0_59 (+ v_~SIZE~0_25 1))) (and (= v_~last~0_30 v_~last~0_30) (= v_~SIZE~0_25 v_~SIZE~0_25) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_25, main_~c~0=v_main_~c~0_60, main_#t~post5=|v_main_#t~post5_38|, ~last~0=v_~last~0_30} OutVars{~SIZE~0=v_~SIZE~0_25, main_#t~post5=|v_main_#t~post5_34|, main_~c~0=v_main_~c~0_59, ~last~0=v_~last~0_30} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {3304#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:56:37,356 INFO L290 TraceCheckUtils]: 16: Hoare triple {3304#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [105] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {3314#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:56:37,357 INFO L290 TraceCheckUtils]: 17: Hoare triple {3314#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {3243#false} is VALID [2022-04-28 03:56:37,357 INFO L290 TraceCheckUtils]: 18: Hoare triple {3243#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {3243#false} is VALID [2022-04-28 03:56:37,357 INFO L290 TraceCheckUtils]: 19: Hoare triple {3243#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {3243#false} is VALID [2022-04-28 03:56:37,357 INFO L290 TraceCheckUtils]: 20: Hoare triple {3243#false} assume !(~d~0 == ~SIZE~0); {3243#false} is VALID [2022-04-28 03:56:37,357 INFO L272 TraceCheckUtils]: 21: Hoare triple {3243#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {3243#false} is VALID [2022-04-28 03:56:37,357 INFO L290 TraceCheckUtils]: 22: Hoare triple {3243#false} ~cond := #in~cond; {3243#false} is VALID [2022-04-28 03:56:37,357 INFO L290 TraceCheckUtils]: 23: Hoare triple {3243#false} assume 0 == ~cond; {3243#false} is VALID [2022-04-28 03:56:37,358 INFO L290 TraceCheckUtils]: 24: Hoare triple {3243#false} assume !false; {3243#false} is VALID [2022-04-28 03:56:37,358 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:56:37,358 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:56:37,792 INFO L290 TraceCheckUtils]: 24: Hoare triple {3243#false} assume !false; {3243#false} is VALID [2022-04-28 03:56:37,792 INFO L290 TraceCheckUtils]: 23: Hoare triple {3243#false} assume 0 == ~cond; {3243#false} is VALID [2022-04-28 03:56:37,792 INFO L290 TraceCheckUtils]: 22: Hoare triple {3243#false} ~cond := #in~cond; {3243#false} is VALID [2022-04-28 03:56:37,793 INFO L272 TraceCheckUtils]: 21: Hoare triple {3243#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {3243#false} is VALID [2022-04-28 03:56:37,793 INFO L290 TraceCheckUtils]: 20: Hoare triple {3243#false} assume !(~d~0 == ~SIZE~0); {3243#false} is VALID [2022-04-28 03:56:37,793 INFO L290 TraceCheckUtils]: 19: Hoare triple {3243#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {3243#false} is VALID [2022-04-28 03:56:37,793 INFO L290 TraceCheckUtils]: 18: Hoare triple {3243#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {3243#false} is VALID [2022-04-28 03:56:37,793 INFO L290 TraceCheckUtils]: 17: Hoare triple {3360#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {3243#false} is VALID [2022-04-28 03:56:37,794 INFO L290 TraceCheckUtils]: 16: Hoare triple {3364#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [105] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {3360#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:56:37,794 INFO L290 TraceCheckUtils]: 15: Hoare triple {3364#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [108] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_38| |v_main_#t~post5_34|)) (.cse1 (= v_main_~c~0_60 v_main_~c~0_59))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_60 v_~SIZE~0_25)) (not (< v_main_~c~0_60 v_~last~0_30)))) (and (< v_main_~c~0_60 v_main_~c~0_59) (< v_main_~c~0_59 (+ v_~last~0_30 1)) (< v_main_~c~0_59 (+ v_~SIZE~0_25 1))) (and (= v_~last~0_30 v_~last~0_30) (= v_~SIZE~0_25 v_~SIZE~0_25) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_25, main_~c~0=v_main_~c~0_60, main_#t~post5=|v_main_#t~post5_38|, ~last~0=v_~last~0_30} OutVars{~SIZE~0=v_~SIZE~0_25, main_#t~post5=|v_main_#t~post5_34|, main_~c~0=v_main_~c~0_59, ~last~0=v_~last~0_30} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {3364#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:56:37,795 INFO L290 TraceCheckUtils]: 14: Hoare triple {3364#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [107] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3364#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:56:37,796 INFO L290 TraceCheckUtils]: 13: Hoare triple {3374#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [106] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_29 v_main_~c~0_58)) (.cse1 (= v_main_~c~0_58 v_main_~c~0_57)) (.cse2 (= |v_main_#t~post5_35| |v_main_#t~post5_33|))) (or (and (or (not (< v_main_~c~0_58 v_~SIZE~0_24)) (not .cse0)) (= v_main_~st~0_26 v_main_~st~0_27) .cse1 .cse2) (and (= 0 v_main_~st~0_26) (< v_main_~c~0_57 (+ v_~SIZE~0_24 1)) (< v_main_~c~0_58 v_main_~c~0_57) .cse0) (and (= v_~SIZE~0_24 v_~SIZE~0_24) (= v_~last~0_29 v_~last~0_29) .cse1 .cse2 (= v_main_~st~0_27 v_main_~st~0_26)))) InVars {~SIZE~0=v_~SIZE~0_24, main_~c~0=v_main_~c~0_58, main_#t~post5=|v_main_#t~post5_35|, main_~st~0=v_main_~st~0_27, ~last~0=v_~last~0_29} OutVars{~SIZE~0=v_~SIZE~0_24, main_#t~post5=|v_main_#t~post5_33|, main_~c~0=v_main_~c~0_57, main_~st~0=v_main_~st~0_26, ~last~0=v_~last~0_29} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {3364#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:56:37,797 INFO L290 TraceCheckUtils]: 12: Hoare triple {3378#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {3374#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:56:37,797 INFO L290 TraceCheckUtils]: 11: Hoare triple {3378#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {3378#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:37,798 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3242#true} {3378#(< 1 ~SIZE~0)} #86#return; {3378#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:37,798 INFO L290 TraceCheckUtils]: 9: Hoare triple {3242#true} assume true; {3242#true} is VALID [2022-04-28 03:56:37,799 INFO L290 TraceCheckUtils]: 8: Hoare triple {3242#true} assume !(0 == ~cond); {3242#true} is VALID [2022-04-28 03:56:37,799 INFO L290 TraceCheckUtils]: 7: Hoare triple {3242#true} ~cond := #in~cond; {3242#true} is VALID [2022-04-28 03:56:37,799 INFO L272 TraceCheckUtils]: 6: Hoare triple {3378#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {3242#true} is VALID [2022-04-28 03:56:37,799 INFO L290 TraceCheckUtils]: 5: Hoare triple {3378#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {3378#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:37,800 INFO L272 TraceCheckUtils]: 4: Hoare triple {3378#(< 1 ~SIZE~0)} call #t~ret7 := main(); {3378#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:37,800 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3378#(< 1 ~SIZE~0)} {3242#true} #90#return; {3378#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:37,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {3378#(< 1 ~SIZE~0)} assume true; {3378#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:37,801 INFO L290 TraceCheckUtils]: 1: Hoare triple {3242#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {3378#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:37,802 INFO L272 TraceCheckUtils]: 0: Hoare triple {3242#true} call ULTIMATE.init(); {3242#true} is VALID [2022-04-28 03:56:37,802 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:56:37,802 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [945552504] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:56:37,802 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:56:37,802 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:56:38,092 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:56:38,093 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [730448679] [2022-04-28 03:56:38,093 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [730448679] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:38,093 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:38,093 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 03:56:38,093 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [483603215] [2022-04-28 03:56:38,093 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:56:38,094 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.375) internal successors, (22), 14 states have internal predecessors, (22), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 28 [2022-04-28 03:56:38,094 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:56:38,094 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 1.375) internal successors, (22), 14 states have internal predecessors, (22), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:38,118 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:38,119 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 03:56:38,119 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:38,119 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 03:56:38,119 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=119, Invalid=481, Unknown=0, NotChecked=0, Total=600 [2022-04-28 03:56:38,120 INFO L87 Difference]: Start difference. First operand 95 states and 119 transitions. Second operand has 16 states, 16 states have (on average 1.375) internal successors, (22), 14 states have internal predecessors, (22), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:38,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:38,874 INFO L93 Difference]: Finished difference Result 172 states and 221 transitions. [2022-04-28 03:56:38,874 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 03:56:38,874 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.375) internal successors, (22), 14 states have internal predecessors, (22), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 28 [2022-04-28 03:56:38,874 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:56:38,874 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.375) internal successors, (22), 14 states have internal predecessors, (22), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:38,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 74 transitions. [2022-04-28 03:56:38,876 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.375) internal successors, (22), 14 states have internal predecessors, (22), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:38,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 74 transitions. [2022-04-28 03:56:38,877 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 74 transitions. [2022-04-28 03:56:38,928 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 03:56:38,930 INFO L225 Difference]: With dead ends: 172 [2022-04-28 03:56:38,930 INFO L226 Difference]: Without dead ends: 107 [2022-04-28 03:56:38,930 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 48 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 162 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=131, Invalid=571, Unknown=0, NotChecked=0, Total=702 [2022-04-28 03:56:38,931 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 46 mSDsluCounter, 38 mSDsCounter, 0 mSdLazyCounter, 356 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 58 SdHoareTripleChecker+Invalid, 367 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 356 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 03:56:38,931 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [47 Valid, 58 Invalid, 367 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 356 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 03:56:38,931 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2022-04-28 03:56:39,120 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 100. [2022-04-28 03:56:39,120 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:56:39,120 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand has 100 states, 85 states have (on average 1.2705882352941176) internal successors, (108), 88 states have internal predecessors, (108), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:39,121 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand has 100 states, 85 states have (on average 1.2705882352941176) internal successors, (108), 88 states have internal predecessors, (108), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:39,121 INFO L87 Difference]: Start difference. First operand 107 states. Second operand has 100 states, 85 states have (on average 1.2705882352941176) internal successors, (108), 88 states have internal predecessors, (108), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:39,123 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:39,123 INFO L93 Difference]: Finished difference Result 107 states and 134 transitions. [2022-04-28 03:56:39,123 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 134 transitions. [2022-04-28 03:56:39,124 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:39,124 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:39,124 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 85 states have (on average 1.2705882352941176) internal successors, (108), 88 states have internal predecessors, (108), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 107 states. [2022-04-28 03:56:39,124 INFO L87 Difference]: Start difference. First operand has 100 states, 85 states have (on average 1.2705882352941176) internal successors, (108), 88 states have internal predecessors, (108), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 107 states. [2022-04-28 03:56:39,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:39,126 INFO L93 Difference]: Finished difference Result 107 states and 134 transitions. [2022-04-28 03:56:39,126 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 134 transitions. [2022-04-28 03:56:39,126 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:39,126 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:39,126 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:56:39,126 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:56:39,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 85 states have (on average 1.2705882352941176) internal successors, (108), 88 states have internal predecessors, (108), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:39,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 125 transitions. [2022-04-28 03:56:39,128 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 125 transitions. Word has length 28 [2022-04-28 03:56:39,128 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:56:39,128 INFO L495 AbstractCegarLoop]: Abstraction has 100 states and 125 transitions. [2022-04-28 03:56:39,129 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 1.375) internal successors, (22), 14 states have internal predecessors, (22), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:39,129 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 100 states and 125 transitions. [2022-04-28 03:56:39,213 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:39,213 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 125 transitions. [2022-04-28 03:56:39,213 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-28 03:56:39,213 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:56:39,213 INFO L195 NwaCegarLoop]: trace histogram [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] [2022-04-28 03:56:39,237 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 03:56:39,414 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:56:39,414 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:56:39,415 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:56:39,415 INFO L85 PathProgramCache]: Analyzing trace with hash -646101633, now seen corresponding path program 2 times [2022-04-28 03:56:39,415 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:39,415 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1525703122] [2022-04-28 03:56:39,607 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:56:43,742 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:56:43,873 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:56:43,874 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:56:43,877 INFO L85 PathProgramCache]: Analyzing trace with hash -357131967, now seen corresponding path program 1 times [2022-04-28 03:56:43,878 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:56:43,878 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2046081385] [2022-04-28 03:56:43,878 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:56:43,878 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:56:43,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:44,080 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:56:44,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:44,089 INFO L290 TraceCheckUtils]: 0: Hoare triple {4204#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,089 INFO L290 TraceCheckUtils]: 1: Hoare triple {4191#(<= 20 ~SIZE~0)} assume true; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,090 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4191#(<= 20 ~SIZE~0)} {4186#true} #90#return; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,090 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:56:44,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:44,093 INFO L290 TraceCheckUtils]: 0: Hoare triple {4186#true} ~cond := #in~cond; {4186#true} is VALID [2022-04-28 03:56:44,093 INFO L290 TraceCheckUtils]: 1: Hoare triple {4186#true} assume !(0 == ~cond); {4186#true} is VALID [2022-04-28 03:56:44,094 INFO L290 TraceCheckUtils]: 2: Hoare triple {4186#true} assume true; {4186#true} is VALID [2022-04-28 03:56:44,094 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4186#true} {4191#(<= 20 ~SIZE~0)} #86#return; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,095 INFO L272 TraceCheckUtils]: 0: Hoare triple {4186#true} call ULTIMATE.init(); {4204#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:56:44,095 INFO L290 TraceCheckUtils]: 1: Hoare triple {4204#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,096 INFO L290 TraceCheckUtils]: 2: Hoare triple {4191#(<= 20 ~SIZE~0)} assume true; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,096 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4191#(<= 20 ~SIZE~0)} {4186#true} #90#return; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,096 INFO L272 TraceCheckUtils]: 4: Hoare triple {4191#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,097 INFO L290 TraceCheckUtils]: 5: Hoare triple {4191#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,097 INFO L272 TraceCheckUtils]: 6: Hoare triple {4191#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {4186#true} is VALID [2022-04-28 03:56:44,097 INFO L290 TraceCheckUtils]: 7: Hoare triple {4186#true} ~cond := #in~cond; {4186#true} is VALID [2022-04-28 03:56:44,097 INFO L290 TraceCheckUtils]: 8: Hoare triple {4186#true} assume !(0 == ~cond); {4186#true} is VALID [2022-04-28 03:56:44,097 INFO L290 TraceCheckUtils]: 9: Hoare triple {4186#true} assume true; {4186#true} is VALID [2022-04-28 03:56:44,097 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4186#true} {4191#(<= 20 ~SIZE~0)} #86#return; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,098 INFO L290 TraceCheckUtils]: 11: Hoare triple {4191#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {4196#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:56:44,098 INFO L290 TraceCheckUtils]: 12: Hoare triple {4196#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {4197#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:56:44,099 INFO L290 TraceCheckUtils]: 13: Hoare triple {4197#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [110] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_39 v_main_~c~0_77)) (.cse1 (= v_main_~c~0_77 v_main_~c~0_76)) (.cse2 (= v_main_~st~0_37 v_main_~st~0_36)) (.cse3 (= |v_main_#t~post5_48| |v_main_#t~post5_46|))) (or (and .cse0 (< v_main_~c~0_76 (+ v_~SIZE~0_33 1)) (< v_main_~c~0_77 v_main_~c~0_76) (= 0 v_main_~st~0_36)) (and .cse1 .cse2 .cse3 (or (not .cse0) (not (< v_main_~c~0_77 v_~SIZE~0_33)))) (and (= v_~SIZE~0_33 v_~SIZE~0_33) .cse1 .cse2 .cse3 (= v_~last~0_39 v_~last~0_39)))) InVars {~SIZE~0=v_~SIZE~0_33, main_~c~0=v_main_~c~0_77, main_#t~post5=|v_main_#t~post5_48|, main_~st~0=v_main_~st~0_37, ~last~0=v_~last~0_39} OutVars{~SIZE~0=v_~SIZE~0_33, main_#t~post5=|v_main_#t~post5_46|, main_~c~0=v_main_~c~0_76, main_~st~0=v_main_~st~0_36, ~last~0=v_~last~0_39} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {4198#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:56:44,100 INFO L290 TraceCheckUtils]: 14: Hoare triple {4198#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [111] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4198#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:56:44,100 INFO L290 TraceCheckUtils]: 15: Hoare triple {4198#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [112] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_51| |v_main_#t~post5_47|)) (.cse1 (= v_main_~c~0_79 v_main_~c~0_78))) (or (and (or (not (< v_main_~c~0_79 v_~last~0_40)) (not (< v_main_~c~0_79 v_~SIZE~0_34))) .cse0 .cse1) (and (< v_main_~c~0_79 v_main_~c~0_78) (< v_main_~c~0_78 (+ v_~SIZE~0_34 1)) (< v_main_~c~0_78 (+ v_~last~0_40 1))) (and .cse0 .cse1 (= v_~SIZE~0_34 v_~SIZE~0_34) (= v_~last~0_40 v_~last~0_40)))) InVars {~SIZE~0=v_~SIZE~0_34, main_~c~0=v_main_~c~0_79, main_#t~post5=|v_main_#t~post5_51|, ~last~0=v_~last~0_40} OutVars{~SIZE~0=v_~SIZE~0_34, main_#t~post5=|v_main_#t~post5_47|, main_~c~0=v_main_~c~0_78, ~last~0=v_~last~0_40} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {4198#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:56:44,101 INFO L290 TraceCheckUtils]: 16: Hoare triple {4198#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [109] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {4199#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:56:44,102 INFO L290 TraceCheckUtils]: 17: Hoare triple {4199#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {4200#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:44,102 INFO L290 TraceCheckUtils]: 18: Hoare triple {4200#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {4200#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:44,103 INFO L290 TraceCheckUtils]: 19: Hoare triple {4200#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {4201#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:44,103 INFO L290 TraceCheckUtils]: 20: Hoare triple {4201#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {4201#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:44,104 INFO L272 TraceCheckUtils]: 21: Hoare triple {4201#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {4202#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:56:44,104 INFO L290 TraceCheckUtils]: 22: Hoare triple {4202#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {4203#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:56:44,104 INFO L290 TraceCheckUtils]: 23: Hoare triple {4203#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {4187#false} is VALID [2022-04-28 03:56:44,105 INFO L290 TraceCheckUtils]: 24: Hoare triple {4187#false} assume !false; {4187#false} is VALID [2022-04-28 03:56:44,105 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:56:44,105 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:56:44,105 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2046081385] [2022-04-28 03:56:44,105 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2046081385] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:56:44,105 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1577898809] [2022-04-28 03:56:44,105 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:56:44,105 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:56:44,106 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:56:44,107 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 03:56:44,109 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 03:56:44,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:44,140 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:56:44,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:44,148 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:56:44,517 INFO L272 TraceCheckUtils]: 0: Hoare triple {4186#true} call ULTIMATE.init(); {4186#true} is VALID [2022-04-28 03:56:44,518 INFO L290 TraceCheckUtils]: 1: Hoare triple {4186#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,518 INFO L290 TraceCheckUtils]: 2: Hoare triple {4191#(<= 20 ~SIZE~0)} assume true; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,518 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4191#(<= 20 ~SIZE~0)} {4186#true} #90#return; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,518 INFO L272 TraceCheckUtils]: 4: Hoare triple {4191#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,519 INFO L290 TraceCheckUtils]: 5: Hoare triple {4191#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,519 INFO L272 TraceCheckUtils]: 6: Hoare triple {4191#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,519 INFO L290 TraceCheckUtils]: 7: Hoare triple {4191#(<= 20 ~SIZE~0)} ~cond := #in~cond; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,520 INFO L290 TraceCheckUtils]: 8: Hoare triple {4191#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,520 INFO L290 TraceCheckUtils]: 9: Hoare triple {4191#(<= 20 ~SIZE~0)} assume true; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,520 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4191#(<= 20 ~SIZE~0)} {4191#(<= 20 ~SIZE~0)} #86#return; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,521 INFO L290 TraceCheckUtils]: 11: Hoare triple {4191#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:44,521 INFO L290 TraceCheckUtils]: 12: Hoare triple {4191#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {4244#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:56:44,522 INFO L290 TraceCheckUtils]: 13: Hoare triple {4244#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [110] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_39 v_main_~c~0_77)) (.cse1 (= v_main_~c~0_77 v_main_~c~0_76)) (.cse2 (= v_main_~st~0_37 v_main_~st~0_36)) (.cse3 (= |v_main_#t~post5_48| |v_main_#t~post5_46|))) (or (and .cse0 (< v_main_~c~0_76 (+ v_~SIZE~0_33 1)) (< v_main_~c~0_77 v_main_~c~0_76) (= 0 v_main_~st~0_36)) (and .cse1 .cse2 .cse3 (or (not .cse0) (not (< v_main_~c~0_77 v_~SIZE~0_33)))) (and (= v_~SIZE~0_33 v_~SIZE~0_33) .cse1 .cse2 .cse3 (= v_~last~0_39 v_~last~0_39)))) InVars {~SIZE~0=v_~SIZE~0_33, main_~c~0=v_main_~c~0_77, main_#t~post5=|v_main_#t~post5_48|, main_~st~0=v_main_~st~0_37, ~last~0=v_~last~0_39} OutVars{~SIZE~0=v_~SIZE~0_33, main_#t~post5=|v_main_#t~post5_46|, main_~c~0=v_main_~c~0_76, main_~st~0=v_main_~st~0_36, ~last~0=v_~last~0_39} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {4248#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:56:44,522 INFO L290 TraceCheckUtils]: 14: Hoare triple {4248#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [111] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4248#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:56:44,523 INFO L290 TraceCheckUtils]: 15: Hoare triple {4248#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [112] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_51| |v_main_#t~post5_47|)) (.cse1 (= v_main_~c~0_79 v_main_~c~0_78))) (or (and (or (not (< v_main_~c~0_79 v_~last~0_40)) (not (< v_main_~c~0_79 v_~SIZE~0_34))) .cse0 .cse1) (and (< v_main_~c~0_79 v_main_~c~0_78) (< v_main_~c~0_78 (+ v_~SIZE~0_34 1)) (< v_main_~c~0_78 (+ v_~last~0_40 1))) (and .cse0 .cse1 (= v_~SIZE~0_34 v_~SIZE~0_34) (= v_~last~0_40 v_~last~0_40)))) InVars {~SIZE~0=v_~SIZE~0_34, main_~c~0=v_main_~c~0_79, main_#t~post5=|v_main_#t~post5_51|, ~last~0=v_~last~0_40} OutVars{~SIZE~0=v_~SIZE~0_34, main_#t~post5=|v_main_#t~post5_47|, main_~c~0=v_main_~c~0_78, ~last~0=v_~last~0_40} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {4248#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:56:44,523 INFO L290 TraceCheckUtils]: 16: Hoare triple {4248#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [109] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {4258#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:56:44,524 INFO L290 TraceCheckUtils]: 17: Hoare triple {4258#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {4187#false} is VALID [2022-04-28 03:56:44,524 INFO L290 TraceCheckUtils]: 18: Hoare triple {4187#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {4187#false} is VALID [2022-04-28 03:56:44,524 INFO L290 TraceCheckUtils]: 19: Hoare triple {4187#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {4187#false} is VALID [2022-04-28 03:56:44,524 INFO L290 TraceCheckUtils]: 20: Hoare triple {4187#false} assume !(~d~0 == ~SIZE~0); {4187#false} is VALID [2022-04-28 03:56:44,524 INFO L272 TraceCheckUtils]: 21: Hoare triple {4187#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {4187#false} is VALID [2022-04-28 03:56:44,524 INFO L290 TraceCheckUtils]: 22: Hoare triple {4187#false} ~cond := #in~cond; {4187#false} is VALID [2022-04-28 03:56:44,524 INFO L290 TraceCheckUtils]: 23: Hoare triple {4187#false} assume 0 == ~cond; {4187#false} is VALID [2022-04-28 03:56:44,525 INFO L290 TraceCheckUtils]: 24: Hoare triple {4187#false} assume !false; {4187#false} is VALID [2022-04-28 03:56:44,525 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:56:44,525 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:56:44,867 INFO L290 TraceCheckUtils]: 24: Hoare triple {4187#false} assume !false; {4187#false} is VALID [2022-04-28 03:56:44,867 INFO L290 TraceCheckUtils]: 23: Hoare triple {4187#false} assume 0 == ~cond; {4187#false} is VALID [2022-04-28 03:56:44,867 INFO L290 TraceCheckUtils]: 22: Hoare triple {4187#false} ~cond := #in~cond; {4187#false} is VALID [2022-04-28 03:56:44,867 INFO L272 TraceCheckUtils]: 21: Hoare triple {4187#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {4187#false} is VALID [2022-04-28 03:56:44,867 INFO L290 TraceCheckUtils]: 20: Hoare triple {4187#false} assume !(~d~0 == ~SIZE~0); {4187#false} is VALID [2022-04-28 03:56:44,868 INFO L290 TraceCheckUtils]: 19: Hoare triple {4187#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {4187#false} is VALID [2022-04-28 03:56:44,868 INFO L290 TraceCheckUtils]: 18: Hoare triple {4187#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {4187#false} is VALID [2022-04-28 03:56:44,871 INFO L290 TraceCheckUtils]: 17: Hoare triple {4304#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {4187#false} is VALID [2022-04-28 03:56:44,872 INFO L290 TraceCheckUtils]: 16: Hoare triple {4308#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [109] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {4304#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:56:44,872 INFO L290 TraceCheckUtils]: 15: Hoare triple {4308#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [112] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_51| |v_main_#t~post5_47|)) (.cse1 (= v_main_~c~0_79 v_main_~c~0_78))) (or (and (or (not (< v_main_~c~0_79 v_~last~0_40)) (not (< v_main_~c~0_79 v_~SIZE~0_34))) .cse0 .cse1) (and (< v_main_~c~0_79 v_main_~c~0_78) (< v_main_~c~0_78 (+ v_~SIZE~0_34 1)) (< v_main_~c~0_78 (+ v_~last~0_40 1))) (and .cse0 .cse1 (= v_~SIZE~0_34 v_~SIZE~0_34) (= v_~last~0_40 v_~last~0_40)))) InVars {~SIZE~0=v_~SIZE~0_34, main_~c~0=v_main_~c~0_79, main_#t~post5=|v_main_#t~post5_51|, ~last~0=v_~last~0_40} OutVars{~SIZE~0=v_~SIZE~0_34, main_#t~post5=|v_main_#t~post5_47|, main_~c~0=v_main_~c~0_78, ~last~0=v_~last~0_40} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {4308#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:56:44,874 INFO L290 TraceCheckUtils]: 14: Hoare triple {4308#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [111] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4308#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:56:44,875 INFO L290 TraceCheckUtils]: 13: Hoare triple {4318#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [110] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_39 v_main_~c~0_77)) (.cse1 (= v_main_~c~0_77 v_main_~c~0_76)) (.cse2 (= v_main_~st~0_37 v_main_~st~0_36)) (.cse3 (= |v_main_#t~post5_48| |v_main_#t~post5_46|))) (or (and .cse0 (< v_main_~c~0_76 (+ v_~SIZE~0_33 1)) (< v_main_~c~0_77 v_main_~c~0_76) (= 0 v_main_~st~0_36)) (and .cse1 .cse2 .cse3 (or (not .cse0) (not (< v_main_~c~0_77 v_~SIZE~0_33)))) (and (= v_~SIZE~0_33 v_~SIZE~0_33) .cse1 .cse2 .cse3 (= v_~last~0_39 v_~last~0_39)))) InVars {~SIZE~0=v_~SIZE~0_33, main_~c~0=v_main_~c~0_77, main_#t~post5=|v_main_#t~post5_48|, main_~st~0=v_main_~st~0_37, ~last~0=v_~last~0_39} OutVars{~SIZE~0=v_~SIZE~0_33, main_#t~post5=|v_main_#t~post5_46|, main_~c~0=v_main_~c~0_76, main_~st~0=v_main_~st~0_36, ~last~0=v_~last~0_39} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {4308#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:56:44,876 INFO L290 TraceCheckUtils]: 12: Hoare triple {4322#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {4318#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:56:44,876 INFO L290 TraceCheckUtils]: 11: Hoare triple {4322#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {4322#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:44,876 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4186#true} {4322#(< 1 ~SIZE~0)} #86#return; {4322#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:44,876 INFO L290 TraceCheckUtils]: 9: Hoare triple {4186#true} assume true; {4186#true} is VALID [2022-04-28 03:56:44,877 INFO L290 TraceCheckUtils]: 8: Hoare triple {4186#true} assume !(0 == ~cond); {4186#true} is VALID [2022-04-28 03:56:44,877 INFO L290 TraceCheckUtils]: 7: Hoare triple {4186#true} ~cond := #in~cond; {4186#true} is VALID [2022-04-28 03:56:44,877 INFO L272 TraceCheckUtils]: 6: Hoare triple {4322#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {4186#true} is VALID [2022-04-28 03:56:44,877 INFO L290 TraceCheckUtils]: 5: Hoare triple {4322#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {4322#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:44,877 INFO L272 TraceCheckUtils]: 4: Hoare triple {4322#(< 1 ~SIZE~0)} call #t~ret7 := main(); {4322#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:44,878 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4322#(< 1 ~SIZE~0)} {4186#true} #90#return; {4322#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:44,878 INFO L290 TraceCheckUtils]: 2: Hoare triple {4322#(< 1 ~SIZE~0)} assume true; {4322#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:44,878 INFO L290 TraceCheckUtils]: 1: Hoare triple {4186#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {4322#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:44,879 INFO L272 TraceCheckUtils]: 0: Hoare triple {4186#true} call ULTIMATE.init(); {4186#true} is VALID [2022-04-28 03:56:44,879 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:56:44,879 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1577898809] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:56:44,879 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:56:44,879 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:56:45,220 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:56:45,221 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1525703122] [2022-04-28 03:56:45,221 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1525703122] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:45,221 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:45,221 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 03:56:45,221 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [423214245] [2022-04-28 03:56:45,221 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:56:45,221 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 1.4705882352941178) internal successors, (25), 15 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 31 [2022-04-28 03:56:45,222 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:56:45,222 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 1.4705882352941178) internal successors, (25), 15 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:45,245 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:45,245 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 03:56:45,245 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:45,245 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 03:56:45,246 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=126, Invalid=524, Unknown=0, NotChecked=0, Total=650 [2022-04-28 03:56:45,246 INFO L87 Difference]: Start difference. First operand 100 states and 125 transitions. Second operand has 17 states, 17 states have (on average 1.4705882352941178) internal successors, (25), 15 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:46,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:46,333 INFO L93 Difference]: Finished difference Result 164 states and 210 transitions. [2022-04-28 03:56:46,333 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 03:56:46,333 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 1.4705882352941178) internal successors, (25), 15 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 31 [2022-04-28 03:56:46,333 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:56:46,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 1.4705882352941178) internal successors, (25), 15 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:46,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 76 transitions. [2022-04-28 03:56:46,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 1.4705882352941178) internal successors, (25), 15 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:46,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 76 transitions. [2022-04-28 03:56:46,335 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 76 transitions. [2022-04-28 03:56:46,391 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:46,392 INFO L225 Difference]: With dead ends: 164 [2022-04-28 03:56:46,392 INFO L226 Difference]: Without dead ends: 110 [2022-04-28 03:56:46,393 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 48 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 208 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=138, Invalid=618, Unknown=0, NotChecked=0, Total=756 [2022-04-28 03:56:46,394 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 49 mSDsluCounter, 43 mSDsCounter, 0 mSdLazyCounter, 512 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 63 SdHoareTripleChecker+Invalid, 523 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 512 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 03:56:46,394 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 63 Invalid, 523 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 512 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 03:56:46,394 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-28 03:56:46,588 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 103. [2022-04-28 03:56:46,589 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:56:46,589 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 103 states, 88 states have (on average 1.2613636363636365) internal successors, (111), 91 states have internal predecessors, (111), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:46,589 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 103 states, 88 states have (on average 1.2613636363636365) internal successors, (111), 91 states have internal predecessors, (111), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:46,589 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 103 states, 88 states have (on average 1.2613636363636365) internal successors, (111), 91 states have internal predecessors, (111), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:46,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:46,591 INFO L93 Difference]: Finished difference Result 110 states and 137 transitions. [2022-04-28 03:56:46,591 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 137 transitions. [2022-04-28 03:56:46,592 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:46,592 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:46,592 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 88 states have (on average 1.2613636363636365) internal successors, (111), 91 states have internal predecessors, (111), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 110 states. [2022-04-28 03:56:46,592 INFO L87 Difference]: Start difference. First operand has 103 states, 88 states have (on average 1.2613636363636365) internal successors, (111), 91 states have internal predecessors, (111), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 110 states. [2022-04-28 03:56:46,594 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:46,594 INFO L93 Difference]: Finished difference Result 110 states and 137 transitions. [2022-04-28 03:56:46,594 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 137 transitions. [2022-04-28 03:56:46,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:46,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:46,594 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:56:46,594 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:56:46,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 88 states have (on average 1.2613636363636365) internal successors, (111), 91 states have internal predecessors, (111), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:46,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 128 transitions. [2022-04-28 03:56:46,596 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 128 transitions. Word has length 31 [2022-04-28 03:56:46,596 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:56:46,596 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 128 transitions. [2022-04-28 03:56:46,596 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 1.4705882352941178) internal successors, (25), 15 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:46,596 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 128 transitions. [2022-04-28 03:56:46,721 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:46,721 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-28 03:56:46,722 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-28 03:56:46,722 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:56:46,722 INFO L195 NwaCegarLoop]: trace histogram [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] [2022-04-28 03:56:46,738 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 03:56:46,929 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,SelfDestructingSolverStorable9 [2022-04-28 03:56:46,929 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:56:46,929 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:56:46,929 INFO L85 PathProgramCache]: Analyzing trace with hash -1657218883, now seen corresponding path program 3 times [2022-04-28 03:56:46,929 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:46,930 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [180775352] [2022-04-28 03:56:51,077 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:56:51,259 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:56:51,452 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:56:51,454 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:56:51,457 INFO L85 PathProgramCache]: Analyzing trace with hash 2135390785, now seen corresponding path program 1 times [2022-04-28 03:56:51,457 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:56:51,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [260828843] [2022-04-28 03:56:51,457 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:56:51,457 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:56:51,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:51,632 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:56:51,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:51,640 INFO L290 TraceCheckUtils]: 0: Hoare triple {5145#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,640 INFO L290 TraceCheckUtils]: 1: Hoare triple {5132#(<= 20 ~SIZE~0)} assume true; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,641 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5132#(<= 20 ~SIZE~0)} {5127#true} #90#return; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,641 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:56:51,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:51,644 INFO L290 TraceCheckUtils]: 0: Hoare triple {5127#true} ~cond := #in~cond; {5127#true} is VALID [2022-04-28 03:56:51,644 INFO L290 TraceCheckUtils]: 1: Hoare triple {5127#true} assume !(0 == ~cond); {5127#true} is VALID [2022-04-28 03:56:51,644 INFO L290 TraceCheckUtils]: 2: Hoare triple {5127#true} assume true; {5127#true} is VALID [2022-04-28 03:56:51,645 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5127#true} {5132#(<= 20 ~SIZE~0)} #86#return; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,645 INFO L272 TraceCheckUtils]: 0: Hoare triple {5127#true} call ULTIMATE.init(); {5145#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:56:51,646 INFO L290 TraceCheckUtils]: 1: Hoare triple {5145#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,646 INFO L290 TraceCheckUtils]: 2: Hoare triple {5132#(<= 20 ~SIZE~0)} assume true; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,646 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5132#(<= 20 ~SIZE~0)} {5127#true} #90#return; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,647 INFO L272 TraceCheckUtils]: 4: Hoare triple {5132#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,647 INFO L290 TraceCheckUtils]: 5: Hoare triple {5132#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,647 INFO L272 TraceCheckUtils]: 6: Hoare triple {5132#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {5127#true} is VALID [2022-04-28 03:56:51,647 INFO L290 TraceCheckUtils]: 7: Hoare triple {5127#true} ~cond := #in~cond; {5127#true} is VALID [2022-04-28 03:56:51,647 INFO L290 TraceCheckUtils]: 8: Hoare triple {5127#true} assume !(0 == ~cond); {5127#true} is VALID [2022-04-28 03:56:51,647 INFO L290 TraceCheckUtils]: 9: Hoare triple {5127#true} assume true; {5127#true} is VALID [2022-04-28 03:56:51,648 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5127#true} {5132#(<= 20 ~SIZE~0)} #86#return; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,648 INFO L290 TraceCheckUtils]: 11: Hoare triple {5132#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {5137#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:56:51,649 INFO L290 TraceCheckUtils]: 12: Hoare triple {5137#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {5138#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:56:51,649 INFO L290 TraceCheckUtils]: 13: Hoare triple {5138#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [114] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_48 v_main_~st~0_47)) (.cse2 (= v_main_~c~0_97 v_main_~c~0_96)) (.cse0 (<= v_~last~0_49 v_main_~c~0_97))) (or (and (or (not .cse0) (not (< v_main_~c~0_97 v_~SIZE~0_42))) .cse1 .cse2 (= |v_main_#t~post5_59| |v_main_#t~post5_61|)) (and (= v_~SIZE~0_42 v_~SIZE~0_42) (= |v_main_#t~post5_61| |v_main_#t~post5_59|) .cse1 .cse2 (= v_~last~0_49 v_~last~0_49)) (and (= 0 v_main_~st~0_47) .cse0 (< v_main_~c~0_96 (+ v_~SIZE~0_42 1)) (< v_main_~c~0_97 v_main_~c~0_96)))) InVars {~SIZE~0=v_~SIZE~0_42, main_~c~0=v_main_~c~0_97, main_#t~post5=|v_main_#t~post5_61|, main_~st~0=v_main_~st~0_48, ~last~0=v_~last~0_49} OutVars{~SIZE~0=v_~SIZE~0_42, main_#t~post5=|v_main_#t~post5_59|, main_~c~0=v_main_~c~0_96, main_~st~0=v_main_~st~0_47, ~last~0=v_~last~0_49} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {5139#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:56:51,650 INFO L290 TraceCheckUtils]: 14: Hoare triple {5139#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [115] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5139#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:56:51,651 INFO L290 TraceCheckUtils]: 15: Hoare triple {5139#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [116] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_64| |v_main_#t~post5_60|)) (.cse1 (= v_main_~c~0_99 v_main_~c~0_98))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_99 v_~SIZE~0_43)) (not (< v_main_~c~0_99 v_~last~0_50)))) (and .cse0 (= v_~last~0_50 v_~last~0_50) .cse1 (= v_~SIZE~0_43 v_~SIZE~0_43)) (and (< v_main_~c~0_98 (+ v_~SIZE~0_43 1)) (< v_main_~c~0_99 v_main_~c~0_98) (< v_main_~c~0_98 (+ v_~last~0_50 1))))) InVars {~SIZE~0=v_~SIZE~0_43, main_~c~0=v_main_~c~0_99, main_#t~post5=|v_main_#t~post5_64|, ~last~0=v_~last~0_50} OutVars{~SIZE~0=v_~SIZE~0_43, main_#t~post5=|v_main_#t~post5_60|, main_~c~0=v_main_~c~0_98, ~last~0=v_~last~0_50} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {5139#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:56:51,651 INFO L290 TraceCheckUtils]: 16: Hoare triple {5139#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [113] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {5140#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:56:51,652 INFO L290 TraceCheckUtils]: 17: Hoare triple {5140#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {5141#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:51,652 INFO L290 TraceCheckUtils]: 18: Hoare triple {5141#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {5141#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:51,653 INFO L290 TraceCheckUtils]: 19: Hoare triple {5141#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {5142#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:51,653 INFO L290 TraceCheckUtils]: 20: Hoare triple {5142#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {5142#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:51,654 INFO L272 TraceCheckUtils]: 21: Hoare triple {5142#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {5143#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:56:51,654 INFO L290 TraceCheckUtils]: 22: Hoare triple {5143#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {5144#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:56:51,655 INFO L290 TraceCheckUtils]: 23: Hoare triple {5144#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {5128#false} is VALID [2022-04-28 03:56:51,655 INFO L290 TraceCheckUtils]: 24: Hoare triple {5128#false} assume !false; {5128#false} is VALID [2022-04-28 03:56:51,655 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:56:51,655 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:56:51,655 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [260828843] [2022-04-28 03:56:51,655 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [260828843] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:56:51,655 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1191850798] [2022-04-28 03:56:51,655 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:56:51,656 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:56:51,656 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:56:51,656 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 03:56:51,657 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 03:56:51,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:51,689 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:56:51,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:51,697 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:56:51,990 INFO L272 TraceCheckUtils]: 0: Hoare triple {5127#true} call ULTIMATE.init(); {5127#true} is VALID [2022-04-28 03:56:51,991 INFO L290 TraceCheckUtils]: 1: Hoare triple {5127#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,991 INFO L290 TraceCheckUtils]: 2: Hoare triple {5132#(<= 20 ~SIZE~0)} assume true; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,992 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5132#(<= 20 ~SIZE~0)} {5127#true} #90#return; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,992 INFO L272 TraceCheckUtils]: 4: Hoare triple {5132#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,992 INFO L290 TraceCheckUtils]: 5: Hoare triple {5132#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,993 INFO L272 TraceCheckUtils]: 6: Hoare triple {5132#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,993 INFO L290 TraceCheckUtils]: 7: Hoare triple {5132#(<= 20 ~SIZE~0)} ~cond := #in~cond; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,993 INFO L290 TraceCheckUtils]: 8: Hoare triple {5132#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,994 INFO L290 TraceCheckUtils]: 9: Hoare triple {5132#(<= 20 ~SIZE~0)} assume true; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,994 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5132#(<= 20 ~SIZE~0)} {5132#(<= 20 ~SIZE~0)} #86#return; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,994 INFO L290 TraceCheckUtils]: 11: Hoare triple {5132#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:51,995 INFO L290 TraceCheckUtils]: 12: Hoare triple {5132#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {5185#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:56:51,996 INFO L290 TraceCheckUtils]: 13: Hoare triple {5185#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [114] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_48 v_main_~st~0_47)) (.cse2 (= v_main_~c~0_97 v_main_~c~0_96)) (.cse0 (<= v_~last~0_49 v_main_~c~0_97))) (or (and (or (not .cse0) (not (< v_main_~c~0_97 v_~SIZE~0_42))) .cse1 .cse2 (= |v_main_#t~post5_59| |v_main_#t~post5_61|)) (and (= v_~SIZE~0_42 v_~SIZE~0_42) (= |v_main_#t~post5_61| |v_main_#t~post5_59|) .cse1 .cse2 (= v_~last~0_49 v_~last~0_49)) (and (= 0 v_main_~st~0_47) .cse0 (< v_main_~c~0_96 (+ v_~SIZE~0_42 1)) (< v_main_~c~0_97 v_main_~c~0_96)))) InVars {~SIZE~0=v_~SIZE~0_42, main_~c~0=v_main_~c~0_97, main_#t~post5=|v_main_#t~post5_61|, main_~st~0=v_main_~st~0_48, ~last~0=v_~last~0_49} OutVars{~SIZE~0=v_~SIZE~0_42, main_#t~post5=|v_main_#t~post5_59|, main_~c~0=v_main_~c~0_96, main_~st~0=v_main_~st~0_47, ~last~0=v_~last~0_49} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {5189#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:56:51,996 INFO L290 TraceCheckUtils]: 14: Hoare triple {5189#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [115] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5189#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:56:51,997 INFO L290 TraceCheckUtils]: 15: Hoare triple {5189#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [116] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_64| |v_main_#t~post5_60|)) (.cse1 (= v_main_~c~0_99 v_main_~c~0_98))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_99 v_~SIZE~0_43)) (not (< v_main_~c~0_99 v_~last~0_50)))) (and .cse0 (= v_~last~0_50 v_~last~0_50) .cse1 (= v_~SIZE~0_43 v_~SIZE~0_43)) (and (< v_main_~c~0_98 (+ v_~SIZE~0_43 1)) (< v_main_~c~0_99 v_main_~c~0_98) (< v_main_~c~0_98 (+ v_~last~0_50 1))))) InVars {~SIZE~0=v_~SIZE~0_43, main_~c~0=v_main_~c~0_99, main_#t~post5=|v_main_#t~post5_64|, ~last~0=v_~last~0_50} OutVars{~SIZE~0=v_~SIZE~0_43, main_#t~post5=|v_main_#t~post5_60|, main_~c~0=v_main_~c~0_98, ~last~0=v_~last~0_50} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {5189#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:56:51,997 INFO L290 TraceCheckUtils]: 16: Hoare triple {5189#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [113] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {5199#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:56:51,998 INFO L290 TraceCheckUtils]: 17: Hoare triple {5199#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {5128#false} is VALID [2022-04-28 03:56:51,998 INFO L290 TraceCheckUtils]: 18: Hoare triple {5128#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {5128#false} is VALID [2022-04-28 03:56:51,998 INFO L290 TraceCheckUtils]: 19: Hoare triple {5128#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {5128#false} is VALID [2022-04-28 03:56:51,998 INFO L290 TraceCheckUtils]: 20: Hoare triple {5128#false} assume !(~d~0 == ~SIZE~0); {5128#false} is VALID [2022-04-28 03:56:51,998 INFO L272 TraceCheckUtils]: 21: Hoare triple {5128#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {5128#false} is VALID [2022-04-28 03:56:51,998 INFO L290 TraceCheckUtils]: 22: Hoare triple {5128#false} ~cond := #in~cond; {5128#false} is VALID [2022-04-28 03:56:51,998 INFO L290 TraceCheckUtils]: 23: Hoare triple {5128#false} assume 0 == ~cond; {5128#false} is VALID [2022-04-28 03:56:51,998 INFO L290 TraceCheckUtils]: 24: Hoare triple {5128#false} assume !false; {5128#false} is VALID [2022-04-28 03:56:51,999 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:56:51,999 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:56:52,382 INFO L290 TraceCheckUtils]: 24: Hoare triple {5128#false} assume !false; {5128#false} is VALID [2022-04-28 03:56:52,383 INFO L290 TraceCheckUtils]: 23: Hoare triple {5128#false} assume 0 == ~cond; {5128#false} is VALID [2022-04-28 03:56:52,383 INFO L290 TraceCheckUtils]: 22: Hoare triple {5128#false} ~cond := #in~cond; {5128#false} is VALID [2022-04-28 03:56:52,383 INFO L272 TraceCheckUtils]: 21: Hoare triple {5128#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {5128#false} is VALID [2022-04-28 03:56:52,383 INFO L290 TraceCheckUtils]: 20: Hoare triple {5128#false} assume !(~d~0 == ~SIZE~0); {5128#false} is VALID [2022-04-28 03:56:52,383 INFO L290 TraceCheckUtils]: 19: Hoare triple {5128#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {5128#false} is VALID [2022-04-28 03:56:52,383 INFO L290 TraceCheckUtils]: 18: Hoare triple {5128#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {5128#false} is VALID [2022-04-28 03:56:52,383 INFO L290 TraceCheckUtils]: 17: Hoare triple {5245#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {5128#false} is VALID [2022-04-28 03:56:52,384 INFO L290 TraceCheckUtils]: 16: Hoare triple {5249#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [113] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {5245#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:56:52,385 INFO L290 TraceCheckUtils]: 15: Hoare triple {5249#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [116] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_64| |v_main_#t~post5_60|)) (.cse1 (= v_main_~c~0_99 v_main_~c~0_98))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_99 v_~SIZE~0_43)) (not (< v_main_~c~0_99 v_~last~0_50)))) (and .cse0 (= v_~last~0_50 v_~last~0_50) .cse1 (= v_~SIZE~0_43 v_~SIZE~0_43)) (and (< v_main_~c~0_98 (+ v_~SIZE~0_43 1)) (< v_main_~c~0_99 v_main_~c~0_98) (< v_main_~c~0_98 (+ v_~last~0_50 1))))) InVars {~SIZE~0=v_~SIZE~0_43, main_~c~0=v_main_~c~0_99, main_#t~post5=|v_main_#t~post5_64|, ~last~0=v_~last~0_50} OutVars{~SIZE~0=v_~SIZE~0_43, main_#t~post5=|v_main_#t~post5_60|, main_~c~0=v_main_~c~0_98, ~last~0=v_~last~0_50} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {5249#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:56:52,385 INFO L290 TraceCheckUtils]: 14: Hoare triple {5249#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [115] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {5249#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:56:52,386 INFO L290 TraceCheckUtils]: 13: Hoare triple {5259#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [114] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_48 v_main_~st~0_47)) (.cse2 (= v_main_~c~0_97 v_main_~c~0_96)) (.cse0 (<= v_~last~0_49 v_main_~c~0_97))) (or (and (or (not .cse0) (not (< v_main_~c~0_97 v_~SIZE~0_42))) .cse1 .cse2 (= |v_main_#t~post5_59| |v_main_#t~post5_61|)) (and (= v_~SIZE~0_42 v_~SIZE~0_42) (= |v_main_#t~post5_61| |v_main_#t~post5_59|) .cse1 .cse2 (= v_~last~0_49 v_~last~0_49)) (and (= 0 v_main_~st~0_47) .cse0 (< v_main_~c~0_96 (+ v_~SIZE~0_42 1)) (< v_main_~c~0_97 v_main_~c~0_96)))) InVars {~SIZE~0=v_~SIZE~0_42, main_~c~0=v_main_~c~0_97, main_#t~post5=|v_main_#t~post5_61|, main_~st~0=v_main_~st~0_48, ~last~0=v_~last~0_49} OutVars{~SIZE~0=v_~SIZE~0_42, main_#t~post5=|v_main_#t~post5_59|, main_~c~0=v_main_~c~0_96, main_~st~0=v_main_~st~0_47, ~last~0=v_~last~0_49} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {5249#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:56:52,386 INFO L290 TraceCheckUtils]: 12: Hoare triple {5263#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {5259#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:56:52,386 INFO L290 TraceCheckUtils]: 11: Hoare triple {5263#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {5263#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:52,387 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5127#true} {5263#(< 1 ~SIZE~0)} #86#return; {5263#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:52,387 INFO L290 TraceCheckUtils]: 9: Hoare triple {5127#true} assume true; {5127#true} is VALID [2022-04-28 03:56:52,387 INFO L290 TraceCheckUtils]: 8: Hoare triple {5127#true} assume !(0 == ~cond); {5127#true} is VALID [2022-04-28 03:56:52,387 INFO L290 TraceCheckUtils]: 7: Hoare triple {5127#true} ~cond := #in~cond; {5127#true} is VALID [2022-04-28 03:56:52,387 INFO L272 TraceCheckUtils]: 6: Hoare triple {5263#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {5127#true} is VALID [2022-04-28 03:56:52,411 INFO L290 TraceCheckUtils]: 5: Hoare triple {5263#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {5263#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:52,411 INFO L272 TraceCheckUtils]: 4: Hoare triple {5263#(< 1 ~SIZE~0)} call #t~ret7 := main(); {5263#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:52,411 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5263#(< 1 ~SIZE~0)} {5127#true} #90#return; {5263#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:52,412 INFO L290 TraceCheckUtils]: 2: Hoare triple {5263#(< 1 ~SIZE~0)} assume true; {5263#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:52,412 INFO L290 TraceCheckUtils]: 1: Hoare triple {5127#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {5263#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:52,412 INFO L272 TraceCheckUtils]: 0: Hoare triple {5127#true} call ULTIMATE.init(); {5127#true} is VALID [2022-04-28 03:56:52,412 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:56:52,413 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1191850798] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:56:52,413 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:56:52,413 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:56:52,709 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:56:52,709 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [180775352] [2022-04-28 03:56:52,709 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [180775352] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:52,709 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:52,709 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 03:56:52,709 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [877353534] [2022-04-28 03:56:52,709 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:56:52,710 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 16 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 31 [2022-04-28 03:56:52,710 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:56:52,710 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 16 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:52,729 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:52,730 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 03:56:52,730 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:52,730 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 03:56:52,730 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=140, Invalid=562, Unknown=0, NotChecked=0, Total=702 [2022-04-28 03:56:52,730 INFO L87 Difference]: Start difference. First operand 103 states and 128 transitions. Second operand has 18 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 16 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:53,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:53,441 INFO L93 Difference]: Finished difference Result 180 states and 230 transitions. [2022-04-28 03:56:53,441 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 03:56:53,441 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 16 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 31 [2022-04-28 03:56:53,441 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:56:53,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 16 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:53,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 78 transitions. [2022-04-28 03:56:53,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 16 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:53,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 78 transitions. [2022-04-28 03:56:53,462 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 78 transitions. [2022-04-28 03:56:53,519 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:53,521 INFO L225 Difference]: With dead ends: 180 [2022-04-28 03:56:53,521 INFO L226 Difference]: Without dead ends: 115 [2022-04-28 03:56:53,521 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 48 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 211 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=152, Invalid=660, Unknown=0, NotChecked=0, Total=812 [2022-04-28 03:56:53,522 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 46 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 451 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 462 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 451 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 03:56:53,522 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [47 Valid, 60 Invalid, 462 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 451 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 03:56:53,522 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-04-28 03:56:53,709 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 106. [2022-04-28 03:56:53,709 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:56:53,709 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand has 106 states, 91 states have (on average 1.2637362637362637) internal successors, (115), 94 states have internal predecessors, (115), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:53,709 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand has 106 states, 91 states have (on average 1.2637362637362637) internal successors, (115), 94 states have internal predecessors, (115), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:53,710 INFO L87 Difference]: Start difference. First operand 115 states. Second operand has 106 states, 91 states have (on average 1.2637362637362637) internal successors, (115), 94 states have internal predecessors, (115), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:53,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:53,712 INFO L93 Difference]: Finished difference Result 115 states and 143 transitions. [2022-04-28 03:56:53,712 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 143 transitions. [2022-04-28 03:56:53,712 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:53,712 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:53,712 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 91 states have (on average 1.2637362637362637) internal successors, (115), 94 states have internal predecessors, (115), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 115 states. [2022-04-28 03:56:53,712 INFO L87 Difference]: Start difference. First operand has 106 states, 91 states have (on average 1.2637362637362637) internal successors, (115), 94 states have internal predecessors, (115), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 115 states. [2022-04-28 03:56:53,717 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:53,717 INFO L93 Difference]: Finished difference Result 115 states and 143 transitions. [2022-04-28 03:56:53,717 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 143 transitions. [2022-04-28 03:56:53,718 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:53,718 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:53,718 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:56:53,718 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:56:53,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 91 states have (on average 1.2637362637362637) internal successors, (115), 94 states have internal predecessors, (115), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:53,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 132 transitions. [2022-04-28 03:56:53,720 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 132 transitions. Word has length 31 [2022-04-28 03:56:53,720 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:56:53,720 INFO L495 AbstractCegarLoop]: Abstraction has 106 states and 132 transitions. [2022-04-28 03:56:53,720 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 16 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:53,720 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 132 transitions. [2022-04-28 03:56:53,838 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 132 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:53,838 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 132 transitions. [2022-04-28 03:56:53,839 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 03:56:53,839 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:56:53,839 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 3, 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 03:56:53,857 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 03:56:54,057 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:56:54,057 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:56:54,057 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:56:54,058 INFO L85 PathProgramCache]: Analyzing trace with hash -1482120420, now seen corresponding path program 4 times [2022-04-28 03:56:54,058 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:54,058 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2146660952] [2022-04-28 03:56:54,280 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:56:54,446 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:56:54,447 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:56:54,449 INFO L85 PathProgramCache]: Analyzing trace with hash 332946241, now seen corresponding path program 1 times [2022-04-28 03:56:54,449 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:56:54,449 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1802519859] [2022-04-28 03:56:54,449 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:56:54,449 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:56:54,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:54,650 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:56:54,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:54,656 INFO L290 TraceCheckUtils]: 0: Hoare triple {6135#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:54,656 INFO L290 TraceCheckUtils]: 1: Hoare triple {6122#(<= 20 ~SIZE~0)} assume true; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:54,657 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6122#(<= 20 ~SIZE~0)} {6117#true} #90#return; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:54,657 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:56:54,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:54,660 INFO L290 TraceCheckUtils]: 0: Hoare triple {6117#true} ~cond := #in~cond; {6117#true} is VALID [2022-04-28 03:56:54,660 INFO L290 TraceCheckUtils]: 1: Hoare triple {6117#true} assume !(0 == ~cond); {6117#true} is VALID [2022-04-28 03:56:54,660 INFO L290 TraceCheckUtils]: 2: Hoare triple {6117#true} assume true; {6117#true} is VALID [2022-04-28 03:56:54,660 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6117#true} {6122#(<= 20 ~SIZE~0)} #86#return; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:54,661 INFO L272 TraceCheckUtils]: 0: Hoare triple {6117#true} call ULTIMATE.init(); {6135#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:56:54,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {6135#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:54,662 INFO L290 TraceCheckUtils]: 2: Hoare triple {6122#(<= 20 ~SIZE~0)} assume true; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:54,662 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6122#(<= 20 ~SIZE~0)} {6117#true} #90#return; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:54,663 INFO L272 TraceCheckUtils]: 4: Hoare triple {6122#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:54,663 INFO L290 TraceCheckUtils]: 5: Hoare triple {6122#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:54,663 INFO L272 TraceCheckUtils]: 6: Hoare triple {6122#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {6117#true} is VALID [2022-04-28 03:56:54,663 INFO L290 TraceCheckUtils]: 7: Hoare triple {6117#true} ~cond := #in~cond; {6117#true} is VALID [2022-04-28 03:56:54,663 INFO L290 TraceCheckUtils]: 8: Hoare triple {6117#true} assume !(0 == ~cond); {6117#true} is VALID [2022-04-28 03:56:54,663 INFO L290 TraceCheckUtils]: 9: Hoare triple {6117#true} assume true; {6117#true} is VALID [2022-04-28 03:56:54,664 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6117#true} {6122#(<= 20 ~SIZE~0)} #86#return; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:54,664 INFO L290 TraceCheckUtils]: 11: Hoare triple {6122#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {6127#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:56:54,664 INFO L290 TraceCheckUtils]: 12: Hoare triple {6127#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {6128#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:56:54,665 INFO L290 TraceCheckUtils]: 13: Hoare triple {6128#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [118] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~c~0_117 v_main_~c~0_116)) (.cse2 (= v_main_~st~0_58 v_main_~st~0_57)) (.cse3 (= |v_main_#t~post5_74| |v_main_#t~post5_72|)) (.cse0 (<= v_~last~0_59 v_main_~c~0_117))) (or (and (or (not .cse0) (not (< v_main_~c~0_117 v_~SIZE~0_51))) .cse1 .cse2 .cse3) (and .cse1 (= v_~SIZE~0_51 v_~SIZE~0_51) (= v_~last~0_59 v_~last~0_59) .cse2 .cse3) (and .cse0 (= 0 v_main_~st~0_57) (< v_main_~c~0_116 (+ v_~SIZE~0_51 1)) (< v_main_~c~0_117 v_main_~c~0_116)))) InVars {~SIZE~0=v_~SIZE~0_51, main_~c~0=v_main_~c~0_117, main_#t~post5=|v_main_#t~post5_74|, main_~st~0=v_main_~st~0_58, ~last~0=v_~last~0_59} OutVars{~SIZE~0=v_~SIZE~0_51, main_#t~post5=|v_main_#t~post5_72|, main_~c~0=v_main_~c~0_116, main_~st~0=v_main_~st~0_57, ~last~0=v_~last~0_59} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {6129#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:56:54,666 INFO L290 TraceCheckUtils]: 14: Hoare triple {6129#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [119] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6129#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:56:54,666 INFO L290 TraceCheckUtils]: 15: Hoare triple {6129#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [120] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_119 v_main_~c~0_118)) (.cse1 (= |v_main_#t~post5_77| |v_main_#t~post5_73|))) (or (and (< v_main_~c~0_119 v_main_~c~0_118) (< v_main_~c~0_118 (+ v_~last~0_60 1)) (< v_main_~c~0_118 (+ v_~SIZE~0_52 1))) (and .cse0 (= v_~SIZE~0_52 v_~SIZE~0_52) .cse1 (= v_~last~0_60 v_~last~0_60)) (and .cse0 .cse1 (or (not (< v_main_~c~0_119 v_~SIZE~0_52)) (not (< v_main_~c~0_119 v_~last~0_60)))))) InVars {~SIZE~0=v_~SIZE~0_52, main_~c~0=v_main_~c~0_119, main_#t~post5=|v_main_#t~post5_77|, ~last~0=v_~last~0_60} OutVars{~SIZE~0=v_~SIZE~0_52, main_#t~post5=|v_main_#t~post5_73|, main_~c~0=v_main_~c~0_118, ~last~0=v_~last~0_60} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {6129#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:56:54,667 INFO L290 TraceCheckUtils]: 16: Hoare triple {6129#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [117] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {6130#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:56:54,668 INFO L290 TraceCheckUtils]: 17: Hoare triple {6130#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {6131#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:54,668 INFO L290 TraceCheckUtils]: 18: Hoare triple {6131#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {6131#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:54,669 INFO L290 TraceCheckUtils]: 19: Hoare triple {6131#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {6132#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:54,669 INFO L290 TraceCheckUtils]: 20: Hoare triple {6132#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {6132#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:56:54,670 INFO L272 TraceCheckUtils]: 21: Hoare triple {6132#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {6133#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:56:54,670 INFO L290 TraceCheckUtils]: 22: Hoare triple {6133#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {6134#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:56:54,671 INFO L290 TraceCheckUtils]: 23: Hoare triple {6134#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {6118#false} is VALID [2022-04-28 03:56:54,671 INFO L290 TraceCheckUtils]: 24: Hoare triple {6118#false} assume !false; {6118#false} is VALID [2022-04-28 03:56:54,671 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:56:54,671 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:56:54,671 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1802519859] [2022-04-28 03:56:54,671 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1802519859] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:56:54,671 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1014529662] [2022-04-28 03:56:54,671 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:56:54,671 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:56:54,672 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:56:54,672 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 03:56:54,686 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 03:56:54,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:54,707 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:56:54,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:56:54,715 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:56:54,999 INFO L272 TraceCheckUtils]: 0: Hoare triple {6117#true} call ULTIMATE.init(); {6117#true} is VALID [2022-04-28 03:56:55,000 INFO L290 TraceCheckUtils]: 1: Hoare triple {6117#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:55,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {6122#(<= 20 ~SIZE~0)} assume true; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:55,001 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6122#(<= 20 ~SIZE~0)} {6117#true} #90#return; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:55,001 INFO L272 TraceCheckUtils]: 4: Hoare triple {6122#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:55,001 INFO L290 TraceCheckUtils]: 5: Hoare triple {6122#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:55,002 INFO L272 TraceCheckUtils]: 6: Hoare triple {6122#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:55,002 INFO L290 TraceCheckUtils]: 7: Hoare triple {6122#(<= 20 ~SIZE~0)} ~cond := #in~cond; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:55,002 INFO L290 TraceCheckUtils]: 8: Hoare triple {6122#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:55,002 INFO L290 TraceCheckUtils]: 9: Hoare triple {6122#(<= 20 ~SIZE~0)} assume true; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:55,003 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6122#(<= 20 ~SIZE~0)} {6122#(<= 20 ~SIZE~0)} #86#return; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:55,003 INFO L290 TraceCheckUtils]: 11: Hoare triple {6122#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:56:55,003 INFO L290 TraceCheckUtils]: 12: Hoare triple {6122#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {6175#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:56:55,004 INFO L290 TraceCheckUtils]: 13: Hoare triple {6175#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [118] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~c~0_117 v_main_~c~0_116)) (.cse2 (= v_main_~st~0_58 v_main_~st~0_57)) (.cse3 (= |v_main_#t~post5_74| |v_main_#t~post5_72|)) (.cse0 (<= v_~last~0_59 v_main_~c~0_117))) (or (and (or (not .cse0) (not (< v_main_~c~0_117 v_~SIZE~0_51))) .cse1 .cse2 .cse3) (and .cse1 (= v_~SIZE~0_51 v_~SIZE~0_51) (= v_~last~0_59 v_~last~0_59) .cse2 .cse3) (and .cse0 (= 0 v_main_~st~0_57) (< v_main_~c~0_116 (+ v_~SIZE~0_51 1)) (< v_main_~c~0_117 v_main_~c~0_116)))) InVars {~SIZE~0=v_~SIZE~0_51, main_~c~0=v_main_~c~0_117, main_#t~post5=|v_main_#t~post5_74|, main_~st~0=v_main_~st~0_58, ~last~0=v_~last~0_59} OutVars{~SIZE~0=v_~SIZE~0_51, main_#t~post5=|v_main_#t~post5_72|, main_~c~0=v_main_~c~0_116, main_~st~0=v_main_~st~0_57, ~last~0=v_~last~0_59} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {6179#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:56:55,005 INFO L290 TraceCheckUtils]: 14: Hoare triple {6179#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [119] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6179#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:56:55,005 INFO L290 TraceCheckUtils]: 15: Hoare triple {6179#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [120] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_119 v_main_~c~0_118)) (.cse1 (= |v_main_#t~post5_77| |v_main_#t~post5_73|))) (or (and (< v_main_~c~0_119 v_main_~c~0_118) (< v_main_~c~0_118 (+ v_~last~0_60 1)) (< v_main_~c~0_118 (+ v_~SIZE~0_52 1))) (and .cse0 (= v_~SIZE~0_52 v_~SIZE~0_52) .cse1 (= v_~last~0_60 v_~last~0_60)) (and .cse0 .cse1 (or (not (< v_main_~c~0_119 v_~SIZE~0_52)) (not (< v_main_~c~0_119 v_~last~0_60)))))) InVars {~SIZE~0=v_~SIZE~0_52, main_~c~0=v_main_~c~0_119, main_#t~post5=|v_main_#t~post5_77|, ~last~0=v_~last~0_60} OutVars{~SIZE~0=v_~SIZE~0_52, main_#t~post5=|v_main_#t~post5_73|, main_~c~0=v_main_~c~0_118, ~last~0=v_~last~0_60} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {6179#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:56:55,006 INFO L290 TraceCheckUtils]: 16: Hoare triple {6179#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [117] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {6189#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:56:55,006 INFO L290 TraceCheckUtils]: 17: Hoare triple {6189#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {6118#false} is VALID [2022-04-28 03:56:55,007 INFO L290 TraceCheckUtils]: 18: Hoare triple {6118#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {6118#false} is VALID [2022-04-28 03:56:55,007 INFO L290 TraceCheckUtils]: 19: Hoare triple {6118#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {6118#false} is VALID [2022-04-28 03:56:55,007 INFO L290 TraceCheckUtils]: 20: Hoare triple {6118#false} assume !(~d~0 == ~SIZE~0); {6118#false} is VALID [2022-04-28 03:56:55,007 INFO L272 TraceCheckUtils]: 21: Hoare triple {6118#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {6118#false} is VALID [2022-04-28 03:56:55,007 INFO L290 TraceCheckUtils]: 22: Hoare triple {6118#false} ~cond := #in~cond; {6118#false} is VALID [2022-04-28 03:56:55,007 INFO L290 TraceCheckUtils]: 23: Hoare triple {6118#false} assume 0 == ~cond; {6118#false} is VALID [2022-04-28 03:56:55,007 INFO L290 TraceCheckUtils]: 24: Hoare triple {6118#false} assume !false; {6118#false} is VALID [2022-04-28 03:56:55,007 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:56:55,007 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:56:55,388 INFO L290 TraceCheckUtils]: 24: Hoare triple {6118#false} assume !false; {6118#false} is VALID [2022-04-28 03:56:55,388 INFO L290 TraceCheckUtils]: 23: Hoare triple {6118#false} assume 0 == ~cond; {6118#false} is VALID [2022-04-28 03:56:55,388 INFO L290 TraceCheckUtils]: 22: Hoare triple {6118#false} ~cond := #in~cond; {6118#false} is VALID [2022-04-28 03:56:55,389 INFO L272 TraceCheckUtils]: 21: Hoare triple {6118#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {6118#false} is VALID [2022-04-28 03:56:55,389 INFO L290 TraceCheckUtils]: 20: Hoare triple {6118#false} assume !(~d~0 == ~SIZE~0); {6118#false} is VALID [2022-04-28 03:56:55,389 INFO L290 TraceCheckUtils]: 19: Hoare triple {6118#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {6118#false} is VALID [2022-04-28 03:56:55,389 INFO L290 TraceCheckUtils]: 18: Hoare triple {6118#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {6118#false} is VALID [2022-04-28 03:56:55,389 INFO L290 TraceCheckUtils]: 17: Hoare triple {6235#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {6118#false} is VALID [2022-04-28 03:56:55,390 INFO L290 TraceCheckUtils]: 16: Hoare triple {6239#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [117] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {6235#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:56:55,390 INFO L290 TraceCheckUtils]: 15: Hoare triple {6239#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [120] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_119 v_main_~c~0_118)) (.cse1 (= |v_main_#t~post5_77| |v_main_#t~post5_73|))) (or (and (< v_main_~c~0_119 v_main_~c~0_118) (< v_main_~c~0_118 (+ v_~last~0_60 1)) (< v_main_~c~0_118 (+ v_~SIZE~0_52 1))) (and .cse0 (= v_~SIZE~0_52 v_~SIZE~0_52) .cse1 (= v_~last~0_60 v_~last~0_60)) (and .cse0 .cse1 (or (not (< v_main_~c~0_119 v_~SIZE~0_52)) (not (< v_main_~c~0_119 v_~last~0_60)))))) InVars {~SIZE~0=v_~SIZE~0_52, main_~c~0=v_main_~c~0_119, main_#t~post5=|v_main_#t~post5_77|, ~last~0=v_~last~0_60} OutVars{~SIZE~0=v_~SIZE~0_52, main_#t~post5=|v_main_#t~post5_73|, main_~c~0=v_main_~c~0_118, ~last~0=v_~last~0_60} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {6239#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:56:55,391 INFO L290 TraceCheckUtils]: 14: Hoare triple {6239#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [119] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {6239#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:56:55,391 INFO L290 TraceCheckUtils]: 13: Hoare triple {6249#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [118] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~c~0_117 v_main_~c~0_116)) (.cse2 (= v_main_~st~0_58 v_main_~st~0_57)) (.cse3 (= |v_main_#t~post5_74| |v_main_#t~post5_72|)) (.cse0 (<= v_~last~0_59 v_main_~c~0_117))) (or (and (or (not .cse0) (not (< v_main_~c~0_117 v_~SIZE~0_51))) .cse1 .cse2 .cse3) (and .cse1 (= v_~SIZE~0_51 v_~SIZE~0_51) (= v_~last~0_59 v_~last~0_59) .cse2 .cse3) (and .cse0 (= 0 v_main_~st~0_57) (< v_main_~c~0_116 (+ v_~SIZE~0_51 1)) (< v_main_~c~0_117 v_main_~c~0_116)))) InVars {~SIZE~0=v_~SIZE~0_51, main_~c~0=v_main_~c~0_117, main_#t~post5=|v_main_#t~post5_74|, main_~st~0=v_main_~st~0_58, ~last~0=v_~last~0_59} OutVars{~SIZE~0=v_~SIZE~0_51, main_#t~post5=|v_main_#t~post5_72|, main_~c~0=v_main_~c~0_116, main_~st~0=v_main_~st~0_57, ~last~0=v_~last~0_59} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {6239#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:56:55,392 INFO L290 TraceCheckUtils]: 12: Hoare triple {6253#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {6249#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:56:55,392 INFO L290 TraceCheckUtils]: 11: Hoare triple {6253#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {6253#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:55,393 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6117#true} {6253#(< 1 ~SIZE~0)} #86#return; {6253#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:55,393 INFO L290 TraceCheckUtils]: 9: Hoare triple {6117#true} assume true; {6117#true} is VALID [2022-04-28 03:56:55,393 INFO L290 TraceCheckUtils]: 8: Hoare triple {6117#true} assume !(0 == ~cond); {6117#true} is VALID [2022-04-28 03:56:55,393 INFO L290 TraceCheckUtils]: 7: Hoare triple {6117#true} ~cond := #in~cond; {6117#true} is VALID [2022-04-28 03:56:55,393 INFO L272 TraceCheckUtils]: 6: Hoare triple {6253#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {6117#true} is VALID [2022-04-28 03:56:55,393 INFO L290 TraceCheckUtils]: 5: Hoare triple {6253#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {6253#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:55,394 INFO L272 TraceCheckUtils]: 4: Hoare triple {6253#(< 1 ~SIZE~0)} call #t~ret7 := main(); {6253#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:55,394 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6253#(< 1 ~SIZE~0)} {6117#true} #90#return; {6253#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:55,394 INFO L290 TraceCheckUtils]: 2: Hoare triple {6253#(< 1 ~SIZE~0)} assume true; {6253#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:55,395 INFO L290 TraceCheckUtils]: 1: Hoare triple {6117#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {6253#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:56:55,395 INFO L272 TraceCheckUtils]: 0: Hoare triple {6117#true} call ULTIMATE.init(); {6117#true} is VALID [2022-04-28 03:56:55,395 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:56:55,395 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1014529662] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:56:55,395 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:56:55,395 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:56:55,806 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:56:55,806 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2146660952] [2022-04-28 03:56:55,806 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2146660952] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:56:55,806 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:56:55,807 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 03:56:55,807 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2059626838] [2022-04-28 03:56:55,807 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:56:55,807 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.5555555555555556) internal successors, (28), 16 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 34 [2022-04-28 03:56:55,807 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:56:55,807 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 1.5555555555555556) internal successors, (28), 16 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:55,832 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:55,833 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 03:56:55,833 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:55,833 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 03:56:55,833 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=133, Invalid=569, Unknown=0, NotChecked=0, Total=702 [2022-04-28 03:56:55,834 INFO L87 Difference]: Start difference. First operand 106 states and 132 transitions. Second operand has 18 states, 18 states have (on average 1.5555555555555556) internal successors, (28), 16 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:56,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:56,666 INFO L93 Difference]: Finished difference Result 171 states and 218 transitions. [2022-04-28 03:56:56,666 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 03:56:56,666 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.5555555555555556) internal successors, (28), 16 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 34 [2022-04-28 03:56:56,667 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:56:56,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.5555555555555556) internal successors, (28), 16 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:56,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-28 03:56:56,668 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.5555555555555556) internal successors, (28), 16 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:56,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-28 03:56:56,668 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 79 transitions. [2022-04-28 03:56:56,724 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 03:56:56,726 INFO L225 Difference]: With dead ends: 171 [2022-04-28 03:56:56,726 INFO L226 Difference]: Without dead ends: 117 [2022-04-28 03:56:56,726 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 48 SyntacticMatches, 5 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 252 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=145, Invalid=667, Unknown=0, NotChecked=0, Total=812 [2022-04-28 03:56:56,727 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 47 mSDsluCounter, 36 mSDsCounter, 0 mSdLazyCounter, 429 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 56 SdHoareTripleChecker+Invalid, 439 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 429 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 03:56:56,727 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 56 Invalid, 439 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 429 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 03:56:56,728 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states. [2022-04-28 03:56:56,888 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 109. [2022-04-28 03:56:56,889 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:56:56,889 INFO L82 GeneralOperation]: Start isEquivalent. First operand 117 states. Second operand has 109 states, 94 states have (on average 1.2553191489361701) internal successors, (118), 97 states have internal predecessors, (118), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:56,889 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand has 109 states, 94 states have (on average 1.2553191489361701) internal successors, (118), 97 states have internal predecessors, (118), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:56,889 INFO L87 Difference]: Start difference. First operand 117 states. Second operand has 109 states, 94 states have (on average 1.2553191489361701) internal successors, (118), 97 states have internal predecessors, (118), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:56,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:56,892 INFO L93 Difference]: Finished difference Result 117 states and 145 transitions. [2022-04-28 03:56:56,892 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 145 transitions. [2022-04-28 03:56:56,892 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:56,892 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:56,893 INFO L74 IsIncluded]: Start isIncluded. First operand has 109 states, 94 states have (on average 1.2553191489361701) internal successors, (118), 97 states have internal predecessors, (118), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 117 states. [2022-04-28 03:56:56,893 INFO L87 Difference]: Start difference. First operand has 109 states, 94 states have (on average 1.2553191489361701) internal successors, (118), 97 states have internal predecessors, (118), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 117 states. [2022-04-28 03:56:56,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:56:56,900 INFO L93 Difference]: Finished difference Result 117 states and 145 transitions. [2022-04-28 03:56:56,900 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 145 transitions. [2022-04-28 03:56:56,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:56:56,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:56:56,900 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:56:56,900 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:56:56,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 109 states, 94 states have (on average 1.2553191489361701) internal successors, (118), 97 states have internal predecessors, (118), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:56:56,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 135 transitions. [2022-04-28 03:56:56,903 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 135 transitions. Word has length 34 [2022-04-28 03:56:56,903 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:56:56,903 INFO L495 AbstractCegarLoop]: Abstraction has 109 states and 135 transitions. [2022-04-28 03:56:56,903 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 1.5555555555555556) internal successors, (28), 16 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:56:56,903 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 109 states and 135 transitions. [2022-04-28 03:56:57,024 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:56:57,024 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 135 transitions. [2022-04-28 03:56:57,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 03:56:57,024 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:56:57,024 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:56:57,040 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 03:56:57,239 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:56:57,239 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:56:57,240 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:56:57,240 INFO L85 PathProgramCache]: Analyzing trace with hash 1224498974, now seen corresponding path program 5 times [2022-04-28 03:56:57,240 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:56:57,240 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2047304049] [2022-04-28 03:57:01,392 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:57:01,506 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:57:05,622 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:57:05,729 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:57:05,730 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:57:05,733 INFO L85 PathProgramCache]: Analyzing trace with hash -1469498303, now seen corresponding path program 1 times [2022-04-28 03:57:05,734 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:57:05,734 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1053677274] [2022-04-28 03:57:05,734 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:57:05,734 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:57:05,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:05,933 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:57:05,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:05,939 INFO L290 TraceCheckUtils]: 0: Hoare triple {7117#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:05,940 INFO L290 TraceCheckUtils]: 1: Hoare triple {7104#(<= 20 ~SIZE~0)} assume true; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:05,940 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7104#(<= 20 ~SIZE~0)} {7099#true} #90#return; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:05,940 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:57:05,941 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:05,943 INFO L290 TraceCheckUtils]: 0: Hoare triple {7099#true} ~cond := #in~cond; {7099#true} is VALID [2022-04-28 03:57:05,944 INFO L290 TraceCheckUtils]: 1: Hoare triple {7099#true} assume !(0 == ~cond); {7099#true} is VALID [2022-04-28 03:57:05,944 INFO L290 TraceCheckUtils]: 2: Hoare triple {7099#true} assume true; {7099#true} is VALID [2022-04-28 03:57:05,944 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7099#true} {7104#(<= 20 ~SIZE~0)} #86#return; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:05,945 INFO L272 TraceCheckUtils]: 0: Hoare triple {7099#true} call ULTIMATE.init(); {7117#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:57:05,945 INFO L290 TraceCheckUtils]: 1: Hoare triple {7117#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:05,945 INFO L290 TraceCheckUtils]: 2: Hoare triple {7104#(<= 20 ~SIZE~0)} assume true; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:05,946 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7104#(<= 20 ~SIZE~0)} {7099#true} #90#return; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:05,946 INFO L272 TraceCheckUtils]: 4: Hoare triple {7104#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:05,946 INFO L290 TraceCheckUtils]: 5: Hoare triple {7104#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:05,947 INFO L272 TraceCheckUtils]: 6: Hoare triple {7104#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {7099#true} is VALID [2022-04-28 03:57:05,947 INFO L290 TraceCheckUtils]: 7: Hoare triple {7099#true} ~cond := #in~cond; {7099#true} is VALID [2022-04-28 03:57:05,947 INFO L290 TraceCheckUtils]: 8: Hoare triple {7099#true} assume !(0 == ~cond); {7099#true} is VALID [2022-04-28 03:57:05,947 INFO L290 TraceCheckUtils]: 9: Hoare triple {7099#true} assume true; {7099#true} is VALID [2022-04-28 03:57:05,947 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7099#true} {7104#(<= 20 ~SIZE~0)} #86#return; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:05,948 INFO L290 TraceCheckUtils]: 11: Hoare triple {7104#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {7109#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:57:05,948 INFO L290 TraceCheckUtils]: 12: Hoare triple {7109#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {7110#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:57:05,949 INFO L290 TraceCheckUtils]: 13: Hoare triple {7110#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [122] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_70 v_main_~st~0_69)) (.cse1 (= |v_main_#t~post5_87| |v_main_#t~post5_85|)) (.cse2 (= v_main_~c~0_138 v_main_~c~0_137)) (.cse3 (<= v_~last~0_69 v_main_~c~0_138))) (or (and .cse0 .cse1 (= v_~last~0_69 v_~last~0_69) (= v_~SIZE~0_60 v_~SIZE~0_60) .cse2) (and .cse0 .cse1 .cse2 (or (not .cse3) (not (< v_main_~c~0_138 v_~SIZE~0_60)))) (and (= 0 v_main_~st~0_69) (< v_main_~c~0_137 (+ v_~SIZE~0_60 1)) (< v_main_~c~0_138 v_main_~c~0_137) .cse3))) InVars {~SIZE~0=v_~SIZE~0_60, main_~c~0=v_main_~c~0_138, main_#t~post5=|v_main_#t~post5_87|, main_~st~0=v_main_~st~0_70, ~last~0=v_~last~0_69} OutVars{~SIZE~0=v_~SIZE~0_60, main_#t~post5=|v_main_#t~post5_85|, main_~c~0=v_main_~c~0_137, main_~st~0=v_main_~st~0_69, ~last~0=v_~last~0_69} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {7111#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:05,949 INFO L290 TraceCheckUtils]: 14: Hoare triple {7111#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [123] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7111#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:05,950 INFO L290 TraceCheckUtils]: 15: Hoare triple {7111#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [124] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_90| |v_main_#t~post5_86|)) (.cse1 (= v_main_~c~0_140 v_main_~c~0_139))) (or (and .cse0 (= v_~last~0_70 v_~last~0_70) .cse1 (= v_~SIZE~0_61 v_~SIZE~0_61)) (and (< v_main_~c~0_140 v_main_~c~0_139) (< v_main_~c~0_139 (+ v_~SIZE~0_61 1)) (< v_main_~c~0_139 (+ v_~last~0_70 1))) (and .cse0 (or (not (< v_main_~c~0_140 v_~last~0_70)) (not (< v_main_~c~0_140 v_~SIZE~0_61))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_61, main_~c~0=v_main_~c~0_140, main_#t~post5=|v_main_#t~post5_90|, ~last~0=v_~last~0_70} OutVars{~SIZE~0=v_~SIZE~0_61, main_#t~post5=|v_main_#t~post5_86|, main_~c~0=v_main_~c~0_139, ~last~0=v_~last~0_70} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {7111#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:05,950 INFO L290 TraceCheckUtils]: 16: Hoare triple {7111#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [121] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {7112#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:57:05,951 INFO L290 TraceCheckUtils]: 17: Hoare triple {7112#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {7113#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:05,952 INFO L290 TraceCheckUtils]: 18: Hoare triple {7113#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {7113#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:05,952 INFO L290 TraceCheckUtils]: 19: Hoare triple {7113#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {7114#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:05,953 INFO L290 TraceCheckUtils]: 20: Hoare triple {7114#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {7114#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:05,953 INFO L272 TraceCheckUtils]: 21: Hoare triple {7114#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {7115#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:57:05,954 INFO L290 TraceCheckUtils]: 22: Hoare triple {7115#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {7116#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:57:05,954 INFO L290 TraceCheckUtils]: 23: Hoare triple {7116#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {7100#false} is VALID [2022-04-28 03:57:05,954 INFO L290 TraceCheckUtils]: 24: Hoare triple {7100#false} assume !false; {7100#false} is VALID [2022-04-28 03:57:05,954 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:05,954 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:57:05,954 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1053677274] [2022-04-28 03:57:05,955 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1053677274] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:57:05,955 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [341864467] [2022-04-28 03:57:05,955 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:57:05,955 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:57:05,955 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:57:05,956 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 03:57:05,957 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 03:57:05,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:05,990 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:57:05,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:05,997 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:57:06,283 INFO L272 TraceCheckUtils]: 0: Hoare triple {7099#true} call ULTIMATE.init(); {7099#true} is VALID [2022-04-28 03:57:06,284 INFO L290 TraceCheckUtils]: 1: Hoare triple {7099#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:06,284 INFO L290 TraceCheckUtils]: 2: Hoare triple {7104#(<= 20 ~SIZE~0)} assume true; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:06,285 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7104#(<= 20 ~SIZE~0)} {7099#true} #90#return; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:06,285 INFO L272 TraceCheckUtils]: 4: Hoare triple {7104#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:06,285 INFO L290 TraceCheckUtils]: 5: Hoare triple {7104#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:06,286 INFO L272 TraceCheckUtils]: 6: Hoare triple {7104#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:06,286 INFO L290 TraceCheckUtils]: 7: Hoare triple {7104#(<= 20 ~SIZE~0)} ~cond := #in~cond; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:06,286 INFO L290 TraceCheckUtils]: 8: Hoare triple {7104#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:06,287 INFO L290 TraceCheckUtils]: 9: Hoare triple {7104#(<= 20 ~SIZE~0)} assume true; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:06,287 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7104#(<= 20 ~SIZE~0)} {7104#(<= 20 ~SIZE~0)} #86#return; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:06,288 INFO L290 TraceCheckUtils]: 11: Hoare triple {7104#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:06,288 INFO L290 TraceCheckUtils]: 12: Hoare triple {7104#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {7157#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:57:06,289 INFO L290 TraceCheckUtils]: 13: Hoare triple {7157#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [122] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_70 v_main_~st~0_69)) (.cse1 (= |v_main_#t~post5_87| |v_main_#t~post5_85|)) (.cse2 (= v_main_~c~0_138 v_main_~c~0_137)) (.cse3 (<= v_~last~0_69 v_main_~c~0_138))) (or (and .cse0 .cse1 (= v_~last~0_69 v_~last~0_69) (= v_~SIZE~0_60 v_~SIZE~0_60) .cse2) (and .cse0 .cse1 .cse2 (or (not .cse3) (not (< v_main_~c~0_138 v_~SIZE~0_60)))) (and (= 0 v_main_~st~0_69) (< v_main_~c~0_137 (+ v_~SIZE~0_60 1)) (< v_main_~c~0_138 v_main_~c~0_137) .cse3))) InVars {~SIZE~0=v_~SIZE~0_60, main_~c~0=v_main_~c~0_138, main_#t~post5=|v_main_#t~post5_87|, main_~st~0=v_main_~st~0_70, ~last~0=v_~last~0_69} OutVars{~SIZE~0=v_~SIZE~0_60, main_#t~post5=|v_main_#t~post5_85|, main_~c~0=v_main_~c~0_137, main_~st~0=v_main_~st~0_69, ~last~0=v_~last~0_69} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {7161#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:06,289 INFO L290 TraceCheckUtils]: 14: Hoare triple {7161#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [123] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7161#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:06,290 INFO L290 TraceCheckUtils]: 15: Hoare triple {7161#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [124] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_90| |v_main_#t~post5_86|)) (.cse1 (= v_main_~c~0_140 v_main_~c~0_139))) (or (and .cse0 (= v_~last~0_70 v_~last~0_70) .cse1 (= v_~SIZE~0_61 v_~SIZE~0_61)) (and (< v_main_~c~0_140 v_main_~c~0_139) (< v_main_~c~0_139 (+ v_~SIZE~0_61 1)) (< v_main_~c~0_139 (+ v_~last~0_70 1))) (and .cse0 (or (not (< v_main_~c~0_140 v_~last~0_70)) (not (< v_main_~c~0_140 v_~SIZE~0_61))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_61, main_~c~0=v_main_~c~0_140, main_#t~post5=|v_main_#t~post5_90|, ~last~0=v_~last~0_70} OutVars{~SIZE~0=v_~SIZE~0_61, main_#t~post5=|v_main_#t~post5_86|, main_~c~0=v_main_~c~0_139, ~last~0=v_~last~0_70} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {7161#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:06,290 INFO L290 TraceCheckUtils]: 16: Hoare triple {7161#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [121] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {7171#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:57:06,291 INFO L290 TraceCheckUtils]: 17: Hoare triple {7171#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {7100#false} is VALID [2022-04-28 03:57:06,291 INFO L290 TraceCheckUtils]: 18: Hoare triple {7100#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {7100#false} is VALID [2022-04-28 03:57:06,291 INFO L290 TraceCheckUtils]: 19: Hoare triple {7100#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {7100#false} is VALID [2022-04-28 03:57:06,291 INFO L290 TraceCheckUtils]: 20: Hoare triple {7100#false} assume !(~d~0 == ~SIZE~0); {7100#false} is VALID [2022-04-28 03:57:06,291 INFO L272 TraceCheckUtils]: 21: Hoare triple {7100#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {7100#false} is VALID [2022-04-28 03:57:06,291 INFO L290 TraceCheckUtils]: 22: Hoare triple {7100#false} ~cond := #in~cond; {7100#false} is VALID [2022-04-28 03:57:06,291 INFO L290 TraceCheckUtils]: 23: Hoare triple {7100#false} assume 0 == ~cond; {7100#false} is VALID [2022-04-28 03:57:06,291 INFO L290 TraceCheckUtils]: 24: Hoare triple {7100#false} assume !false; {7100#false} is VALID [2022-04-28 03:57:06,292 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:06,292 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:57:06,670 INFO L290 TraceCheckUtils]: 24: Hoare triple {7100#false} assume !false; {7100#false} is VALID [2022-04-28 03:57:06,670 INFO L290 TraceCheckUtils]: 23: Hoare triple {7100#false} assume 0 == ~cond; {7100#false} is VALID [2022-04-28 03:57:06,670 INFO L290 TraceCheckUtils]: 22: Hoare triple {7100#false} ~cond := #in~cond; {7100#false} is VALID [2022-04-28 03:57:06,671 INFO L272 TraceCheckUtils]: 21: Hoare triple {7100#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {7100#false} is VALID [2022-04-28 03:57:06,671 INFO L290 TraceCheckUtils]: 20: Hoare triple {7100#false} assume !(~d~0 == ~SIZE~0); {7100#false} is VALID [2022-04-28 03:57:06,671 INFO L290 TraceCheckUtils]: 19: Hoare triple {7100#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {7100#false} is VALID [2022-04-28 03:57:06,671 INFO L290 TraceCheckUtils]: 18: Hoare triple {7100#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {7100#false} is VALID [2022-04-28 03:57:06,671 INFO L290 TraceCheckUtils]: 17: Hoare triple {7217#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {7100#false} is VALID [2022-04-28 03:57:06,672 INFO L290 TraceCheckUtils]: 16: Hoare triple {7221#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [121] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {7217#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:57:06,672 INFO L290 TraceCheckUtils]: 15: Hoare triple {7221#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [124] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_90| |v_main_#t~post5_86|)) (.cse1 (= v_main_~c~0_140 v_main_~c~0_139))) (or (and .cse0 (= v_~last~0_70 v_~last~0_70) .cse1 (= v_~SIZE~0_61 v_~SIZE~0_61)) (and (< v_main_~c~0_140 v_main_~c~0_139) (< v_main_~c~0_139 (+ v_~SIZE~0_61 1)) (< v_main_~c~0_139 (+ v_~last~0_70 1))) (and .cse0 (or (not (< v_main_~c~0_140 v_~last~0_70)) (not (< v_main_~c~0_140 v_~SIZE~0_61))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_61, main_~c~0=v_main_~c~0_140, main_#t~post5=|v_main_#t~post5_90|, ~last~0=v_~last~0_70} OutVars{~SIZE~0=v_~SIZE~0_61, main_#t~post5=|v_main_#t~post5_86|, main_~c~0=v_main_~c~0_139, ~last~0=v_~last~0_70} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {7221#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:06,673 INFO L290 TraceCheckUtils]: 14: Hoare triple {7221#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [123] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {7221#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:06,673 INFO L290 TraceCheckUtils]: 13: Hoare triple {7231#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [122] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_70 v_main_~st~0_69)) (.cse1 (= |v_main_#t~post5_87| |v_main_#t~post5_85|)) (.cse2 (= v_main_~c~0_138 v_main_~c~0_137)) (.cse3 (<= v_~last~0_69 v_main_~c~0_138))) (or (and .cse0 .cse1 (= v_~last~0_69 v_~last~0_69) (= v_~SIZE~0_60 v_~SIZE~0_60) .cse2) (and .cse0 .cse1 .cse2 (or (not .cse3) (not (< v_main_~c~0_138 v_~SIZE~0_60)))) (and (= 0 v_main_~st~0_69) (< v_main_~c~0_137 (+ v_~SIZE~0_60 1)) (< v_main_~c~0_138 v_main_~c~0_137) .cse3))) InVars {~SIZE~0=v_~SIZE~0_60, main_~c~0=v_main_~c~0_138, main_#t~post5=|v_main_#t~post5_87|, main_~st~0=v_main_~st~0_70, ~last~0=v_~last~0_69} OutVars{~SIZE~0=v_~SIZE~0_60, main_#t~post5=|v_main_#t~post5_85|, main_~c~0=v_main_~c~0_137, main_~st~0=v_main_~st~0_69, ~last~0=v_~last~0_69} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {7221#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:06,674 INFO L290 TraceCheckUtils]: 12: Hoare triple {7235#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {7231#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:57:06,674 INFO L290 TraceCheckUtils]: 11: Hoare triple {7235#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {7235#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:06,675 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7099#true} {7235#(< 1 ~SIZE~0)} #86#return; {7235#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:06,675 INFO L290 TraceCheckUtils]: 9: Hoare triple {7099#true} assume true; {7099#true} is VALID [2022-04-28 03:57:06,675 INFO L290 TraceCheckUtils]: 8: Hoare triple {7099#true} assume !(0 == ~cond); {7099#true} is VALID [2022-04-28 03:57:06,675 INFO L290 TraceCheckUtils]: 7: Hoare triple {7099#true} ~cond := #in~cond; {7099#true} is VALID [2022-04-28 03:57:06,675 INFO L272 TraceCheckUtils]: 6: Hoare triple {7235#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {7099#true} is VALID [2022-04-28 03:57:06,675 INFO L290 TraceCheckUtils]: 5: Hoare triple {7235#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {7235#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:06,676 INFO L272 TraceCheckUtils]: 4: Hoare triple {7235#(< 1 ~SIZE~0)} call #t~ret7 := main(); {7235#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:06,676 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7235#(< 1 ~SIZE~0)} {7099#true} #90#return; {7235#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:06,676 INFO L290 TraceCheckUtils]: 2: Hoare triple {7235#(< 1 ~SIZE~0)} assume true; {7235#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:06,677 INFO L290 TraceCheckUtils]: 1: Hoare triple {7099#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {7235#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:06,677 INFO L272 TraceCheckUtils]: 0: Hoare triple {7099#true} call ULTIMATE.init(); {7099#true} is VALID [2022-04-28 03:57:06,677 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:06,677 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [341864467] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:57:06,678 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:57:06,678 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:57:07,097 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:57:07,097 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2047304049] [2022-04-28 03:57:07,097 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2047304049] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:57:07,097 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:57:07,097 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 03:57:07,097 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [602669853] [2022-04-28 03:57:07,098 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:57:07,098 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 17 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 34 [2022-04-28 03:57:07,098 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:57:07,098 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 17 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:07,124 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:07,124 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 03:57:07,124 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:57:07,124 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 03:57:07,125 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=147, Invalid=609, Unknown=0, NotChecked=0, Total=756 [2022-04-28 03:57:07,125 INFO L87 Difference]: Start difference. First operand 109 states and 135 transitions. Second operand has 19 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 17 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:08,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:08,282 INFO L93 Difference]: Finished difference Result 175 states and 222 transitions. [2022-04-28 03:57:08,282 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 03:57:08,283 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 17 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 34 [2022-04-28 03:57:08,283 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:57:08,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 17 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:08,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 80 transitions. [2022-04-28 03:57:08,284 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 17 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:08,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 80 transitions. [2022-04-28 03:57:08,284 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 80 transitions. [2022-04-28 03:57:08,341 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:08,342 INFO L225 Difference]: With dead ends: 175 [2022-04-28 03:57:08,342 INFO L226 Difference]: Without dead ends: 121 [2022-04-28 03:57:08,343 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 48 SyntacticMatches, 4 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 263 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=159, Invalid=711, Unknown=0, NotChecked=0, Total=870 [2022-04-28 03:57:08,343 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 45 mSDsluCounter, 46 mSDsCounter, 0 mSdLazyCounter, 582 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 592 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 582 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 03:57:08,343 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 66 Invalid, 592 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 582 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 03:57:08,344 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-28 03:57:08,564 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 109. [2022-04-28 03:57:08,564 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:57:08,564 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 109 states, 94 states have (on average 1.2553191489361701) internal successors, (118), 97 states have internal predecessors, (118), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:08,564 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 109 states, 94 states have (on average 1.2553191489361701) internal successors, (118), 97 states have internal predecessors, (118), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:08,565 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 109 states, 94 states have (on average 1.2553191489361701) internal successors, (118), 97 states have internal predecessors, (118), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:08,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:08,566 INFO L93 Difference]: Finished difference Result 121 states and 149 transitions. [2022-04-28 03:57:08,567 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 149 transitions. [2022-04-28 03:57:08,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:57:08,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:57:08,567 INFO L74 IsIncluded]: Start isIncluded. First operand has 109 states, 94 states have (on average 1.2553191489361701) internal successors, (118), 97 states have internal predecessors, (118), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 121 states. [2022-04-28 03:57:08,567 INFO L87 Difference]: Start difference. First operand has 109 states, 94 states have (on average 1.2553191489361701) internal successors, (118), 97 states have internal predecessors, (118), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 121 states. [2022-04-28 03:57:08,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:08,569 INFO L93 Difference]: Finished difference Result 121 states and 149 transitions. [2022-04-28 03:57:08,569 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 149 transitions. [2022-04-28 03:57:08,569 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:57:08,569 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:57:08,569 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:57:08,569 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:57:08,570 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 109 states, 94 states have (on average 1.2553191489361701) internal successors, (118), 97 states have internal predecessors, (118), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:08,571 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 135 transitions. [2022-04-28 03:57:08,571 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 135 transitions. Word has length 34 [2022-04-28 03:57:08,571 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:57:08,571 INFO L495 AbstractCegarLoop]: Abstraction has 109 states and 135 transitions. [2022-04-28 03:57:08,572 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 1.4736842105263157) internal successors, (28), 17 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:08,572 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 109 states and 135 transitions. [2022-04-28 03:57:08,712 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:08,712 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 135 transitions. [2022-04-28 03:57:08,713 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 03:57:08,713 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:57:08,713 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 3, 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 03:57:08,731 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 03:57:08,913 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 03:57:08,913 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:57:08,914 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:57:08,914 INFO L85 PathProgramCache]: Analyzing trace with hash 213381724, now seen corresponding path program 6 times [2022-04-28 03:57:08,914 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:57:08,914 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [981245676] [2022-04-28 03:57:13,036 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:57:13,134 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:57:13,353 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:57:13,354 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:57:13,357 INFO L85 PathProgramCache]: Analyzing trace with hash 1023024449, now seen corresponding path program 1 times [2022-04-28 03:57:13,357 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:57:13,357 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1907222648] [2022-04-28 03:57:13,357 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:57:13,357 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:57:13,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:13,501 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:57:13,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:13,523 INFO L290 TraceCheckUtils]: 0: Hoare triple {8116#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,523 INFO L290 TraceCheckUtils]: 1: Hoare triple {8103#(<= 20 ~SIZE~0)} assume true; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,523 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {8103#(<= 20 ~SIZE~0)} {8098#true} #90#return; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,524 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:57:13,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:13,528 INFO L290 TraceCheckUtils]: 0: Hoare triple {8098#true} ~cond := #in~cond; {8098#true} is VALID [2022-04-28 03:57:13,529 INFO L290 TraceCheckUtils]: 1: Hoare triple {8098#true} assume !(0 == ~cond); {8098#true} is VALID [2022-04-28 03:57:13,529 INFO L290 TraceCheckUtils]: 2: Hoare triple {8098#true} assume true; {8098#true} is VALID [2022-04-28 03:57:13,529 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8098#true} {8103#(<= 20 ~SIZE~0)} #86#return; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,530 INFO L272 TraceCheckUtils]: 0: Hoare triple {8098#true} call ULTIMATE.init(); {8116#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:57:13,530 INFO L290 TraceCheckUtils]: 1: Hoare triple {8116#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,531 INFO L290 TraceCheckUtils]: 2: Hoare triple {8103#(<= 20 ~SIZE~0)} assume true; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,531 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8103#(<= 20 ~SIZE~0)} {8098#true} #90#return; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,531 INFO L272 TraceCheckUtils]: 4: Hoare triple {8103#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,532 INFO L290 TraceCheckUtils]: 5: Hoare triple {8103#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,532 INFO L272 TraceCheckUtils]: 6: Hoare triple {8103#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {8098#true} is VALID [2022-04-28 03:57:13,532 INFO L290 TraceCheckUtils]: 7: Hoare triple {8098#true} ~cond := #in~cond; {8098#true} is VALID [2022-04-28 03:57:13,532 INFO L290 TraceCheckUtils]: 8: Hoare triple {8098#true} assume !(0 == ~cond); {8098#true} is VALID [2022-04-28 03:57:13,532 INFO L290 TraceCheckUtils]: 9: Hoare triple {8098#true} assume true; {8098#true} is VALID [2022-04-28 03:57:13,532 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8098#true} {8103#(<= 20 ~SIZE~0)} #86#return; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,533 INFO L290 TraceCheckUtils]: 11: Hoare triple {8103#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {8108#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:57:13,533 INFO L290 TraceCheckUtils]: 12: Hoare triple {8108#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {8109#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:57:13,536 INFO L290 TraceCheckUtils]: 13: Hoare triple {8109#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [126] L25-3-->L25-4_primed: Formula: (let ((.cse2 (<= v_~last~0_79 v_main_~c~0_159)) (.cse0 (= v_main_~st~0_81 v_main_~st~0_80)) (.cse1 (= v_main_~c~0_159 v_main_~c~0_158))) (or (and (= |v_main_#t~post5_100| |v_main_#t~post5_98|) (= v_~SIZE~0_69 v_~SIZE~0_69) (= v_~last~0_79 v_~last~0_79) .cse0 .cse1) (and (< v_main_~c~0_158 (+ v_~SIZE~0_69 1)) .cse2 (= 0 v_main_~st~0_80) (< v_main_~c~0_159 v_main_~c~0_158)) (and (or (not .cse2) (not (< v_main_~c~0_159 v_~SIZE~0_69))) .cse0 .cse1 (= |v_main_#t~post5_98| |v_main_#t~post5_100|)))) InVars {~SIZE~0=v_~SIZE~0_69, main_~c~0=v_main_~c~0_159, main_#t~post5=|v_main_#t~post5_100|, main_~st~0=v_main_~st~0_81, ~last~0=v_~last~0_79} OutVars{~SIZE~0=v_~SIZE~0_69, main_#t~post5=|v_main_#t~post5_98|, main_~c~0=v_main_~c~0_158, main_~st~0=v_main_~st~0_80, ~last~0=v_~last~0_79} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {8110#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:13,537 INFO L290 TraceCheckUtils]: 14: Hoare triple {8110#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [127] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8110#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:13,538 INFO L290 TraceCheckUtils]: 15: Hoare triple {8110#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [128] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_161 v_main_~c~0_160))) (or (and (or (not (< v_main_~c~0_161 v_~last~0_80)) (not (< v_main_~c~0_161 v_~SIZE~0_70))) .cse0 (= |v_main_#t~post5_99| |v_main_#t~post5_103|)) (and (< v_main_~c~0_161 v_main_~c~0_160) (< v_main_~c~0_160 (+ v_~last~0_80 1)) (< v_main_~c~0_160 (+ v_~SIZE~0_70 1))) (and .cse0 (= v_~last~0_80 v_~last~0_80) (= v_~SIZE~0_70 v_~SIZE~0_70) (= |v_main_#t~post5_103| |v_main_#t~post5_99|)))) InVars {~SIZE~0=v_~SIZE~0_70, main_~c~0=v_main_~c~0_161, main_#t~post5=|v_main_#t~post5_103|, ~last~0=v_~last~0_80} OutVars{~SIZE~0=v_~SIZE~0_70, main_#t~post5=|v_main_#t~post5_99|, main_~c~0=v_main_~c~0_160, ~last~0=v_~last~0_80} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {8110#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:13,539 INFO L290 TraceCheckUtils]: 16: Hoare triple {8110#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [125] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {8111#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:57:13,540 INFO L290 TraceCheckUtils]: 17: Hoare triple {8111#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {8112#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:13,540 INFO L290 TraceCheckUtils]: 18: Hoare triple {8112#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {8112#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:13,541 INFO L290 TraceCheckUtils]: 19: Hoare triple {8112#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {8113#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:13,541 INFO L290 TraceCheckUtils]: 20: Hoare triple {8113#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {8113#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:13,542 INFO L272 TraceCheckUtils]: 21: Hoare triple {8113#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {8114#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:57:13,543 INFO L290 TraceCheckUtils]: 22: Hoare triple {8114#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {8115#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:57:13,543 INFO L290 TraceCheckUtils]: 23: Hoare triple {8115#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {8099#false} is VALID [2022-04-28 03:57:13,543 INFO L290 TraceCheckUtils]: 24: Hoare triple {8099#false} assume !false; {8099#false} is VALID [2022-04-28 03:57:13,543 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:13,543 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:57:13,543 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1907222648] [2022-04-28 03:57:13,543 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1907222648] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:57:13,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [889209805] [2022-04-28 03:57:13,544 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:57:13,544 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:57:13,544 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:57:13,545 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 03:57:13,560 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 03:57:13,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:13,590 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:57:13,596 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:13,597 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:57:13,813 INFO L272 TraceCheckUtils]: 0: Hoare triple {8098#true} call ULTIMATE.init(); {8098#true} is VALID [2022-04-28 03:57:13,814 INFO L290 TraceCheckUtils]: 1: Hoare triple {8098#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,814 INFO L290 TraceCheckUtils]: 2: Hoare triple {8103#(<= 20 ~SIZE~0)} assume true; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,814 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8103#(<= 20 ~SIZE~0)} {8098#true} #90#return; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,814 INFO L272 TraceCheckUtils]: 4: Hoare triple {8103#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,815 INFO L290 TraceCheckUtils]: 5: Hoare triple {8103#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,815 INFO L272 TraceCheckUtils]: 6: Hoare triple {8103#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,815 INFO L290 TraceCheckUtils]: 7: Hoare triple {8103#(<= 20 ~SIZE~0)} ~cond := #in~cond; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,815 INFO L290 TraceCheckUtils]: 8: Hoare triple {8103#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,816 INFO L290 TraceCheckUtils]: 9: Hoare triple {8103#(<= 20 ~SIZE~0)} assume true; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,816 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8103#(<= 20 ~SIZE~0)} {8103#(<= 20 ~SIZE~0)} #86#return; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,816 INFO L290 TraceCheckUtils]: 11: Hoare triple {8103#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:13,817 INFO L290 TraceCheckUtils]: 12: Hoare triple {8103#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {8156#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:57:13,818 INFO L290 TraceCheckUtils]: 13: Hoare triple {8156#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [126] L25-3-->L25-4_primed: Formula: (let ((.cse2 (<= v_~last~0_79 v_main_~c~0_159)) (.cse0 (= v_main_~st~0_81 v_main_~st~0_80)) (.cse1 (= v_main_~c~0_159 v_main_~c~0_158))) (or (and (= |v_main_#t~post5_100| |v_main_#t~post5_98|) (= v_~SIZE~0_69 v_~SIZE~0_69) (= v_~last~0_79 v_~last~0_79) .cse0 .cse1) (and (< v_main_~c~0_158 (+ v_~SIZE~0_69 1)) .cse2 (= 0 v_main_~st~0_80) (< v_main_~c~0_159 v_main_~c~0_158)) (and (or (not .cse2) (not (< v_main_~c~0_159 v_~SIZE~0_69))) .cse0 .cse1 (= |v_main_#t~post5_98| |v_main_#t~post5_100|)))) InVars {~SIZE~0=v_~SIZE~0_69, main_~c~0=v_main_~c~0_159, main_#t~post5=|v_main_#t~post5_100|, main_~st~0=v_main_~st~0_81, ~last~0=v_~last~0_79} OutVars{~SIZE~0=v_~SIZE~0_69, main_#t~post5=|v_main_#t~post5_98|, main_~c~0=v_main_~c~0_158, main_~st~0=v_main_~st~0_80, ~last~0=v_~last~0_79} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {8160#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:13,818 INFO L290 TraceCheckUtils]: 14: Hoare triple {8160#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [127] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8160#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:13,821 INFO L290 TraceCheckUtils]: 15: Hoare triple {8160#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [128] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_161 v_main_~c~0_160))) (or (and (or (not (< v_main_~c~0_161 v_~last~0_80)) (not (< v_main_~c~0_161 v_~SIZE~0_70))) .cse0 (= |v_main_#t~post5_99| |v_main_#t~post5_103|)) (and (< v_main_~c~0_161 v_main_~c~0_160) (< v_main_~c~0_160 (+ v_~last~0_80 1)) (< v_main_~c~0_160 (+ v_~SIZE~0_70 1))) (and .cse0 (= v_~last~0_80 v_~last~0_80) (= v_~SIZE~0_70 v_~SIZE~0_70) (= |v_main_#t~post5_103| |v_main_#t~post5_99|)))) InVars {~SIZE~0=v_~SIZE~0_70, main_~c~0=v_main_~c~0_161, main_#t~post5=|v_main_#t~post5_103|, ~last~0=v_~last~0_80} OutVars{~SIZE~0=v_~SIZE~0_70, main_#t~post5=|v_main_#t~post5_99|, main_~c~0=v_main_~c~0_160, ~last~0=v_~last~0_80} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {8160#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:13,821 INFO L290 TraceCheckUtils]: 16: Hoare triple {8160#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [125] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {8170#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:57:13,822 INFO L290 TraceCheckUtils]: 17: Hoare triple {8170#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {8099#false} is VALID [2022-04-28 03:57:13,822 INFO L290 TraceCheckUtils]: 18: Hoare triple {8099#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {8099#false} is VALID [2022-04-28 03:57:13,822 INFO L290 TraceCheckUtils]: 19: Hoare triple {8099#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {8099#false} is VALID [2022-04-28 03:57:13,822 INFO L290 TraceCheckUtils]: 20: Hoare triple {8099#false} assume !(~d~0 == ~SIZE~0); {8099#false} is VALID [2022-04-28 03:57:13,822 INFO L272 TraceCheckUtils]: 21: Hoare triple {8099#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {8099#false} is VALID [2022-04-28 03:57:13,822 INFO L290 TraceCheckUtils]: 22: Hoare triple {8099#false} ~cond := #in~cond; {8099#false} is VALID [2022-04-28 03:57:13,822 INFO L290 TraceCheckUtils]: 23: Hoare triple {8099#false} assume 0 == ~cond; {8099#false} is VALID [2022-04-28 03:57:13,822 INFO L290 TraceCheckUtils]: 24: Hoare triple {8099#false} assume !false; {8099#false} is VALID [2022-04-28 03:57:13,822 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:13,823 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:57:14,050 INFO L290 TraceCheckUtils]: 24: Hoare triple {8099#false} assume !false; {8099#false} is VALID [2022-04-28 03:57:14,050 INFO L290 TraceCheckUtils]: 23: Hoare triple {8099#false} assume 0 == ~cond; {8099#false} is VALID [2022-04-28 03:57:14,050 INFO L290 TraceCheckUtils]: 22: Hoare triple {8099#false} ~cond := #in~cond; {8099#false} is VALID [2022-04-28 03:57:14,050 INFO L272 TraceCheckUtils]: 21: Hoare triple {8099#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {8099#false} is VALID [2022-04-28 03:57:14,051 INFO L290 TraceCheckUtils]: 20: Hoare triple {8099#false} assume !(~d~0 == ~SIZE~0); {8099#false} is VALID [2022-04-28 03:57:14,051 INFO L290 TraceCheckUtils]: 19: Hoare triple {8099#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {8099#false} is VALID [2022-04-28 03:57:14,051 INFO L290 TraceCheckUtils]: 18: Hoare triple {8099#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {8099#false} is VALID [2022-04-28 03:57:14,072 INFO L290 TraceCheckUtils]: 17: Hoare triple {8216#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {8099#false} is VALID [2022-04-28 03:57:14,072 INFO L290 TraceCheckUtils]: 16: Hoare triple {8220#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [125] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {8216#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:57:14,073 INFO L290 TraceCheckUtils]: 15: Hoare triple {8220#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [128] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_161 v_main_~c~0_160))) (or (and (or (not (< v_main_~c~0_161 v_~last~0_80)) (not (< v_main_~c~0_161 v_~SIZE~0_70))) .cse0 (= |v_main_#t~post5_99| |v_main_#t~post5_103|)) (and (< v_main_~c~0_161 v_main_~c~0_160) (< v_main_~c~0_160 (+ v_~last~0_80 1)) (< v_main_~c~0_160 (+ v_~SIZE~0_70 1))) (and .cse0 (= v_~last~0_80 v_~last~0_80) (= v_~SIZE~0_70 v_~SIZE~0_70) (= |v_main_#t~post5_103| |v_main_#t~post5_99|)))) InVars {~SIZE~0=v_~SIZE~0_70, main_~c~0=v_main_~c~0_161, main_#t~post5=|v_main_#t~post5_103|, ~last~0=v_~last~0_80} OutVars{~SIZE~0=v_~SIZE~0_70, main_#t~post5=|v_main_#t~post5_99|, main_~c~0=v_main_~c~0_160, ~last~0=v_~last~0_80} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {8220#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:14,073 INFO L290 TraceCheckUtils]: 14: Hoare triple {8220#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [127] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {8220#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:14,074 INFO L290 TraceCheckUtils]: 13: Hoare triple {8230#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [126] L25-3-->L25-4_primed: Formula: (let ((.cse2 (<= v_~last~0_79 v_main_~c~0_159)) (.cse0 (= v_main_~st~0_81 v_main_~st~0_80)) (.cse1 (= v_main_~c~0_159 v_main_~c~0_158))) (or (and (= |v_main_#t~post5_100| |v_main_#t~post5_98|) (= v_~SIZE~0_69 v_~SIZE~0_69) (= v_~last~0_79 v_~last~0_79) .cse0 .cse1) (and (< v_main_~c~0_158 (+ v_~SIZE~0_69 1)) .cse2 (= 0 v_main_~st~0_80) (< v_main_~c~0_159 v_main_~c~0_158)) (and (or (not .cse2) (not (< v_main_~c~0_159 v_~SIZE~0_69))) .cse0 .cse1 (= |v_main_#t~post5_98| |v_main_#t~post5_100|)))) InVars {~SIZE~0=v_~SIZE~0_69, main_~c~0=v_main_~c~0_159, main_#t~post5=|v_main_#t~post5_100|, main_~st~0=v_main_~st~0_81, ~last~0=v_~last~0_79} OutVars{~SIZE~0=v_~SIZE~0_69, main_#t~post5=|v_main_#t~post5_98|, main_~c~0=v_main_~c~0_158, main_~st~0=v_main_~st~0_80, ~last~0=v_~last~0_79} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {8220#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:14,074 INFO L290 TraceCheckUtils]: 12: Hoare triple {8234#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {8230#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:57:14,074 INFO L290 TraceCheckUtils]: 11: Hoare triple {8234#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {8234#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:14,075 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8098#true} {8234#(< 1 ~SIZE~0)} #86#return; {8234#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:14,075 INFO L290 TraceCheckUtils]: 9: Hoare triple {8098#true} assume true; {8098#true} is VALID [2022-04-28 03:57:14,075 INFO L290 TraceCheckUtils]: 8: Hoare triple {8098#true} assume !(0 == ~cond); {8098#true} is VALID [2022-04-28 03:57:14,075 INFO L290 TraceCheckUtils]: 7: Hoare triple {8098#true} ~cond := #in~cond; {8098#true} is VALID [2022-04-28 03:57:14,075 INFO L272 TraceCheckUtils]: 6: Hoare triple {8234#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {8098#true} is VALID [2022-04-28 03:57:14,075 INFO L290 TraceCheckUtils]: 5: Hoare triple {8234#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {8234#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:14,075 INFO L272 TraceCheckUtils]: 4: Hoare triple {8234#(< 1 ~SIZE~0)} call #t~ret7 := main(); {8234#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:14,076 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8234#(< 1 ~SIZE~0)} {8098#true} #90#return; {8234#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:14,076 INFO L290 TraceCheckUtils]: 2: Hoare triple {8234#(< 1 ~SIZE~0)} assume true; {8234#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:14,076 INFO L290 TraceCheckUtils]: 1: Hoare triple {8098#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {8234#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:14,076 INFO L272 TraceCheckUtils]: 0: Hoare triple {8098#true} call ULTIMATE.init(); {8098#true} is VALID [2022-04-28 03:57:14,076 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:14,077 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [889209805] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:57:14,077 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:57:14,077 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:57:14,358 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:57:14,358 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [981245676] [2022-04-28 03:57:14,358 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [981245676] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:57:14,358 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:57:14,358 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-28 03:57:14,358 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2098597107] [2022-04-28 03:57:14,358 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:57:14,359 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.4) internal successors, (28), 18 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 34 [2022-04-28 03:57:14,359 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:57:14,359 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 20 states have (on average 1.4) internal successors, (28), 18 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:14,375 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:14,375 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-28 03:57:14,375 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:57:14,376 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-28 03:57:14,376 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=161, Invalid=651, Unknown=0, NotChecked=0, Total=812 [2022-04-28 03:57:14,376 INFO L87 Difference]: Start difference. First operand 109 states and 135 transitions. Second operand has 20 states, 20 states have (on average 1.4) internal successors, (28), 18 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:15,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:15,451 INFO L93 Difference]: Finished difference Result 186 states and 237 transitions. [2022-04-28 03:57:15,451 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 03:57:15,452 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.4) internal successors, (28), 18 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 34 [2022-04-28 03:57:15,455 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:57:15,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.4) internal successors, (28), 18 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:15,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 82 transitions. [2022-04-28 03:57:15,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.4) internal successors, (28), 18 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:15,457 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 82 transitions. [2022-04-28 03:57:15,457 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 82 transitions. [2022-04-28 03:57:15,541 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:15,543 INFO L225 Difference]: With dead ends: 186 [2022-04-28 03:57:15,543 INFO L226 Difference]: Without dead ends: 121 [2022-04-28 03:57:15,543 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 48 SyntacticMatches, 3 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 263 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=173, Invalid=757, Unknown=0, NotChecked=0, Total=930 [2022-04-28 03:57:15,547 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 54 mSDsluCounter, 43 mSDsCounter, 0 mSdLazyCounter, 598 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 63 SdHoareTripleChecker+Invalid, 610 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 598 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 03:57:15,548 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [55 Valid, 63 Invalid, 610 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 598 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 03:57:15,548 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-28 03:57:15,804 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 112. [2022-04-28 03:57:15,804 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:57:15,804 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 112 states, 97 states have (on average 1.2577319587628866) internal successors, (122), 100 states have internal predecessors, (122), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:15,804 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 112 states, 97 states have (on average 1.2577319587628866) internal successors, (122), 100 states have internal predecessors, (122), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:15,813 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 112 states, 97 states have (on average 1.2577319587628866) internal successors, (122), 100 states have internal predecessors, (122), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:15,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:15,815 INFO L93 Difference]: Finished difference Result 121 states and 150 transitions. [2022-04-28 03:57:15,815 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 150 transitions. [2022-04-28 03:57:15,815 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:57:15,815 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:57:15,815 INFO L74 IsIncluded]: Start isIncluded. First operand has 112 states, 97 states have (on average 1.2577319587628866) internal successors, (122), 100 states have internal predecessors, (122), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 121 states. [2022-04-28 03:57:15,815 INFO L87 Difference]: Start difference. First operand has 112 states, 97 states have (on average 1.2577319587628866) internal successors, (122), 100 states have internal predecessors, (122), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 121 states. [2022-04-28 03:57:15,817 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:15,818 INFO L93 Difference]: Finished difference Result 121 states and 150 transitions. [2022-04-28 03:57:15,818 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 150 transitions. [2022-04-28 03:57:15,818 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:57:15,818 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:57:15,818 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:57:15,818 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:57:15,818 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 112 states, 97 states have (on average 1.2577319587628866) internal successors, (122), 100 states have internal predecessors, (122), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:15,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 139 transitions. [2022-04-28 03:57:15,820 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 139 transitions. Word has length 34 [2022-04-28 03:57:15,820 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:57:15,820 INFO L495 AbstractCegarLoop]: Abstraction has 112 states and 139 transitions. [2022-04-28 03:57:15,820 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 1.4) internal successors, (28), 18 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:15,820 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 139 transitions. [2022-04-28 03:57:15,965 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 139 edges. 139 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:15,965 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 139 transitions. [2022-04-28 03:57:15,966 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 03:57:15,966 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:57:15,966 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 4, 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 03:57:15,985 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 03:57:16,166 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:57:16,166 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:57:16,167 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:57:16,167 INFO L85 PathProgramCache]: Analyzing trace with hash -802454433, now seen corresponding path program 7 times [2022-04-28 03:57:16,167 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:57:16,167 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [15793644] [2022-04-28 03:57:16,399 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:57:20,514 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:57:20,621 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:57:20,623 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:57:20,625 INFO L85 PathProgramCache]: Analyzing trace with hash -779420095, now seen corresponding path program 1 times [2022-04-28 03:57:20,626 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:57:20,626 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1059824613] [2022-04-28 03:57:20,626 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:57:20,626 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:57:20,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:20,788 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:57:20,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:20,795 INFO L290 TraceCheckUtils]: 0: Hoare triple {9144#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:20,796 INFO L290 TraceCheckUtils]: 1: Hoare triple {9131#(<= 20 ~SIZE~0)} assume true; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:20,796 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {9131#(<= 20 ~SIZE~0)} {9126#true} #90#return; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:20,796 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:57:20,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:20,800 INFO L290 TraceCheckUtils]: 0: Hoare triple {9126#true} ~cond := #in~cond; {9126#true} is VALID [2022-04-28 03:57:20,800 INFO L290 TraceCheckUtils]: 1: Hoare triple {9126#true} assume !(0 == ~cond); {9126#true} is VALID [2022-04-28 03:57:20,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {9126#true} assume true; {9126#true} is VALID [2022-04-28 03:57:20,801 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9126#true} {9131#(<= 20 ~SIZE~0)} #86#return; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:20,801 INFO L272 TraceCheckUtils]: 0: Hoare triple {9126#true} call ULTIMATE.init(); {9144#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:57:20,802 INFO L290 TraceCheckUtils]: 1: Hoare triple {9144#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:20,802 INFO L290 TraceCheckUtils]: 2: Hoare triple {9131#(<= 20 ~SIZE~0)} assume true; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:20,802 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9131#(<= 20 ~SIZE~0)} {9126#true} #90#return; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:20,803 INFO L272 TraceCheckUtils]: 4: Hoare triple {9131#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:20,803 INFO L290 TraceCheckUtils]: 5: Hoare triple {9131#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:20,803 INFO L272 TraceCheckUtils]: 6: Hoare triple {9131#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {9126#true} is VALID [2022-04-28 03:57:20,803 INFO L290 TraceCheckUtils]: 7: Hoare triple {9126#true} ~cond := #in~cond; {9126#true} is VALID [2022-04-28 03:57:20,803 INFO L290 TraceCheckUtils]: 8: Hoare triple {9126#true} assume !(0 == ~cond); {9126#true} is VALID [2022-04-28 03:57:20,803 INFO L290 TraceCheckUtils]: 9: Hoare triple {9126#true} assume true; {9126#true} is VALID [2022-04-28 03:57:20,804 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9126#true} {9131#(<= 20 ~SIZE~0)} #86#return; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:20,804 INFO L290 TraceCheckUtils]: 11: Hoare triple {9131#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {9136#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:57:20,804 INFO L290 TraceCheckUtils]: 12: Hoare triple {9136#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {9137#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:57:20,805 INFO L290 TraceCheckUtils]: 13: Hoare triple {9137#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [130] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_91 v_main_~st~0_90)) (.cse2 (= |v_main_#t~post5_113| |v_main_#t~post5_111|)) (.cse1 (<= v_~last~0_89 v_main_~c~0_180))) (or (and .cse0 (or (not .cse1) (not (< v_main_~c~0_180 v_~SIZE~0_78))) .cse2 (= v_main_~c~0_179 v_main_~c~0_180)) (and (= v_~SIZE~0_78 v_~SIZE~0_78) .cse0 (= v_~last~0_89 v_~last~0_89) (= v_main_~c~0_180 v_main_~c~0_179) .cse2) (and (< v_main_~c~0_180 v_main_~c~0_179) (= 0 v_main_~st~0_90) .cse1 (< v_main_~c~0_179 (+ v_~SIZE~0_78 1))))) InVars {~SIZE~0=v_~SIZE~0_78, main_~c~0=v_main_~c~0_180, main_#t~post5=|v_main_#t~post5_113|, main_~st~0=v_main_~st~0_91, ~last~0=v_~last~0_89} OutVars{~SIZE~0=v_~SIZE~0_78, main_#t~post5=|v_main_#t~post5_111|, main_~c~0=v_main_~c~0_179, main_~st~0=v_main_~st~0_90, ~last~0=v_~last~0_89} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {9138#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:20,806 INFO L290 TraceCheckUtils]: 14: Hoare triple {9138#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [131] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9138#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:20,806 INFO L290 TraceCheckUtils]: 15: Hoare triple {9138#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [132] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_182 v_main_~c~0_181)) (.cse1 (= |v_main_#t~post5_116| |v_main_#t~post5_112|))) (or (and (< v_main_~c~0_181 (+ v_~SIZE~0_79 1)) (< v_main_~c~0_181 (+ v_~last~0_90 1)) (< v_main_~c~0_182 v_main_~c~0_181)) (and .cse0 .cse1 (or (not (< v_main_~c~0_182 v_~last~0_90)) (not (< v_main_~c~0_182 v_~SIZE~0_79)))) (and .cse0 (= v_~last~0_90 v_~last~0_90) .cse1 (= v_~SIZE~0_79 v_~SIZE~0_79)))) InVars {~SIZE~0=v_~SIZE~0_79, main_~c~0=v_main_~c~0_182, main_#t~post5=|v_main_#t~post5_116|, ~last~0=v_~last~0_90} OutVars{~SIZE~0=v_~SIZE~0_79, main_#t~post5=|v_main_#t~post5_112|, main_~c~0=v_main_~c~0_181, ~last~0=v_~last~0_90} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {9138#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:20,807 INFO L290 TraceCheckUtils]: 16: Hoare triple {9138#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [129] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {9139#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:57:20,808 INFO L290 TraceCheckUtils]: 17: Hoare triple {9139#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {9140#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:20,808 INFO L290 TraceCheckUtils]: 18: Hoare triple {9140#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {9140#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:20,809 INFO L290 TraceCheckUtils]: 19: Hoare triple {9140#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {9141#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:20,809 INFO L290 TraceCheckUtils]: 20: Hoare triple {9141#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {9141#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:20,810 INFO L272 TraceCheckUtils]: 21: Hoare triple {9141#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {9142#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:57:20,810 INFO L290 TraceCheckUtils]: 22: Hoare triple {9142#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {9143#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:57:20,810 INFO L290 TraceCheckUtils]: 23: Hoare triple {9143#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {9127#false} is VALID [2022-04-28 03:57:20,810 INFO L290 TraceCheckUtils]: 24: Hoare triple {9127#false} assume !false; {9127#false} is VALID [2022-04-28 03:57:20,811 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:20,811 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:57:20,811 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1059824613] [2022-04-28 03:57:20,811 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1059824613] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:57:20,811 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [980411887] [2022-04-28 03:57:20,811 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:57:20,811 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:57:20,811 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:57:20,821 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 03:57:20,821 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 03:57:20,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:20,853 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:57:20,860 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:20,861 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:57:21,187 INFO L272 TraceCheckUtils]: 0: Hoare triple {9126#true} call ULTIMATE.init(); {9126#true} is VALID [2022-04-28 03:57:21,188 INFO L290 TraceCheckUtils]: 1: Hoare triple {9126#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:21,188 INFO L290 TraceCheckUtils]: 2: Hoare triple {9131#(<= 20 ~SIZE~0)} assume true; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:21,189 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9131#(<= 20 ~SIZE~0)} {9126#true} #90#return; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:21,189 INFO L272 TraceCheckUtils]: 4: Hoare triple {9131#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:21,189 INFO L290 TraceCheckUtils]: 5: Hoare triple {9131#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:21,190 INFO L272 TraceCheckUtils]: 6: Hoare triple {9131#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:21,190 INFO L290 TraceCheckUtils]: 7: Hoare triple {9131#(<= 20 ~SIZE~0)} ~cond := #in~cond; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:21,190 INFO L290 TraceCheckUtils]: 8: Hoare triple {9131#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:21,190 INFO L290 TraceCheckUtils]: 9: Hoare triple {9131#(<= 20 ~SIZE~0)} assume true; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:21,191 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9131#(<= 20 ~SIZE~0)} {9131#(<= 20 ~SIZE~0)} #86#return; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:21,191 INFO L290 TraceCheckUtils]: 11: Hoare triple {9131#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:21,191 INFO L290 TraceCheckUtils]: 12: Hoare triple {9131#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {9184#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:57:21,192 INFO L290 TraceCheckUtils]: 13: Hoare triple {9184#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [130] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_91 v_main_~st~0_90)) (.cse2 (= |v_main_#t~post5_113| |v_main_#t~post5_111|)) (.cse1 (<= v_~last~0_89 v_main_~c~0_180))) (or (and .cse0 (or (not .cse1) (not (< v_main_~c~0_180 v_~SIZE~0_78))) .cse2 (= v_main_~c~0_179 v_main_~c~0_180)) (and (= v_~SIZE~0_78 v_~SIZE~0_78) .cse0 (= v_~last~0_89 v_~last~0_89) (= v_main_~c~0_180 v_main_~c~0_179) .cse2) (and (< v_main_~c~0_180 v_main_~c~0_179) (= 0 v_main_~st~0_90) .cse1 (< v_main_~c~0_179 (+ v_~SIZE~0_78 1))))) InVars {~SIZE~0=v_~SIZE~0_78, main_~c~0=v_main_~c~0_180, main_#t~post5=|v_main_#t~post5_113|, main_~st~0=v_main_~st~0_91, ~last~0=v_~last~0_89} OutVars{~SIZE~0=v_~SIZE~0_78, main_#t~post5=|v_main_#t~post5_111|, main_~c~0=v_main_~c~0_179, main_~st~0=v_main_~st~0_90, ~last~0=v_~last~0_89} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {9188#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:21,192 INFO L290 TraceCheckUtils]: 14: Hoare triple {9188#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [131] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9188#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:21,193 INFO L290 TraceCheckUtils]: 15: Hoare triple {9188#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [132] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_182 v_main_~c~0_181)) (.cse1 (= |v_main_#t~post5_116| |v_main_#t~post5_112|))) (or (and (< v_main_~c~0_181 (+ v_~SIZE~0_79 1)) (< v_main_~c~0_181 (+ v_~last~0_90 1)) (< v_main_~c~0_182 v_main_~c~0_181)) (and .cse0 .cse1 (or (not (< v_main_~c~0_182 v_~last~0_90)) (not (< v_main_~c~0_182 v_~SIZE~0_79)))) (and .cse0 (= v_~last~0_90 v_~last~0_90) .cse1 (= v_~SIZE~0_79 v_~SIZE~0_79)))) InVars {~SIZE~0=v_~SIZE~0_79, main_~c~0=v_main_~c~0_182, main_#t~post5=|v_main_#t~post5_116|, ~last~0=v_~last~0_90} OutVars{~SIZE~0=v_~SIZE~0_79, main_#t~post5=|v_main_#t~post5_112|, main_~c~0=v_main_~c~0_181, ~last~0=v_~last~0_90} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {9188#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:21,194 INFO L290 TraceCheckUtils]: 16: Hoare triple {9188#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [129] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {9198#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:57:21,194 INFO L290 TraceCheckUtils]: 17: Hoare triple {9198#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {9127#false} is VALID [2022-04-28 03:57:21,195 INFO L290 TraceCheckUtils]: 18: Hoare triple {9127#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {9127#false} is VALID [2022-04-28 03:57:21,195 INFO L290 TraceCheckUtils]: 19: Hoare triple {9127#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {9127#false} is VALID [2022-04-28 03:57:21,195 INFO L290 TraceCheckUtils]: 20: Hoare triple {9127#false} assume !(~d~0 == ~SIZE~0); {9127#false} is VALID [2022-04-28 03:57:21,195 INFO L272 TraceCheckUtils]: 21: Hoare triple {9127#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {9127#false} is VALID [2022-04-28 03:57:21,195 INFO L290 TraceCheckUtils]: 22: Hoare triple {9127#false} ~cond := #in~cond; {9127#false} is VALID [2022-04-28 03:57:21,195 INFO L290 TraceCheckUtils]: 23: Hoare triple {9127#false} assume 0 == ~cond; {9127#false} is VALID [2022-04-28 03:57:21,195 INFO L290 TraceCheckUtils]: 24: Hoare triple {9127#false} assume !false; {9127#false} is VALID [2022-04-28 03:57:21,196 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:21,196 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:57:21,576 INFO L290 TraceCheckUtils]: 24: Hoare triple {9127#false} assume !false; {9127#false} is VALID [2022-04-28 03:57:21,576 INFO L290 TraceCheckUtils]: 23: Hoare triple {9127#false} assume 0 == ~cond; {9127#false} is VALID [2022-04-28 03:57:21,576 INFO L290 TraceCheckUtils]: 22: Hoare triple {9127#false} ~cond := #in~cond; {9127#false} is VALID [2022-04-28 03:57:21,576 INFO L272 TraceCheckUtils]: 21: Hoare triple {9127#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {9127#false} is VALID [2022-04-28 03:57:21,576 INFO L290 TraceCheckUtils]: 20: Hoare triple {9127#false} assume !(~d~0 == ~SIZE~0); {9127#false} is VALID [2022-04-28 03:57:21,577 INFO L290 TraceCheckUtils]: 19: Hoare triple {9127#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {9127#false} is VALID [2022-04-28 03:57:21,577 INFO L290 TraceCheckUtils]: 18: Hoare triple {9127#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {9127#false} is VALID [2022-04-28 03:57:21,577 INFO L290 TraceCheckUtils]: 17: Hoare triple {9244#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {9127#false} is VALID [2022-04-28 03:57:21,578 INFO L290 TraceCheckUtils]: 16: Hoare triple {9248#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [129] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {9244#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:57:21,578 INFO L290 TraceCheckUtils]: 15: Hoare triple {9248#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [132] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_182 v_main_~c~0_181)) (.cse1 (= |v_main_#t~post5_116| |v_main_#t~post5_112|))) (or (and (< v_main_~c~0_181 (+ v_~SIZE~0_79 1)) (< v_main_~c~0_181 (+ v_~last~0_90 1)) (< v_main_~c~0_182 v_main_~c~0_181)) (and .cse0 .cse1 (or (not (< v_main_~c~0_182 v_~last~0_90)) (not (< v_main_~c~0_182 v_~SIZE~0_79)))) (and .cse0 (= v_~last~0_90 v_~last~0_90) .cse1 (= v_~SIZE~0_79 v_~SIZE~0_79)))) InVars {~SIZE~0=v_~SIZE~0_79, main_~c~0=v_main_~c~0_182, main_#t~post5=|v_main_#t~post5_116|, ~last~0=v_~last~0_90} OutVars{~SIZE~0=v_~SIZE~0_79, main_#t~post5=|v_main_#t~post5_112|, main_~c~0=v_main_~c~0_181, ~last~0=v_~last~0_90} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {9248#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:21,578 INFO L290 TraceCheckUtils]: 14: Hoare triple {9248#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [131] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {9248#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:21,579 INFO L290 TraceCheckUtils]: 13: Hoare triple {9258#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [130] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_91 v_main_~st~0_90)) (.cse2 (= |v_main_#t~post5_113| |v_main_#t~post5_111|)) (.cse1 (<= v_~last~0_89 v_main_~c~0_180))) (or (and .cse0 (or (not .cse1) (not (< v_main_~c~0_180 v_~SIZE~0_78))) .cse2 (= v_main_~c~0_179 v_main_~c~0_180)) (and (= v_~SIZE~0_78 v_~SIZE~0_78) .cse0 (= v_~last~0_89 v_~last~0_89) (= v_main_~c~0_180 v_main_~c~0_179) .cse2) (and (< v_main_~c~0_180 v_main_~c~0_179) (= 0 v_main_~st~0_90) .cse1 (< v_main_~c~0_179 (+ v_~SIZE~0_78 1))))) InVars {~SIZE~0=v_~SIZE~0_78, main_~c~0=v_main_~c~0_180, main_#t~post5=|v_main_#t~post5_113|, main_~st~0=v_main_~st~0_91, ~last~0=v_~last~0_89} OutVars{~SIZE~0=v_~SIZE~0_78, main_#t~post5=|v_main_#t~post5_111|, main_~c~0=v_main_~c~0_179, main_~st~0=v_main_~st~0_90, ~last~0=v_~last~0_89} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {9248#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:21,580 INFO L290 TraceCheckUtils]: 12: Hoare triple {9262#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {9258#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:57:21,580 INFO L290 TraceCheckUtils]: 11: Hoare triple {9262#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {9262#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:21,580 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9126#true} {9262#(< 1 ~SIZE~0)} #86#return; {9262#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:21,580 INFO L290 TraceCheckUtils]: 9: Hoare triple {9126#true} assume true; {9126#true} is VALID [2022-04-28 03:57:21,580 INFO L290 TraceCheckUtils]: 8: Hoare triple {9126#true} assume !(0 == ~cond); {9126#true} is VALID [2022-04-28 03:57:21,581 INFO L290 TraceCheckUtils]: 7: Hoare triple {9126#true} ~cond := #in~cond; {9126#true} is VALID [2022-04-28 03:57:21,581 INFO L272 TraceCheckUtils]: 6: Hoare triple {9262#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {9126#true} is VALID [2022-04-28 03:57:21,581 INFO L290 TraceCheckUtils]: 5: Hoare triple {9262#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {9262#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:21,581 INFO L272 TraceCheckUtils]: 4: Hoare triple {9262#(< 1 ~SIZE~0)} call #t~ret7 := main(); {9262#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:21,582 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9262#(< 1 ~SIZE~0)} {9126#true} #90#return; {9262#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:21,582 INFO L290 TraceCheckUtils]: 2: Hoare triple {9262#(< 1 ~SIZE~0)} assume true; {9262#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:21,582 INFO L290 TraceCheckUtils]: 1: Hoare triple {9126#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {9262#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:21,582 INFO L272 TraceCheckUtils]: 0: Hoare triple {9126#true} call ULTIMATE.init(); {9126#true} is VALID [2022-04-28 03:57:21,583 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:21,583 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [980411887] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:57:21,583 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:57:21,583 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:57:22,033 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:57:22,033 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [15793644] [2022-04-28 03:57:22,033 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [15793644] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:57:22,033 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:57:22,033 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 03:57:22,033 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [289859175] [2022-04-28 03:57:22,033 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:57:22,033 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 37 [2022-04-28 03:57:22,035 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:57:22,035 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:22,071 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:22,071 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 03:57:22,071 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:57:22,071 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 03:57:22,072 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=140, Invalid=616, Unknown=0, NotChecked=0, Total=756 [2022-04-28 03:57:22,072 INFO L87 Difference]: Start difference. First operand 112 states and 139 transitions. Second operand has 19 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:22,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:22,995 INFO L93 Difference]: Finished difference Result 180 states and 228 transitions. [2022-04-28 03:57:22,995 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 03:57:22,995 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 37 [2022-04-28 03:57:22,995 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:57:22,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:22,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 82 transitions. [2022-04-28 03:57:22,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:22,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 82 transitions. [2022-04-28 03:57:22,997 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 82 transitions. [2022-04-28 03:57:23,034 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:23,036 INFO L225 Difference]: With dead ends: 180 [2022-04-28 03:57:23,036 INFO L226 Difference]: Without dead ends: 126 [2022-04-28 03:57:23,036 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 48 SyntacticMatches, 7 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 296 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=152, Invalid=718, Unknown=0, NotChecked=0, Total=870 [2022-04-28 03:57:23,037 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 55 mSDsluCounter, 36 mSDsCounter, 0 mSdLazyCounter, 517 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 56 SdHoareTripleChecker+Valid, 56 SdHoareTripleChecker+Invalid, 528 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 517 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 03:57:23,037 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [56 Valid, 56 Invalid, 528 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 517 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 03:57:23,037 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 126 states. [2022-04-28 03:57:23,185 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 126 to 115. [2022-04-28 03:57:23,185 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:57:23,185 INFO L82 GeneralOperation]: Start isEquivalent. First operand 126 states. Second operand has 115 states, 100 states have (on average 1.25) internal successors, (125), 103 states have internal predecessors, (125), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:23,186 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand has 115 states, 100 states have (on average 1.25) internal successors, (125), 103 states have internal predecessors, (125), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:23,186 INFO L87 Difference]: Start difference. First operand 126 states. Second operand has 115 states, 100 states have (on average 1.25) internal successors, (125), 103 states have internal predecessors, (125), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:23,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:23,196 INFO L93 Difference]: Finished difference Result 126 states and 155 transitions. [2022-04-28 03:57:23,196 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 155 transitions. [2022-04-28 03:57:23,196 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:57:23,196 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:57:23,196 INFO L74 IsIncluded]: Start isIncluded. First operand has 115 states, 100 states have (on average 1.25) internal successors, (125), 103 states have internal predecessors, (125), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 126 states. [2022-04-28 03:57:23,196 INFO L87 Difference]: Start difference. First operand has 115 states, 100 states have (on average 1.25) internal successors, (125), 103 states have internal predecessors, (125), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 126 states. [2022-04-28 03:57:23,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:23,198 INFO L93 Difference]: Finished difference Result 126 states and 155 transitions. [2022-04-28 03:57:23,198 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 155 transitions. [2022-04-28 03:57:23,198 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:57:23,198 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:57:23,198 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:57:23,198 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:57:23,199 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 115 states, 100 states have (on average 1.25) internal successors, (125), 103 states have internal predecessors, (125), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:23,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 142 transitions. [2022-04-28 03:57:23,200 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 142 transitions. Word has length 37 [2022-04-28 03:57:23,200 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:57:23,200 INFO L495 AbstractCegarLoop]: Abstraction has 115 states and 142 transitions. [2022-04-28 03:57:23,200 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 1.631578947368421) internal successors, (31), 17 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:23,200 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 115 states and 142 transitions. [2022-04-28 03:57:23,321 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:23,322 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 142 transitions. [2022-04-28 03:57:23,323 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 03:57:23,323 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:57:23,323 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:57:23,338 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 03:57:23,528 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:57:23,528 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:57:23,529 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:57:23,529 INFO L85 PathProgramCache]: Analyzing trace with hash -1620102883, now seen corresponding path program 8 times [2022-04-28 03:57:23,529 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:57:23,529 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1026232824] [2022-04-28 03:57:23,746 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:57:23,964 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:57:23,966 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:57:23,969 INFO L85 PathProgramCache]: Analyzing trace with hash 1713102657, now seen corresponding path program 1 times [2022-04-28 03:57:23,969 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:57:23,969 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1808621463] [2022-04-28 03:57:23,969 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:57:23,969 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:57:23,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:24,144 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:57:24,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:24,151 INFO L290 TraceCheckUtils]: 0: Hoare triple {10175#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,151 INFO L290 TraceCheckUtils]: 1: Hoare triple {10162#(<= 20 ~SIZE~0)} assume true; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,152 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10162#(<= 20 ~SIZE~0)} {10157#true} #90#return; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,152 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:57:24,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:24,156 INFO L290 TraceCheckUtils]: 0: Hoare triple {10157#true} ~cond := #in~cond; {10157#true} is VALID [2022-04-28 03:57:24,156 INFO L290 TraceCheckUtils]: 1: Hoare triple {10157#true} assume !(0 == ~cond); {10157#true} is VALID [2022-04-28 03:57:24,156 INFO L290 TraceCheckUtils]: 2: Hoare triple {10157#true} assume true; {10157#true} is VALID [2022-04-28 03:57:24,157 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10157#true} {10162#(<= 20 ~SIZE~0)} #86#return; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,157 INFO L272 TraceCheckUtils]: 0: Hoare triple {10157#true} call ULTIMATE.init(); {10175#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:57:24,158 INFO L290 TraceCheckUtils]: 1: Hoare triple {10175#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,158 INFO L290 TraceCheckUtils]: 2: Hoare triple {10162#(<= 20 ~SIZE~0)} assume true; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,158 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10162#(<= 20 ~SIZE~0)} {10157#true} #90#return; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,159 INFO L272 TraceCheckUtils]: 4: Hoare triple {10162#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,159 INFO L290 TraceCheckUtils]: 5: Hoare triple {10162#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,159 INFO L272 TraceCheckUtils]: 6: Hoare triple {10162#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {10157#true} is VALID [2022-04-28 03:57:24,159 INFO L290 TraceCheckUtils]: 7: Hoare triple {10157#true} ~cond := #in~cond; {10157#true} is VALID [2022-04-28 03:57:24,159 INFO L290 TraceCheckUtils]: 8: Hoare triple {10157#true} assume !(0 == ~cond); {10157#true} is VALID [2022-04-28 03:57:24,159 INFO L290 TraceCheckUtils]: 9: Hoare triple {10157#true} assume true; {10157#true} is VALID [2022-04-28 03:57:24,160 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10157#true} {10162#(<= 20 ~SIZE~0)} #86#return; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,160 INFO L290 TraceCheckUtils]: 11: Hoare triple {10162#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {10167#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:57:24,161 INFO L290 TraceCheckUtils]: 12: Hoare triple {10167#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {10168#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:57:24,161 INFO L290 TraceCheckUtils]: 13: Hoare triple {10168#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [134] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_126| |v_main_#t~post5_124|)) (.cse1 (= v_main_~st~0_104 v_main_~st~0_103)) (.cse2 (= v_main_~c~0_202 v_main_~c~0_201)) (.cse3 (<= v_~last~0_99 v_main_~c~0_202))) (or (and (= v_~SIZE~0_87 v_~SIZE~0_87) .cse0 (= v_~last~0_99 v_~last~0_99) .cse1 .cse2) (and (or (not .cse3) (not (< v_main_~c~0_202 v_~SIZE~0_87))) .cse0 .cse1 .cse2) (and (< v_main_~c~0_202 v_main_~c~0_201) (< v_main_~c~0_201 (+ v_~SIZE~0_87 1)) .cse3 (= v_main_~st~0_103 0)))) InVars {~SIZE~0=v_~SIZE~0_87, main_~c~0=v_main_~c~0_202, main_#t~post5=|v_main_#t~post5_126|, main_~st~0=v_main_~st~0_104, ~last~0=v_~last~0_99} OutVars{~SIZE~0=v_~SIZE~0_87, main_#t~post5=|v_main_#t~post5_124|, main_~c~0=v_main_~c~0_201, main_~st~0=v_main_~st~0_103, ~last~0=v_~last~0_99} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {10169#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:24,162 INFO L290 TraceCheckUtils]: 14: Hoare triple {10169#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [135] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10169#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:24,162 INFO L290 TraceCheckUtils]: 15: Hoare triple {10169#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [136] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_129| |v_main_#t~post5_125|)) (.cse1 (= v_main_~c~0_204 v_main_~c~0_203))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_204 v_~SIZE~0_88)) (not (< v_main_~c~0_204 v_~last~0_100)))) (and .cse0 .cse1 (= v_~SIZE~0_88 v_~SIZE~0_88) (= v_~last~0_100 v_~last~0_100)) (and (< v_main_~c~0_203 (+ v_~last~0_100 1)) (< v_main_~c~0_203 (+ v_~SIZE~0_88 1)) (< v_main_~c~0_204 v_main_~c~0_203)))) InVars {~SIZE~0=v_~SIZE~0_88, main_~c~0=v_main_~c~0_204, main_#t~post5=|v_main_#t~post5_129|, ~last~0=v_~last~0_100} OutVars{~SIZE~0=v_~SIZE~0_88, main_#t~post5=|v_main_#t~post5_125|, main_~c~0=v_main_~c~0_203, ~last~0=v_~last~0_100} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {10169#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:24,163 INFO L290 TraceCheckUtils]: 16: Hoare triple {10169#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [133] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {10170#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:57:24,164 INFO L290 TraceCheckUtils]: 17: Hoare triple {10170#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {10171#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:24,164 INFO L290 TraceCheckUtils]: 18: Hoare triple {10171#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {10171#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:24,165 INFO L290 TraceCheckUtils]: 19: Hoare triple {10171#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {10172#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:24,165 INFO L290 TraceCheckUtils]: 20: Hoare triple {10172#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {10172#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:24,166 INFO L272 TraceCheckUtils]: 21: Hoare triple {10172#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {10173#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:57:24,166 INFO L290 TraceCheckUtils]: 22: Hoare triple {10173#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {10174#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:57:24,167 INFO L290 TraceCheckUtils]: 23: Hoare triple {10174#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {10158#false} is VALID [2022-04-28 03:57:24,167 INFO L290 TraceCheckUtils]: 24: Hoare triple {10158#false} assume !false; {10158#false} is VALID [2022-04-28 03:57:24,167 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:24,167 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:57:24,167 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1808621463] [2022-04-28 03:57:24,167 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1808621463] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:57:24,167 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1790412007] [2022-04-28 03:57:24,167 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:57:24,167 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:57:24,168 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:57:24,168 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 03:57:24,169 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 03:57:24,198 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:24,201 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:57:24,207 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:24,207 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:57:24,414 INFO L272 TraceCheckUtils]: 0: Hoare triple {10157#true} call ULTIMATE.init(); {10157#true} is VALID [2022-04-28 03:57:24,414 INFO L290 TraceCheckUtils]: 1: Hoare triple {10157#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,414 INFO L290 TraceCheckUtils]: 2: Hoare triple {10162#(<= 20 ~SIZE~0)} assume true; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,415 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10162#(<= 20 ~SIZE~0)} {10157#true} #90#return; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,415 INFO L272 TraceCheckUtils]: 4: Hoare triple {10162#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,415 INFO L290 TraceCheckUtils]: 5: Hoare triple {10162#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,415 INFO L272 TraceCheckUtils]: 6: Hoare triple {10162#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,416 INFO L290 TraceCheckUtils]: 7: Hoare triple {10162#(<= 20 ~SIZE~0)} ~cond := #in~cond; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,416 INFO L290 TraceCheckUtils]: 8: Hoare triple {10162#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,416 INFO L290 TraceCheckUtils]: 9: Hoare triple {10162#(<= 20 ~SIZE~0)} assume true; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,416 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10162#(<= 20 ~SIZE~0)} {10162#(<= 20 ~SIZE~0)} #86#return; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,417 INFO L290 TraceCheckUtils]: 11: Hoare triple {10162#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:24,417 INFO L290 TraceCheckUtils]: 12: Hoare triple {10162#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {10215#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:57:24,418 INFO L290 TraceCheckUtils]: 13: Hoare triple {10215#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [134] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_126| |v_main_#t~post5_124|)) (.cse1 (= v_main_~st~0_104 v_main_~st~0_103)) (.cse2 (= v_main_~c~0_202 v_main_~c~0_201)) (.cse3 (<= v_~last~0_99 v_main_~c~0_202))) (or (and (= v_~SIZE~0_87 v_~SIZE~0_87) .cse0 (= v_~last~0_99 v_~last~0_99) .cse1 .cse2) (and (or (not .cse3) (not (< v_main_~c~0_202 v_~SIZE~0_87))) .cse0 .cse1 .cse2) (and (< v_main_~c~0_202 v_main_~c~0_201) (< v_main_~c~0_201 (+ v_~SIZE~0_87 1)) .cse3 (= v_main_~st~0_103 0)))) InVars {~SIZE~0=v_~SIZE~0_87, main_~c~0=v_main_~c~0_202, main_#t~post5=|v_main_#t~post5_126|, main_~st~0=v_main_~st~0_104, ~last~0=v_~last~0_99} OutVars{~SIZE~0=v_~SIZE~0_87, main_#t~post5=|v_main_#t~post5_124|, main_~c~0=v_main_~c~0_201, main_~st~0=v_main_~st~0_103, ~last~0=v_~last~0_99} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {10219#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:24,418 INFO L290 TraceCheckUtils]: 14: Hoare triple {10219#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [135] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10219#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:24,419 INFO L290 TraceCheckUtils]: 15: Hoare triple {10219#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [136] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_129| |v_main_#t~post5_125|)) (.cse1 (= v_main_~c~0_204 v_main_~c~0_203))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_204 v_~SIZE~0_88)) (not (< v_main_~c~0_204 v_~last~0_100)))) (and .cse0 .cse1 (= v_~SIZE~0_88 v_~SIZE~0_88) (= v_~last~0_100 v_~last~0_100)) (and (< v_main_~c~0_203 (+ v_~last~0_100 1)) (< v_main_~c~0_203 (+ v_~SIZE~0_88 1)) (< v_main_~c~0_204 v_main_~c~0_203)))) InVars {~SIZE~0=v_~SIZE~0_88, main_~c~0=v_main_~c~0_204, main_#t~post5=|v_main_#t~post5_129|, ~last~0=v_~last~0_100} OutVars{~SIZE~0=v_~SIZE~0_88, main_#t~post5=|v_main_#t~post5_125|, main_~c~0=v_main_~c~0_203, ~last~0=v_~last~0_100} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {10219#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:24,419 INFO L290 TraceCheckUtils]: 16: Hoare triple {10219#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [133] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {10229#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:57:24,419 INFO L290 TraceCheckUtils]: 17: Hoare triple {10229#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {10158#false} is VALID [2022-04-28 03:57:24,419 INFO L290 TraceCheckUtils]: 18: Hoare triple {10158#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {10158#false} is VALID [2022-04-28 03:57:24,420 INFO L290 TraceCheckUtils]: 19: Hoare triple {10158#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {10158#false} is VALID [2022-04-28 03:57:24,420 INFO L290 TraceCheckUtils]: 20: Hoare triple {10158#false} assume !(~d~0 == ~SIZE~0); {10158#false} is VALID [2022-04-28 03:57:24,420 INFO L272 TraceCheckUtils]: 21: Hoare triple {10158#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {10158#false} is VALID [2022-04-28 03:57:24,420 INFO L290 TraceCheckUtils]: 22: Hoare triple {10158#false} ~cond := #in~cond; {10158#false} is VALID [2022-04-28 03:57:24,420 INFO L290 TraceCheckUtils]: 23: Hoare triple {10158#false} assume 0 == ~cond; {10158#false} is VALID [2022-04-28 03:57:24,420 INFO L290 TraceCheckUtils]: 24: Hoare triple {10158#false} assume !false; {10158#false} is VALID [2022-04-28 03:57:24,420 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:24,420 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:57:24,675 INFO L290 TraceCheckUtils]: 24: Hoare triple {10158#false} assume !false; {10158#false} is VALID [2022-04-28 03:57:24,675 INFO L290 TraceCheckUtils]: 23: Hoare triple {10158#false} assume 0 == ~cond; {10158#false} is VALID [2022-04-28 03:57:24,675 INFO L290 TraceCheckUtils]: 22: Hoare triple {10158#false} ~cond := #in~cond; {10158#false} is VALID [2022-04-28 03:57:24,675 INFO L272 TraceCheckUtils]: 21: Hoare triple {10158#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {10158#false} is VALID [2022-04-28 03:57:24,675 INFO L290 TraceCheckUtils]: 20: Hoare triple {10158#false} assume !(~d~0 == ~SIZE~0); {10158#false} is VALID [2022-04-28 03:57:24,675 INFO L290 TraceCheckUtils]: 19: Hoare triple {10158#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {10158#false} is VALID [2022-04-28 03:57:24,675 INFO L290 TraceCheckUtils]: 18: Hoare triple {10158#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {10158#false} is VALID [2022-04-28 03:57:24,676 INFO L290 TraceCheckUtils]: 17: Hoare triple {10275#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {10158#false} is VALID [2022-04-28 03:57:24,676 INFO L290 TraceCheckUtils]: 16: Hoare triple {10279#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [133] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {10275#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:57:24,677 INFO L290 TraceCheckUtils]: 15: Hoare triple {10279#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [136] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_129| |v_main_#t~post5_125|)) (.cse1 (= v_main_~c~0_204 v_main_~c~0_203))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_204 v_~SIZE~0_88)) (not (< v_main_~c~0_204 v_~last~0_100)))) (and .cse0 .cse1 (= v_~SIZE~0_88 v_~SIZE~0_88) (= v_~last~0_100 v_~last~0_100)) (and (< v_main_~c~0_203 (+ v_~last~0_100 1)) (< v_main_~c~0_203 (+ v_~SIZE~0_88 1)) (< v_main_~c~0_204 v_main_~c~0_203)))) InVars {~SIZE~0=v_~SIZE~0_88, main_~c~0=v_main_~c~0_204, main_#t~post5=|v_main_#t~post5_129|, ~last~0=v_~last~0_100} OutVars{~SIZE~0=v_~SIZE~0_88, main_#t~post5=|v_main_#t~post5_125|, main_~c~0=v_main_~c~0_203, ~last~0=v_~last~0_100} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {10279#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:24,678 INFO L290 TraceCheckUtils]: 14: Hoare triple {10279#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [135] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10279#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:24,679 INFO L290 TraceCheckUtils]: 13: Hoare triple {10289#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [134] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_126| |v_main_#t~post5_124|)) (.cse1 (= v_main_~st~0_104 v_main_~st~0_103)) (.cse2 (= v_main_~c~0_202 v_main_~c~0_201)) (.cse3 (<= v_~last~0_99 v_main_~c~0_202))) (or (and (= v_~SIZE~0_87 v_~SIZE~0_87) .cse0 (= v_~last~0_99 v_~last~0_99) .cse1 .cse2) (and (or (not .cse3) (not (< v_main_~c~0_202 v_~SIZE~0_87))) .cse0 .cse1 .cse2) (and (< v_main_~c~0_202 v_main_~c~0_201) (< v_main_~c~0_201 (+ v_~SIZE~0_87 1)) .cse3 (= v_main_~st~0_103 0)))) InVars {~SIZE~0=v_~SIZE~0_87, main_~c~0=v_main_~c~0_202, main_#t~post5=|v_main_#t~post5_126|, main_~st~0=v_main_~st~0_104, ~last~0=v_~last~0_99} OutVars{~SIZE~0=v_~SIZE~0_87, main_#t~post5=|v_main_#t~post5_124|, main_~c~0=v_main_~c~0_201, main_~st~0=v_main_~st~0_103, ~last~0=v_~last~0_99} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {10279#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:24,679 INFO L290 TraceCheckUtils]: 12: Hoare triple {10293#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {10289#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:57:24,679 INFO L290 TraceCheckUtils]: 11: Hoare triple {10293#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {10293#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:24,679 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10157#true} {10293#(< 1 ~SIZE~0)} #86#return; {10293#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:24,679 INFO L290 TraceCheckUtils]: 9: Hoare triple {10157#true} assume true; {10157#true} is VALID [2022-04-28 03:57:24,680 INFO L290 TraceCheckUtils]: 8: Hoare triple {10157#true} assume !(0 == ~cond); {10157#true} is VALID [2022-04-28 03:57:24,680 INFO L290 TraceCheckUtils]: 7: Hoare triple {10157#true} ~cond := #in~cond; {10157#true} is VALID [2022-04-28 03:57:24,680 INFO L272 TraceCheckUtils]: 6: Hoare triple {10293#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {10157#true} is VALID [2022-04-28 03:57:24,680 INFO L290 TraceCheckUtils]: 5: Hoare triple {10293#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {10293#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:24,680 INFO L272 TraceCheckUtils]: 4: Hoare triple {10293#(< 1 ~SIZE~0)} call #t~ret7 := main(); {10293#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:24,680 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10293#(< 1 ~SIZE~0)} {10157#true} #90#return; {10293#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:24,681 INFO L290 TraceCheckUtils]: 2: Hoare triple {10293#(< 1 ~SIZE~0)} assume true; {10293#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:24,681 INFO L290 TraceCheckUtils]: 1: Hoare triple {10157#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {10293#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:24,681 INFO L272 TraceCheckUtils]: 0: Hoare triple {10157#true} call ULTIMATE.init(); {10157#true} is VALID [2022-04-28 03:57:24,681 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:24,681 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1790412007] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:57:24,682 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:57:24,682 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:57:25,093 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:57:25,093 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1026232824] [2022-04-28 03:57:25,093 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1026232824] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:57:25,093 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:57:25,093 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-28 03:57:25,093 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1688357661] [2022-04-28 03:57:25,093 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:57:25,094 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.55) internal successors, (31), 18 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 37 [2022-04-28 03:57:25,094 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:57:25,094 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 20 states have (on average 1.55) internal successors, (31), 18 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:25,123 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:25,124 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-28 03:57:25,124 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:57:25,124 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-28 03:57:25,124 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=154, Invalid=658, Unknown=0, NotChecked=0, Total=812 [2022-04-28 03:57:25,124 INFO L87 Difference]: Start difference. First operand 115 states and 142 transitions. Second operand has 20 states, 20 states have (on average 1.55) internal successors, (31), 18 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:26,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:26,337 INFO L93 Difference]: Finished difference Result 183 states and 231 transitions. [2022-04-28 03:57:26,337 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 03:57:26,337 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.55) internal successors, (31), 18 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 37 [2022-04-28 03:57:26,337 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:57:26,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.55) internal successors, (31), 18 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:26,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 83 transitions. [2022-04-28 03:57:26,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.55) internal successors, (31), 18 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:26,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 83 transitions. [2022-04-28 03:57:26,356 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 83 transitions. [2022-04-28 03:57:26,417 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:26,419 INFO L225 Difference]: With dead ends: 183 [2022-04-28 03:57:26,420 INFO L226 Difference]: Without dead ends: 129 [2022-04-28 03:57:26,420 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 48 SyntacticMatches, 6 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 313 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=166, Invalid=764, Unknown=0, NotChecked=0, Total=930 [2022-04-28 03:57:26,420 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 47 mSDsluCounter, 46 mSDsCounter, 0 mSdLazyCounter, 626 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 636 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 626 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 03:57:26,420 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 66 Invalid, 636 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 626 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 03:57:26,421 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-28 03:57:26,659 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 115. [2022-04-28 03:57:26,659 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:57:26,659 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 115 states, 100 states have (on average 1.25) internal successors, (125), 103 states have internal predecessors, (125), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:26,659 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 115 states, 100 states have (on average 1.25) internal successors, (125), 103 states have internal predecessors, (125), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:26,660 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 115 states, 100 states have (on average 1.25) internal successors, (125), 103 states have internal predecessors, (125), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:26,661 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:26,661 INFO L93 Difference]: Finished difference Result 129 states and 158 transitions. [2022-04-28 03:57:26,661 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 158 transitions. [2022-04-28 03:57:26,662 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:57:26,662 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:57:26,662 INFO L74 IsIncluded]: Start isIncluded. First operand has 115 states, 100 states have (on average 1.25) internal successors, (125), 103 states have internal predecessors, (125), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 129 states. [2022-04-28 03:57:26,662 INFO L87 Difference]: Start difference. First operand has 115 states, 100 states have (on average 1.25) internal successors, (125), 103 states have internal predecessors, (125), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 129 states. [2022-04-28 03:57:26,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:26,664 INFO L93 Difference]: Finished difference Result 129 states and 158 transitions. [2022-04-28 03:57:26,664 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 158 transitions. [2022-04-28 03:57:26,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:57:26,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:57:26,664 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:57:26,664 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:57:26,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 115 states, 100 states have (on average 1.25) internal successors, (125), 103 states have internal predecessors, (125), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:26,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 142 transitions. [2022-04-28 03:57:26,666 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 142 transitions. Word has length 37 [2022-04-28 03:57:26,666 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:57:26,666 INFO L495 AbstractCegarLoop]: Abstraction has 115 states and 142 transitions. [2022-04-28 03:57:26,666 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 1.55) internal successors, (31), 18 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:26,666 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 115 states and 142 transitions. [2022-04-28 03:57:26,829 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:26,829 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 142 transitions. [2022-04-28 03:57:26,830 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 03:57:26,830 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:57:26,830 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:57:26,846 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-28 03:57:27,030 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,SelfDestructingSolverStorable15 [2022-04-28 03:57:27,030 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:57:27,031 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:57:27,031 INFO L85 PathProgramCache]: Analyzing trace with hash 1086516511, now seen corresponding path program 9 times [2022-04-28 03:57:27,031 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:57:27,031 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1669356453] [2022-04-28 03:57:29,521 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:57:29,650 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:57:33,768 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:57:33,872 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:57:33,873 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:57:33,876 INFO L85 PathProgramCache]: Analyzing trace with hash -89341887, now seen corresponding path program 1 times [2022-04-28 03:57:33,876 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:57:33,876 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1586858225] [2022-04-28 03:57:33,876 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:57:33,876 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:57:33,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:34,045 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:57:34,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:34,069 INFO L290 TraceCheckUtils]: 0: Hoare triple {11219#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,070 INFO L290 TraceCheckUtils]: 1: Hoare triple {11206#(<= 20 ~SIZE~0)} assume true; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,070 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {11206#(<= 20 ~SIZE~0)} {11201#true} #90#return; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,070 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:57:34,071 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:34,073 INFO L290 TraceCheckUtils]: 0: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 03:57:34,073 INFO L290 TraceCheckUtils]: 1: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 03:57:34,073 INFO L290 TraceCheckUtils]: 2: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 03:57:34,074 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11201#true} {11206#(<= 20 ~SIZE~0)} #86#return; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,074 INFO L272 TraceCheckUtils]: 0: Hoare triple {11201#true} call ULTIMATE.init(); {11219#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:57:34,075 INFO L290 TraceCheckUtils]: 1: Hoare triple {11219#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,075 INFO L290 TraceCheckUtils]: 2: Hoare triple {11206#(<= 20 ~SIZE~0)} assume true; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,076 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11206#(<= 20 ~SIZE~0)} {11201#true} #90#return; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,076 INFO L272 TraceCheckUtils]: 4: Hoare triple {11206#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,076 INFO L290 TraceCheckUtils]: 5: Hoare triple {11206#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,076 INFO L272 TraceCheckUtils]: 6: Hoare triple {11206#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {11201#true} is VALID [2022-04-28 03:57:34,076 INFO L290 TraceCheckUtils]: 7: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 03:57:34,076 INFO L290 TraceCheckUtils]: 8: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 03:57:34,077 INFO L290 TraceCheckUtils]: 9: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 03:57:34,077 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11201#true} {11206#(<= 20 ~SIZE~0)} #86#return; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,077 INFO L290 TraceCheckUtils]: 11: Hoare triple {11206#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {11211#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:57:34,078 INFO L290 TraceCheckUtils]: 12: Hoare triple {11211#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {11212#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:57:34,078 INFO L290 TraceCheckUtils]: 13: Hoare triple {11212#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [138] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_116 v_main_~st~0_115)) (.cse0 (<= v_~last~0_109 v_main_~c~0_224)) (.cse2 (= |v_main_#t~post5_139| |v_main_#t~post5_137|)) (.cse3 (= v_main_~c~0_224 v_main_~c~0_223))) (or (and .cse0 (< v_main_~c~0_223 (+ v_~SIZE~0_96 1)) (< v_main_~c~0_224 v_main_~c~0_223) (= v_main_~st~0_115 0)) (and .cse1 (= v_~SIZE~0_96 v_~SIZE~0_96) .cse2 (= v_~last~0_109 v_~last~0_109) .cse3) (and .cse1 (or (not (< v_main_~c~0_224 v_~SIZE~0_96)) (not .cse0)) .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_96, main_~c~0=v_main_~c~0_224, main_#t~post5=|v_main_#t~post5_139|, main_~st~0=v_main_~st~0_116, ~last~0=v_~last~0_109} OutVars{~SIZE~0=v_~SIZE~0_96, main_#t~post5=|v_main_#t~post5_137|, main_~c~0=v_main_~c~0_223, main_~st~0=v_main_~st~0_115, ~last~0=v_~last~0_109} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {11213#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:34,079 INFO L290 TraceCheckUtils]: 14: Hoare triple {11213#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [139] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11213#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:34,080 INFO L290 TraceCheckUtils]: 15: Hoare triple {11213#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [140] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_226 v_main_~c~0_225))) (or (and (< v_main_~c~0_225 (+ v_~SIZE~0_97 1)) (< v_main_~c~0_226 v_main_~c~0_225) (< v_main_~c~0_225 (+ v_~last~0_110 1))) (and (or (not (< v_main_~c~0_226 v_~SIZE~0_97)) (not (< v_main_~c~0_226 v_~last~0_110))) (= |v_main_#t~post5_138| |v_main_#t~post5_142|) .cse0) (and (= v_~last~0_110 v_~last~0_110) (= |v_main_#t~post5_142| |v_main_#t~post5_138|) (= v_~SIZE~0_97 v_~SIZE~0_97) .cse0))) InVars {~SIZE~0=v_~SIZE~0_97, main_~c~0=v_main_~c~0_226, main_#t~post5=|v_main_#t~post5_142|, ~last~0=v_~last~0_110} OutVars{~SIZE~0=v_~SIZE~0_97, main_#t~post5=|v_main_#t~post5_138|, main_~c~0=v_main_~c~0_225, ~last~0=v_~last~0_110} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {11213#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:34,080 INFO L290 TraceCheckUtils]: 16: Hoare triple {11213#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [137] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {11214#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:57:34,081 INFO L290 TraceCheckUtils]: 17: Hoare triple {11214#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {11215#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:34,081 INFO L290 TraceCheckUtils]: 18: Hoare triple {11215#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {11215#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:34,082 INFO L290 TraceCheckUtils]: 19: Hoare triple {11215#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {11216#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:34,082 INFO L290 TraceCheckUtils]: 20: Hoare triple {11216#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {11216#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:34,083 INFO L272 TraceCheckUtils]: 21: Hoare triple {11216#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {11217#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:57:34,083 INFO L290 TraceCheckUtils]: 22: Hoare triple {11217#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {11218#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:57:34,084 INFO L290 TraceCheckUtils]: 23: Hoare triple {11218#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {11202#false} is VALID [2022-04-28 03:57:34,084 INFO L290 TraceCheckUtils]: 24: Hoare triple {11202#false} assume !false; {11202#false} is VALID [2022-04-28 03:57:34,084 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:34,084 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:57:34,084 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1586858225] [2022-04-28 03:57:34,084 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1586858225] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:57:34,084 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1109812158] [2022-04-28 03:57:34,084 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:57:34,085 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:57:34,085 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:57:34,085 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 03:57:34,086 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 03:57:34,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:34,116 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:57:34,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:34,124 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:57:34,422 INFO L272 TraceCheckUtils]: 0: Hoare triple {11201#true} call ULTIMATE.init(); {11201#true} is VALID [2022-04-28 03:57:34,422 INFO L290 TraceCheckUtils]: 1: Hoare triple {11201#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,423 INFO L290 TraceCheckUtils]: 2: Hoare triple {11206#(<= 20 ~SIZE~0)} assume true; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,423 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11206#(<= 20 ~SIZE~0)} {11201#true} #90#return; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,423 INFO L272 TraceCheckUtils]: 4: Hoare triple {11206#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,424 INFO L290 TraceCheckUtils]: 5: Hoare triple {11206#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,424 INFO L272 TraceCheckUtils]: 6: Hoare triple {11206#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,424 INFO L290 TraceCheckUtils]: 7: Hoare triple {11206#(<= 20 ~SIZE~0)} ~cond := #in~cond; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,425 INFO L290 TraceCheckUtils]: 8: Hoare triple {11206#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,425 INFO L290 TraceCheckUtils]: 9: Hoare triple {11206#(<= 20 ~SIZE~0)} assume true; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,425 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11206#(<= 20 ~SIZE~0)} {11206#(<= 20 ~SIZE~0)} #86#return; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,426 INFO L290 TraceCheckUtils]: 11: Hoare triple {11206#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:34,426 INFO L290 TraceCheckUtils]: 12: Hoare triple {11206#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {11259#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:57:34,427 INFO L290 TraceCheckUtils]: 13: Hoare triple {11259#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [138] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_116 v_main_~st~0_115)) (.cse0 (<= v_~last~0_109 v_main_~c~0_224)) (.cse2 (= |v_main_#t~post5_139| |v_main_#t~post5_137|)) (.cse3 (= v_main_~c~0_224 v_main_~c~0_223))) (or (and .cse0 (< v_main_~c~0_223 (+ v_~SIZE~0_96 1)) (< v_main_~c~0_224 v_main_~c~0_223) (= v_main_~st~0_115 0)) (and .cse1 (= v_~SIZE~0_96 v_~SIZE~0_96) .cse2 (= v_~last~0_109 v_~last~0_109) .cse3) (and .cse1 (or (not (< v_main_~c~0_224 v_~SIZE~0_96)) (not .cse0)) .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_96, main_~c~0=v_main_~c~0_224, main_#t~post5=|v_main_#t~post5_139|, main_~st~0=v_main_~st~0_116, ~last~0=v_~last~0_109} OutVars{~SIZE~0=v_~SIZE~0_96, main_#t~post5=|v_main_#t~post5_137|, main_~c~0=v_main_~c~0_223, main_~st~0=v_main_~st~0_115, ~last~0=v_~last~0_109} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {11263#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:34,427 INFO L290 TraceCheckUtils]: 14: Hoare triple {11263#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [139] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11263#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:34,428 INFO L290 TraceCheckUtils]: 15: Hoare triple {11263#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [140] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_226 v_main_~c~0_225))) (or (and (< v_main_~c~0_225 (+ v_~SIZE~0_97 1)) (< v_main_~c~0_226 v_main_~c~0_225) (< v_main_~c~0_225 (+ v_~last~0_110 1))) (and (or (not (< v_main_~c~0_226 v_~SIZE~0_97)) (not (< v_main_~c~0_226 v_~last~0_110))) (= |v_main_#t~post5_138| |v_main_#t~post5_142|) .cse0) (and (= v_~last~0_110 v_~last~0_110) (= |v_main_#t~post5_142| |v_main_#t~post5_138|) (= v_~SIZE~0_97 v_~SIZE~0_97) .cse0))) InVars {~SIZE~0=v_~SIZE~0_97, main_~c~0=v_main_~c~0_226, main_#t~post5=|v_main_#t~post5_142|, ~last~0=v_~last~0_110} OutVars{~SIZE~0=v_~SIZE~0_97, main_#t~post5=|v_main_#t~post5_138|, main_~c~0=v_main_~c~0_225, ~last~0=v_~last~0_110} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {11263#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:34,428 INFO L290 TraceCheckUtils]: 16: Hoare triple {11263#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [137] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {11273#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:57:34,429 INFO L290 TraceCheckUtils]: 17: Hoare triple {11273#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {11202#false} is VALID [2022-04-28 03:57:34,429 INFO L290 TraceCheckUtils]: 18: Hoare triple {11202#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {11202#false} is VALID [2022-04-28 03:57:34,429 INFO L290 TraceCheckUtils]: 19: Hoare triple {11202#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {11202#false} is VALID [2022-04-28 03:57:34,429 INFO L290 TraceCheckUtils]: 20: Hoare triple {11202#false} assume !(~d~0 == ~SIZE~0); {11202#false} is VALID [2022-04-28 03:57:34,429 INFO L272 TraceCheckUtils]: 21: Hoare triple {11202#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {11202#false} is VALID [2022-04-28 03:57:34,429 INFO L290 TraceCheckUtils]: 22: Hoare triple {11202#false} ~cond := #in~cond; {11202#false} is VALID [2022-04-28 03:57:34,429 INFO L290 TraceCheckUtils]: 23: Hoare triple {11202#false} assume 0 == ~cond; {11202#false} is VALID [2022-04-28 03:57:34,429 INFO L290 TraceCheckUtils]: 24: Hoare triple {11202#false} assume !false; {11202#false} is VALID [2022-04-28 03:57:34,430 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:34,430 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:57:34,726 INFO L290 TraceCheckUtils]: 24: Hoare triple {11202#false} assume !false; {11202#false} is VALID [2022-04-28 03:57:34,726 INFO L290 TraceCheckUtils]: 23: Hoare triple {11202#false} assume 0 == ~cond; {11202#false} is VALID [2022-04-28 03:57:34,726 INFO L290 TraceCheckUtils]: 22: Hoare triple {11202#false} ~cond := #in~cond; {11202#false} is VALID [2022-04-28 03:57:34,726 INFO L272 TraceCheckUtils]: 21: Hoare triple {11202#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {11202#false} is VALID [2022-04-28 03:57:34,726 INFO L290 TraceCheckUtils]: 20: Hoare triple {11202#false} assume !(~d~0 == ~SIZE~0); {11202#false} is VALID [2022-04-28 03:57:34,726 INFO L290 TraceCheckUtils]: 19: Hoare triple {11202#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {11202#false} is VALID [2022-04-28 03:57:34,726 INFO L290 TraceCheckUtils]: 18: Hoare triple {11202#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {11202#false} is VALID [2022-04-28 03:57:34,727 INFO L290 TraceCheckUtils]: 17: Hoare triple {11319#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {11202#false} is VALID [2022-04-28 03:57:34,727 INFO L290 TraceCheckUtils]: 16: Hoare triple {11323#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [137] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {11319#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:57:34,728 INFO L290 TraceCheckUtils]: 15: Hoare triple {11323#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [140] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_226 v_main_~c~0_225))) (or (and (< v_main_~c~0_225 (+ v_~SIZE~0_97 1)) (< v_main_~c~0_226 v_main_~c~0_225) (< v_main_~c~0_225 (+ v_~last~0_110 1))) (and (or (not (< v_main_~c~0_226 v_~SIZE~0_97)) (not (< v_main_~c~0_226 v_~last~0_110))) (= |v_main_#t~post5_138| |v_main_#t~post5_142|) .cse0) (and (= v_~last~0_110 v_~last~0_110) (= |v_main_#t~post5_142| |v_main_#t~post5_138|) (= v_~SIZE~0_97 v_~SIZE~0_97) .cse0))) InVars {~SIZE~0=v_~SIZE~0_97, main_~c~0=v_main_~c~0_226, main_#t~post5=|v_main_#t~post5_142|, ~last~0=v_~last~0_110} OutVars{~SIZE~0=v_~SIZE~0_97, main_#t~post5=|v_main_#t~post5_138|, main_~c~0=v_main_~c~0_225, ~last~0=v_~last~0_110} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {11323#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:34,728 INFO L290 TraceCheckUtils]: 14: Hoare triple {11323#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [139] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {11323#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:34,729 INFO L290 TraceCheckUtils]: 13: Hoare triple {11333#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [138] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_116 v_main_~st~0_115)) (.cse0 (<= v_~last~0_109 v_main_~c~0_224)) (.cse2 (= |v_main_#t~post5_139| |v_main_#t~post5_137|)) (.cse3 (= v_main_~c~0_224 v_main_~c~0_223))) (or (and .cse0 (< v_main_~c~0_223 (+ v_~SIZE~0_96 1)) (< v_main_~c~0_224 v_main_~c~0_223) (= v_main_~st~0_115 0)) (and .cse1 (= v_~SIZE~0_96 v_~SIZE~0_96) .cse2 (= v_~last~0_109 v_~last~0_109) .cse3) (and .cse1 (or (not (< v_main_~c~0_224 v_~SIZE~0_96)) (not .cse0)) .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_96, main_~c~0=v_main_~c~0_224, main_#t~post5=|v_main_#t~post5_139|, main_~st~0=v_main_~st~0_116, ~last~0=v_~last~0_109} OutVars{~SIZE~0=v_~SIZE~0_96, main_#t~post5=|v_main_#t~post5_137|, main_~c~0=v_main_~c~0_223, main_~st~0=v_main_~st~0_115, ~last~0=v_~last~0_109} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {11323#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:34,729 INFO L290 TraceCheckUtils]: 12: Hoare triple {11337#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {11333#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:57:34,729 INFO L290 TraceCheckUtils]: 11: Hoare triple {11337#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {11337#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:34,730 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11201#true} {11337#(< 1 ~SIZE~0)} #86#return; {11337#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:34,730 INFO L290 TraceCheckUtils]: 9: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-28 03:57:34,730 INFO L290 TraceCheckUtils]: 8: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-28 03:57:34,730 INFO L290 TraceCheckUtils]: 7: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-28 03:57:34,730 INFO L272 TraceCheckUtils]: 6: Hoare triple {11337#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {11201#true} is VALID [2022-04-28 03:57:34,730 INFO L290 TraceCheckUtils]: 5: Hoare triple {11337#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {11337#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:34,730 INFO L272 TraceCheckUtils]: 4: Hoare triple {11337#(< 1 ~SIZE~0)} call #t~ret7 := main(); {11337#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:34,731 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11337#(< 1 ~SIZE~0)} {11201#true} #90#return; {11337#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:34,731 INFO L290 TraceCheckUtils]: 2: Hoare triple {11337#(< 1 ~SIZE~0)} assume true; {11337#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:34,731 INFO L290 TraceCheckUtils]: 1: Hoare triple {11201#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {11337#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:34,731 INFO L272 TraceCheckUtils]: 0: Hoare triple {11201#true} call ULTIMATE.init(); {11201#true} is VALID [2022-04-28 03:57:34,731 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:34,732 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1109812158] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:57:34,732 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:57:34,732 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:57:35,115 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:57:35,115 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1669356453] [2022-04-28 03:57:35,115 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1669356453] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:57:35,115 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:57:35,115 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-28 03:57:35,115 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [175304228] [2022-04-28 03:57:35,115 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:57:35,115 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 19 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 37 [2022-04-28 03:57:35,116 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:57:35,116 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 19 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:35,154 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:35,154 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-28 03:57:35,154 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:57:35,155 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-28 03:57:35,155 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=168, Invalid=702, Unknown=0, NotChecked=0, Total=870 [2022-04-28 03:57:35,155 INFO L87 Difference]: Start difference. First operand 115 states and 142 transitions. Second operand has 21 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 19 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:36,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:36,530 INFO L93 Difference]: Finished difference Result 181 states and 229 transitions. [2022-04-28 03:57:36,530 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 03:57:36,531 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 19 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 37 [2022-04-28 03:57:36,531 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:57:36,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 19 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:36,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 84 transitions. [2022-04-28 03:57:36,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 19 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:36,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 84 transitions. [2022-04-28 03:57:36,532 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 84 transitions. [2022-04-28 03:57:36,594 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:36,595 INFO L225 Difference]: With dead ends: 181 [2022-04-28 03:57:36,595 INFO L226 Difference]: Without dead ends: 127 [2022-04-28 03:57:36,596 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 48 SyntacticMatches, 5 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 321 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=180, Invalid=812, Unknown=0, NotChecked=0, Total=992 [2022-04-28 03:57:36,596 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 53 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 786 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 70 SdHoareTripleChecker+Invalid, 797 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 786 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 03:57:36,596 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [54 Valid, 70 Invalid, 797 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 786 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 03:57:36,597 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2022-04-28 03:57:36,838 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 115. [2022-04-28 03:57:36,838 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:57:36,838 INFO L82 GeneralOperation]: Start isEquivalent. First operand 127 states. Second operand has 115 states, 100 states have (on average 1.25) internal successors, (125), 103 states have internal predecessors, (125), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:36,839 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand has 115 states, 100 states have (on average 1.25) internal successors, (125), 103 states have internal predecessors, (125), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:36,839 INFO L87 Difference]: Start difference. First operand 127 states. Second operand has 115 states, 100 states have (on average 1.25) internal successors, (125), 103 states have internal predecessors, (125), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:36,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:36,841 INFO L93 Difference]: Finished difference Result 127 states and 156 transitions. [2022-04-28 03:57:36,841 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 156 transitions. [2022-04-28 03:57:36,841 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:57:36,841 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:57:36,841 INFO L74 IsIncluded]: Start isIncluded. First operand has 115 states, 100 states have (on average 1.25) internal successors, (125), 103 states have internal predecessors, (125), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 127 states. [2022-04-28 03:57:36,841 INFO L87 Difference]: Start difference. First operand has 115 states, 100 states have (on average 1.25) internal successors, (125), 103 states have internal predecessors, (125), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 127 states. [2022-04-28 03:57:36,843 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:36,843 INFO L93 Difference]: Finished difference Result 127 states and 156 transitions. [2022-04-28 03:57:36,843 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 156 transitions. [2022-04-28 03:57:36,843 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:57:36,843 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:57:36,843 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:57:36,843 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:57:36,843 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 115 states, 100 states have (on average 1.25) internal successors, (125), 103 states have internal predecessors, (125), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:36,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 142 transitions. [2022-04-28 03:57:36,845 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 142 transitions. Word has length 37 [2022-04-28 03:57:36,845 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:57:36,845 INFO L495 AbstractCegarLoop]: Abstraction has 115 states and 142 transitions. [2022-04-28 03:57:36,845 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 19 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:36,845 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 115 states and 142 transitions. [2022-04-28 03:57:37,008 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:37,008 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 142 transitions. [2022-04-28 03:57:37,008 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 03:57:37,008 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:57:37,009 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 4, 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 03:57:37,024 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-28 03:57:37,209 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,SelfDestructingSolverStorable16 [2022-04-28 03:57:37,209 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:57:37,210 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:57:37,210 INFO L85 PathProgramCache]: Analyzing trace with hash 75399261, now seen corresponding path program 10 times [2022-04-28 03:57:37,210 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:57:37,210 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1904372554] [2022-04-28 03:57:37,430 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:57:41,546 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:57:41,629 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:57:41,630 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:57:41,632 INFO L85 PathProgramCache]: Analyzing trace with hash -1891786431, now seen corresponding path program 1 times [2022-04-28 03:57:41,633 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:57:41,633 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [631593499] [2022-04-28 03:57:41,633 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:57:41,633 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:57:41,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:41,763 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:57:41,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:41,775 INFO L290 TraceCheckUtils]: 0: Hoare triple {12256#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:41,775 INFO L290 TraceCheckUtils]: 1: Hoare triple {12243#(<= 20 ~SIZE~0)} assume true; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:41,775 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {12243#(<= 20 ~SIZE~0)} {12238#true} #90#return; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:41,775 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:57:41,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:41,786 INFO L290 TraceCheckUtils]: 0: Hoare triple {12238#true} ~cond := #in~cond; {12238#true} is VALID [2022-04-28 03:57:41,786 INFO L290 TraceCheckUtils]: 1: Hoare triple {12238#true} assume !(0 == ~cond); {12238#true} is VALID [2022-04-28 03:57:41,787 INFO L290 TraceCheckUtils]: 2: Hoare triple {12238#true} assume true; {12238#true} is VALID [2022-04-28 03:57:41,787 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12238#true} {12243#(<= 20 ~SIZE~0)} #86#return; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:41,787 INFO L272 TraceCheckUtils]: 0: Hoare triple {12238#true} call ULTIMATE.init(); {12256#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:57:41,788 INFO L290 TraceCheckUtils]: 1: Hoare triple {12256#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:41,788 INFO L290 TraceCheckUtils]: 2: Hoare triple {12243#(<= 20 ~SIZE~0)} assume true; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:41,788 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12243#(<= 20 ~SIZE~0)} {12238#true} #90#return; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:41,788 INFO L272 TraceCheckUtils]: 4: Hoare triple {12243#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:41,788 INFO L290 TraceCheckUtils]: 5: Hoare triple {12243#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:41,789 INFO L272 TraceCheckUtils]: 6: Hoare triple {12243#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {12238#true} is VALID [2022-04-28 03:57:41,789 INFO L290 TraceCheckUtils]: 7: Hoare triple {12238#true} ~cond := #in~cond; {12238#true} is VALID [2022-04-28 03:57:41,789 INFO L290 TraceCheckUtils]: 8: Hoare triple {12238#true} assume !(0 == ~cond); {12238#true} is VALID [2022-04-28 03:57:41,789 INFO L290 TraceCheckUtils]: 9: Hoare triple {12238#true} assume true; {12238#true} is VALID [2022-04-28 03:57:41,789 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12238#true} {12243#(<= 20 ~SIZE~0)} #86#return; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:41,789 INFO L290 TraceCheckUtils]: 11: Hoare triple {12243#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {12248#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:57:41,790 INFO L290 TraceCheckUtils]: 12: Hoare triple {12248#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {12249#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:57:41,790 INFO L290 TraceCheckUtils]: 13: Hoare triple {12249#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [142] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_119 v_main_~c~0_246)) (.cse1 (= v_main_~c~0_246 v_main_~c~0_245)) (.cse2 (= |v_main_#t~post5_152| |v_main_#t~post5_150|)) (.cse3 (= v_main_~st~0_127 v_main_~st~0_126))) (or (and (< v_main_~c~0_245 (+ v_~SIZE~0_105 1)) (< v_main_~c~0_246 v_main_~c~0_245) (= v_main_~st~0_126 0) .cse0) (and (or (not (< v_main_~c~0_246 v_~SIZE~0_105)) (not .cse0)) .cse1 .cse2 .cse3) (and .cse1 .cse2 .cse3 (= v_~SIZE~0_105 v_~SIZE~0_105) (= v_~last~0_119 v_~last~0_119)))) InVars {~SIZE~0=v_~SIZE~0_105, main_~c~0=v_main_~c~0_246, main_#t~post5=|v_main_#t~post5_152|, main_~st~0=v_main_~st~0_127, ~last~0=v_~last~0_119} OutVars{~SIZE~0=v_~SIZE~0_105, main_#t~post5=|v_main_#t~post5_150|, main_~c~0=v_main_~c~0_245, main_~st~0=v_main_~st~0_126, ~last~0=v_~last~0_119} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {12250#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:41,791 INFO L290 TraceCheckUtils]: 14: Hoare triple {12250#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [143] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {12250#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:41,791 INFO L290 TraceCheckUtils]: 15: Hoare triple {12250#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [144] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_155| |v_main_#t~post5_151|)) (.cse1 (= v_main_~c~0_248 v_main_~c~0_247))) (or (and (or (not (< v_main_~c~0_248 v_~last~0_120)) (not (< v_main_~c~0_248 v_~SIZE~0_106))) .cse0 .cse1) (and (= v_~SIZE~0_106 v_~SIZE~0_106) (= v_~last~0_120 v_~last~0_120) .cse0 .cse1) (and (< v_main_~c~0_247 (+ v_~last~0_120 1)) (< v_main_~c~0_248 v_main_~c~0_247) (< v_main_~c~0_247 (+ v_~SIZE~0_106 1))))) InVars {~SIZE~0=v_~SIZE~0_106, main_~c~0=v_main_~c~0_248, main_#t~post5=|v_main_#t~post5_155|, ~last~0=v_~last~0_120} OutVars{~SIZE~0=v_~SIZE~0_106, main_#t~post5=|v_main_#t~post5_151|, main_~c~0=v_main_~c~0_247, ~last~0=v_~last~0_120} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {12250#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:41,792 INFO L290 TraceCheckUtils]: 16: Hoare triple {12250#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [141] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {12251#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:57:41,792 INFO L290 TraceCheckUtils]: 17: Hoare triple {12251#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {12252#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:41,792 INFO L290 TraceCheckUtils]: 18: Hoare triple {12252#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {12252#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:41,793 INFO L290 TraceCheckUtils]: 19: Hoare triple {12252#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {12253#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:41,793 INFO L290 TraceCheckUtils]: 20: Hoare triple {12253#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {12253#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:41,794 INFO L272 TraceCheckUtils]: 21: Hoare triple {12253#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {12254#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:57:41,794 INFO L290 TraceCheckUtils]: 22: Hoare triple {12254#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {12255#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:57:41,794 INFO L290 TraceCheckUtils]: 23: Hoare triple {12255#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {12239#false} is VALID [2022-04-28 03:57:41,794 INFO L290 TraceCheckUtils]: 24: Hoare triple {12239#false} assume !false; {12239#false} is VALID [2022-04-28 03:57:41,794 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:41,794 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:57:41,795 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [631593499] [2022-04-28 03:57:41,795 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [631593499] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:57:41,795 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [164870568] [2022-04-28 03:57:41,795 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:57:41,795 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:57:41,795 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:57:41,796 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 03:57:41,801 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 03:57:41,828 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:41,829 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:57:41,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:41,834 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:57:42,008 INFO L272 TraceCheckUtils]: 0: Hoare triple {12238#true} call ULTIMATE.init(); {12238#true} is VALID [2022-04-28 03:57:42,008 INFO L290 TraceCheckUtils]: 1: Hoare triple {12238#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:42,009 INFO L290 TraceCheckUtils]: 2: Hoare triple {12243#(<= 20 ~SIZE~0)} assume true; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:42,009 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12243#(<= 20 ~SIZE~0)} {12238#true} #90#return; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:42,009 INFO L272 TraceCheckUtils]: 4: Hoare triple {12243#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:42,009 INFO L290 TraceCheckUtils]: 5: Hoare triple {12243#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:42,010 INFO L272 TraceCheckUtils]: 6: Hoare triple {12243#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:42,010 INFO L290 TraceCheckUtils]: 7: Hoare triple {12243#(<= 20 ~SIZE~0)} ~cond := #in~cond; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:42,026 INFO L290 TraceCheckUtils]: 8: Hoare triple {12243#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:42,026 INFO L290 TraceCheckUtils]: 9: Hoare triple {12243#(<= 20 ~SIZE~0)} assume true; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:42,026 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12243#(<= 20 ~SIZE~0)} {12243#(<= 20 ~SIZE~0)} #86#return; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:42,026 INFO L290 TraceCheckUtils]: 11: Hoare triple {12243#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:42,027 INFO L290 TraceCheckUtils]: 12: Hoare triple {12243#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {12296#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:57:42,028 INFO L290 TraceCheckUtils]: 13: Hoare triple {12296#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [142] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_119 v_main_~c~0_246)) (.cse1 (= v_main_~c~0_246 v_main_~c~0_245)) (.cse2 (= |v_main_#t~post5_152| |v_main_#t~post5_150|)) (.cse3 (= v_main_~st~0_127 v_main_~st~0_126))) (or (and (< v_main_~c~0_245 (+ v_~SIZE~0_105 1)) (< v_main_~c~0_246 v_main_~c~0_245) (= v_main_~st~0_126 0) .cse0) (and (or (not (< v_main_~c~0_246 v_~SIZE~0_105)) (not .cse0)) .cse1 .cse2 .cse3) (and .cse1 .cse2 .cse3 (= v_~SIZE~0_105 v_~SIZE~0_105) (= v_~last~0_119 v_~last~0_119)))) InVars {~SIZE~0=v_~SIZE~0_105, main_~c~0=v_main_~c~0_246, main_#t~post5=|v_main_#t~post5_152|, main_~st~0=v_main_~st~0_127, ~last~0=v_~last~0_119} OutVars{~SIZE~0=v_~SIZE~0_105, main_#t~post5=|v_main_#t~post5_150|, main_~c~0=v_main_~c~0_245, main_~st~0=v_main_~st~0_126, ~last~0=v_~last~0_119} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {12300#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:42,028 INFO L290 TraceCheckUtils]: 14: Hoare triple {12300#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [143] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {12300#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:42,029 INFO L290 TraceCheckUtils]: 15: Hoare triple {12300#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [144] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_155| |v_main_#t~post5_151|)) (.cse1 (= v_main_~c~0_248 v_main_~c~0_247))) (or (and (or (not (< v_main_~c~0_248 v_~last~0_120)) (not (< v_main_~c~0_248 v_~SIZE~0_106))) .cse0 .cse1) (and (= v_~SIZE~0_106 v_~SIZE~0_106) (= v_~last~0_120 v_~last~0_120) .cse0 .cse1) (and (< v_main_~c~0_247 (+ v_~last~0_120 1)) (< v_main_~c~0_248 v_main_~c~0_247) (< v_main_~c~0_247 (+ v_~SIZE~0_106 1))))) InVars {~SIZE~0=v_~SIZE~0_106, main_~c~0=v_main_~c~0_248, main_#t~post5=|v_main_#t~post5_155|, ~last~0=v_~last~0_120} OutVars{~SIZE~0=v_~SIZE~0_106, main_#t~post5=|v_main_#t~post5_151|, main_~c~0=v_main_~c~0_247, ~last~0=v_~last~0_120} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {12300#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:42,029 INFO L290 TraceCheckUtils]: 16: Hoare triple {12300#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [141] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {12310#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:57:42,029 INFO L290 TraceCheckUtils]: 17: Hoare triple {12310#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {12239#false} is VALID [2022-04-28 03:57:42,030 INFO L290 TraceCheckUtils]: 18: Hoare triple {12239#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {12239#false} is VALID [2022-04-28 03:57:42,030 INFO L290 TraceCheckUtils]: 19: Hoare triple {12239#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {12239#false} is VALID [2022-04-28 03:57:42,030 INFO L290 TraceCheckUtils]: 20: Hoare triple {12239#false} assume !(~d~0 == ~SIZE~0); {12239#false} is VALID [2022-04-28 03:57:42,030 INFO L272 TraceCheckUtils]: 21: Hoare triple {12239#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {12239#false} is VALID [2022-04-28 03:57:42,030 INFO L290 TraceCheckUtils]: 22: Hoare triple {12239#false} ~cond := #in~cond; {12239#false} is VALID [2022-04-28 03:57:42,030 INFO L290 TraceCheckUtils]: 23: Hoare triple {12239#false} assume 0 == ~cond; {12239#false} is VALID [2022-04-28 03:57:42,030 INFO L290 TraceCheckUtils]: 24: Hoare triple {12239#false} assume !false; {12239#false} is VALID [2022-04-28 03:57:42,030 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:42,030 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:57:42,280 INFO L290 TraceCheckUtils]: 24: Hoare triple {12239#false} assume !false; {12239#false} is VALID [2022-04-28 03:57:42,280 INFO L290 TraceCheckUtils]: 23: Hoare triple {12239#false} assume 0 == ~cond; {12239#false} is VALID [2022-04-28 03:57:42,280 INFO L290 TraceCheckUtils]: 22: Hoare triple {12239#false} ~cond := #in~cond; {12239#false} is VALID [2022-04-28 03:57:42,280 INFO L272 TraceCheckUtils]: 21: Hoare triple {12239#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {12239#false} is VALID [2022-04-28 03:57:42,280 INFO L290 TraceCheckUtils]: 20: Hoare triple {12239#false} assume !(~d~0 == ~SIZE~0); {12239#false} is VALID [2022-04-28 03:57:42,280 INFO L290 TraceCheckUtils]: 19: Hoare triple {12239#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {12239#false} is VALID [2022-04-28 03:57:42,280 INFO L290 TraceCheckUtils]: 18: Hoare triple {12239#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {12239#false} is VALID [2022-04-28 03:57:42,281 INFO L290 TraceCheckUtils]: 17: Hoare triple {12356#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {12239#false} is VALID [2022-04-28 03:57:42,281 INFO L290 TraceCheckUtils]: 16: Hoare triple {12360#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [141] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {12356#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:57:42,282 INFO L290 TraceCheckUtils]: 15: Hoare triple {12360#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [144] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_155| |v_main_#t~post5_151|)) (.cse1 (= v_main_~c~0_248 v_main_~c~0_247))) (or (and (or (not (< v_main_~c~0_248 v_~last~0_120)) (not (< v_main_~c~0_248 v_~SIZE~0_106))) .cse0 .cse1) (and (= v_~SIZE~0_106 v_~SIZE~0_106) (= v_~last~0_120 v_~last~0_120) .cse0 .cse1) (and (< v_main_~c~0_247 (+ v_~last~0_120 1)) (< v_main_~c~0_248 v_main_~c~0_247) (< v_main_~c~0_247 (+ v_~SIZE~0_106 1))))) InVars {~SIZE~0=v_~SIZE~0_106, main_~c~0=v_main_~c~0_248, main_#t~post5=|v_main_#t~post5_155|, ~last~0=v_~last~0_120} OutVars{~SIZE~0=v_~SIZE~0_106, main_#t~post5=|v_main_#t~post5_151|, main_~c~0=v_main_~c~0_247, ~last~0=v_~last~0_120} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {12360#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:42,282 INFO L290 TraceCheckUtils]: 14: Hoare triple {12360#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [143] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {12360#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:42,283 INFO L290 TraceCheckUtils]: 13: Hoare triple {12370#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [142] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_119 v_main_~c~0_246)) (.cse1 (= v_main_~c~0_246 v_main_~c~0_245)) (.cse2 (= |v_main_#t~post5_152| |v_main_#t~post5_150|)) (.cse3 (= v_main_~st~0_127 v_main_~st~0_126))) (or (and (< v_main_~c~0_245 (+ v_~SIZE~0_105 1)) (< v_main_~c~0_246 v_main_~c~0_245) (= v_main_~st~0_126 0) .cse0) (and (or (not (< v_main_~c~0_246 v_~SIZE~0_105)) (not .cse0)) .cse1 .cse2 .cse3) (and .cse1 .cse2 .cse3 (= v_~SIZE~0_105 v_~SIZE~0_105) (= v_~last~0_119 v_~last~0_119)))) InVars {~SIZE~0=v_~SIZE~0_105, main_~c~0=v_main_~c~0_246, main_#t~post5=|v_main_#t~post5_152|, main_~st~0=v_main_~st~0_127, ~last~0=v_~last~0_119} OutVars{~SIZE~0=v_~SIZE~0_105, main_#t~post5=|v_main_#t~post5_150|, main_~c~0=v_main_~c~0_245, main_~st~0=v_main_~st~0_126, ~last~0=v_~last~0_119} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {12360#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:42,283 INFO L290 TraceCheckUtils]: 12: Hoare triple {12374#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {12370#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:57:42,283 INFO L290 TraceCheckUtils]: 11: Hoare triple {12374#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {12374#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:42,284 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12238#true} {12374#(< 1 ~SIZE~0)} #86#return; {12374#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:42,284 INFO L290 TraceCheckUtils]: 9: Hoare triple {12238#true} assume true; {12238#true} is VALID [2022-04-28 03:57:42,284 INFO L290 TraceCheckUtils]: 8: Hoare triple {12238#true} assume !(0 == ~cond); {12238#true} is VALID [2022-04-28 03:57:42,284 INFO L290 TraceCheckUtils]: 7: Hoare triple {12238#true} ~cond := #in~cond; {12238#true} is VALID [2022-04-28 03:57:42,284 INFO L272 TraceCheckUtils]: 6: Hoare triple {12374#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {12238#true} is VALID [2022-04-28 03:57:42,284 INFO L290 TraceCheckUtils]: 5: Hoare triple {12374#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {12374#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:42,285 INFO L272 TraceCheckUtils]: 4: Hoare triple {12374#(< 1 ~SIZE~0)} call #t~ret7 := main(); {12374#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:42,285 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12374#(< 1 ~SIZE~0)} {12238#true} #90#return; {12374#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:42,285 INFO L290 TraceCheckUtils]: 2: Hoare triple {12374#(< 1 ~SIZE~0)} assume true; {12374#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:42,286 INFO L290 TraceCheckUtils]: 1: Hoare triple {12238#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {12374#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:42,286 INFO L272 TraceCheckUtils]: 0: Hoare triple {12238#true} call ULTIMATE.init(); {12238#true} is VALID [2022-04-28 03:57:42,286 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:42,286 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [164870568] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:57:42,286 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:57:42,286 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:57:42,752 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:57:42,753 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1904372554] [2022-04-28 03:57:42,753 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1904372554] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:57:42,753 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:57:42,753 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-28 03:57:42,753 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [215344302] [2022-04-28 03:57:42,753 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:57:42,753 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 1.4090909090909092) internal successors, (31), 20 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 37 [2022-04-28 03:57:42,753 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:57:42,753 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 22 states have (on average 1.4090909090909092) internal successors, (31), 20 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:42,780 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:42,780 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-28 03:57:42,780 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:57:42,780 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-28 03:57:42,780 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=182, Invalid=748, Unknown=0, NotChecked=0, Total=930 [2022-04-28 03:57:42,780 INFO L87 Difference]: Start difference. First operand 115 states and 142 transitions. Second operand has 22 states, 22 states have (on average 1.4090909090909092) internal successors, (31), 20 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:43,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:43,846 INFO L93 Difference]: Finished difference Result 192 states and 244 transitions. [2022-04-28 03:57:43,847 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 03:57:43,847 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 1.4090909090909092) internal successors, (31), 20 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 37 [2022-04-28 03:57:43,847 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:57:43,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 1.4090909090909092) internal successors, (31), 20 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:43,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 86 transitions. [2022-04-28 03:57:43,848 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 1.4090909090909092) internal successors, (31), 20 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:43,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 86 transitions. [2022-04-28 03:57:43,848 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 86 transitions. [2022-04-28 03:57:43,908 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:43,909 INFO L225 Difference]: With dead ends: 192 [2022-04-28 03:57:43,909 INFO L226 Difference]: Without dead ends: 127 [2022-04-28 03:57:43,910 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 48 SyntacticMatches, 4 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 318 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=194, Invalid=862, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 03:57:43,910 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 53 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 671 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 681 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 671 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 03:57:43,910 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [54 Valid, 65 Invalid, 681 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 671 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 03:57:43,910 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2022-04-28 03:57:44,160 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 118. [2022-04-28 03:57:44,160 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:57:44,160 INFO L82 GeneralOperation]: Start isEquivalent. First operand 127 states. Second operand has 118 states, 103 states have (on average 1.2524271844660195) internal successors, (129), 106 states have internal predecessors, (129), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:44,160 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand has 118 states, 103 states have (on average 1.2524271844660195) internal successors, (129), 106 states have internal predecessors, (129), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:44,160 INFO L87 Difference]: Start difference. First operand 127 states. Second operand has 118 states, 103 states have (on average 1.2524271844660195) internal successors, (129), 106 states have internal predecessors, (129), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:44,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:44,162 INFO L93 Difference]: Finished difference Result 127 states and 157 transitions. [2022-04-28 03:57:44,162 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 157 transitions. [2022-04-28 03:57:44,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:57:44,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:57:44,162 INFO L74 IsIncluded]: Start isIncluded. First operand has 118 states, 103 states have (on average 1.2524271844660195) internal successors, (129), 106 states have internal predecessors, (129), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 127 states. [2022-04-28 03:57:44,162 INFO L87 Difference]: Start difference. First operand has 118 states, 103 states have (on average 1.2524271844660195) internal successors, (129), 106 states have internal predecessors, (129), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 127 states. [2022-04-28 03:57:44,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:44,164 INFO L93 Difference]: Finished difference Result 127 states and 157 transitions. [2022-04-28 03:57:44,164 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 157 transitions. [2022-04-28 03:57:44,165 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:57:44,165 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:57:44,165 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:57:44,165 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:57:44,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 118 states, 103 states have (on average 1.2524271844660195) internal successors, (129), 106 states have internal predecessors, (129), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:44,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 118 states to 118 states and 146 transitions. [2022-04-28 03:57:44,166 INFO L78 Accepts]: Start accepts. Automaton has 118 states and 146 transitions. Word has length 37 [2022-04-28 03:57:44,166 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:57:44,167 INFO L495 AbstractCegarLoop]: Abstraction has 118 states and 146 transitions. [2022-04-28 03:57:44,167 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 22 states have (on average 1.4090909090909092) internal successors, (31), 20 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:44,167 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 118 states and 146 transitions. [2022-04-28 03:57:44,329 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 146 edges. 146 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:44,329 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 146 transitions. [2022-04-28 03:57:44,329 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 03:57:44,329 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:57:44,330 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:57:44,348 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 03:57:44,530 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,SelfDestructingSolverStorable17 [2022-04-28 03:57:44,530 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:57:44,530 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:57:44,530 INFO L85 PathProgramCache]: Analyzing trace with hash -1742968907, now seen corresponding path program 1 times [2022-04-28 03:57:44,531 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:57:44,531 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1854614780] [2022-04-28 03:57:44,780 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 4 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=2}, 1={1=1, 2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:57:44,972 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 4 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=2}, 1={1=1, 2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:57:44,973 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:57:44,975 INFO L85 PathProgramCache]: Analyzing trace with hash 333271952, now seen corresponding path program 1 times [2022-04-28 03:57:44,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:57:44,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1863515916] [2022-04-28 03:57:44,976 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:57:44,976 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:57:44,984 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:45,017 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:57:45,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:45,027 INFO L290 TraceCheckUtils]: 0: Hoare triple {13316#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,027 INFO L290 TraceCheckUtils]: 1: Hoare triple {13309#(<= 20 ~SIZE~0)} assume true; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,027 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13309#(<= 20 ~SIZE~0)} {13304#true} #90#return; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,028 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:57:45,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:45,033 INFO L290 TraceCheckUtils]: 0: Hoare triple {13304#true} ~cond := #in~cond; {13304#true} is VALID [2022-04-28 03:57:45,033 INFO L290 TraceCheckUtils]: 1: Hoare triple {13304#true} assume !(0 == ~cond); {13304#true} is VALID [2022-04-28 03:57:45,034 INFO L290 TraceCheckUtils]: 2: Hoare triple {13304#true} assume true; {13304#true} is VALID [2022-04-28 03:57:45,034 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13304#true} {13309#(<= 20 ~SIZE~0)} #86#return; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,035 INFO L272 TraceCheckUtils]: 0: Hoare triple {13304#true} call ULTIMATE.init(); {13316#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:57:45,035 INFO L290 TraceCheckUtils]: 1: Hoare triple {13316#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,035 INFO L290 TraceCheckUtils]: 2: Hoare triple {13309#(<= 20 ~SIZE~0)} assume true; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,036 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13309#(<= 20 ~SIZE~0)} {13304#true} #90#return; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,036 INFO L272 TraceCheckUtils]: 4: Hoare triple {13309#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,036 INFO L290 TraceCheckUtils]: 5: Hoare triple {13309#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,036 INFO L272 TraceCheckUtils]: 6: Hoare triple {13309#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {13304#true} is VALID [2022-04-28 03:57:45,036 INFO L290 TraceCheckUtils]: 7: Hoare triple {13304#true} ~cond := #in~cond; {13304#true} is VALID [2022-04-28 03:57:45,036 INFO L290 TraceCheckUtils]: 8: Hoare triple {13304#true} assume !(0 == ~cond); {13304#true} is VALID [2022-04-28 03:57:45,036 INFO L290 TraceCheckUtils]: 9: Hoare triple {13304#true} assume true; {13304#true} is VALID [2022-04-28 03:57:45,037 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13304#true} {13309#(<= 20 ~SIZE~0)} #86#return; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,037 INFO L290 TraceCheckUtils]: 11: Hoare triple {13309#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,037 INFO L290 TraceCheckUtils]: 12: Hoare triple {13309#(<= 20 ~SIZE~0)} [146] L42-->L25-3_primed: Formula: (let ((.cse4 (= v_~SIZE~0_115 v_main_~d~0_16)) (.cse1 (= v_main_~a~0_36 v_main_~b~0_32)) (.cse2 (= v_~last~0_129 0)) (.cse0 (<= v_~last~0_129 0)) (.cse3 (= v_~SIZE~0_115 1)) (.cse5 (= |v_main_#t~post5_164| |v_main_#t~post5_163|)) (.cse6 (= v_main_~b~0_32 v_main_~b~0_31)) (.cse7 (= v_main_~st~0_138 v_main_~st~0_136))) (or (and .cse0 .cse1 (= v_main_~c~0_269 1) (not .cse2) .cse3 (= (+ (* 2 (div (+ (- v_main_~b~0_32) v_main_~b~0_31) 2)) v_main_~a~0_36) v_main_~a~0_35) (not .cse4) (= 0 (mod (+ v_main_~b~0_32 v_main_~b~0_31) 2)) (= v_main_~st~0_136 0) (< 0 (div (+ (* (- 1) v_main_~b~0_32) v_main_~b~0_31) 2))) (and (= v_~last~0_129 v_~last~0_129) .cse5 (= v_main_~a~0_36 v_main_~a~0_35) .cse6 (= v_main_~d~0_16 v_main_~d~0_16) (= v_main_~c~0_271 v_main_~c~0_269) .cse7 (= v_~SIZE~0_115 v_~SIZE~0_115)) (and (or .cse4 (not .cse1) .cse2 (not .cse0) (not .cse3)) .cse5 (= v_main_~a~0_35 v_main_~a~0_36) .cse6 .cse7 (= v_main_~c~0_269 v_main_~c~0_271)))) InVars {~SIZE~0=v_~SIZE~0_115, main_~c~0=v_main_~c~0_271, main_#t~post5=|v_main_#t~post5_164|, main_~d~0=v_main_~d~0_16, main_~st~0=v_main_~st~0_138, main_~b~0=v_main_~b~0_32, ~last~0=v_~last~0_129, main_~a~0=v_main_~a~0_36} OutVars{~SIZE~0=v_~SIZE~0_115, main_~c~0=v_main_~c~0_269, main_#t~post5=|v_main_#t~post5_163|, main_~d~0=v_main_~d~0_16, main_~st~0=v_main_~st~0_136, main_~b~0=v_main_~b~0_31, ~last~0=v_~last~0_129, main_~a~0=v_main_~a~0_35} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,038 INFO L290 TraceCheckUtils]: 13: Hoare triple {13309#(<= 20 ~SIZE~0)} [147] L25-3_primed-->L42: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,038 INFO L290 TraceCheckUtils]: 14: Hoare triple {13309#(<= 20 ~SIZE~0)} [148] L42-->L25-3_primed: Formula: (let ((.cse4 (= v_~SIZE~0_115 v_main_~d~0_16)) (.cse0 (= v_main_~a~0_36 v_main_~b~0_32)) (.cse1 (= v_~last~0_129 0)) (.cse3 (= v_~SIZE~0_115 1)) (.cse5 (= |v_main_#t~post5_167| |v_main_#t~post5_163|)) (.cse6 (= v_main_~b~0_32 v_main_~b~0_31))) (or (let ((.cse2 (div (+ (* (- 1) v_main_~b~0_32) v_main_~b~0_31) 2))) (and (<= v_~last~0_129 0) .cse0 (= v_main_~c~0_269 1) (not .cse1) (= (+ (* 2 .cse2) v_main_~a~0_36) v_main_~a~0_35) .cse3 (not .cse4) (= 0 (mod (+ v_main_~b~0_32 v_main_~b~0_31) 2)) (= v_main_~st~0_136 0) (< 0 .cse2))) (and (or .cse4 (not .cse0) .cse1 (not (< v_~last~0_129 v_~SIZE~0_115)) (not .cse3)) .cse5 (= v_main_~st~0_136 v_main_~st~0_141) (= v_main_~a~0_35 v_main_~a~0_36) .cse6 (= v_main_~c~0_269 v_main_~c~0_274)) (and (= v_~last~0_129 v_~last~0_129) (= v_main_~st~0_141 v_main_~st~0_136) (= v_main_~c~0_274 v_main_~c~0_269) .cse5 (= v_main_~a~0_36 v_main_~a~0_35) .cse6 (= v_main_~d~0_16 v_main_~d~0_16) (= v_~SIZE~0_115 v_~SIZE~0_115)))) InVars {~SIZE~0=v_~SIZE~0_115, main_~c~0=v_main_~c~0_274, main_#t~post5=|v_main_#t~post5_167|, main_~d~0=v_main_~d~0_16, main_~st~0=v_main_~st~0_141, main_~b~0=v_main_~b~0_32, ~last~0=v_~last~0_129, main_~a~0=v_main_~a~0_36} OutVars{~SIZE~0=v_~SIZE~0_115, main_~c~0=v_main_~c~0_269, main_#t~post5=|v_main_#t~post5_163|, main_~d~0=v_main_~d~0_16, main_~st~0=v_main_~st~0_136, main_~b~0=v_main_~b~0_31, ~last~0=v_~last~0_129, main_~a~0=v_main_~a~0_35} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,038 INFO L290 TraceCheckUtils]: 15: Hoare triple {13309#(<= 20 ~SIZE~0)} [145] L25-3_primed-->L25-3: Formula: (and (= 0 v_main_~c~0_10) (= v_main_~st~0_7 1)) InVars {} OutVars{main_~c~0=v_main_~c~0_10, main_~st~0=v_main_~st~0_7} AuxVars[] AssignedVars[main_~c~0, main_~st~0] {13314#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:57:45,039 INFO L290 TraceCheckUtils]: 16: Hoare triple {13314#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} assume !!(~c~0 < ~SIZE~0); {13314#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:57:45,039 INFO L290 TraceCheckUtils]: 17: Hoare triple {13314#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} assume ~c~0 >= ~last~0;~st~0 := 0; {13314#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:57:45,039 INFO L290 TraceCheckUtils]: 18: Hoare triple {13314#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {13315#(<= (+ 19 main_~c~0) ~SIZE~0)} is VALID [2022-04-28 03:57:45,040 INFO L290 TraceCheckUtils]: 19: Hoare triple {13315#(<= (+ 19 main_~c~0) ~SIZE~0)} assume !(~c~0 < ~SIZE~0); {13305#false} is VALID [2022-04-28 03:57:45,040 INFO L290 TraceCheckUtils]: 20: Hoare triple {13305#false} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {13305#false} is VALID [2022-04-28 03:57:45,040 INFO L290 TraceCheckUtils]: 21: Hoare triple {13305#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {13305#false} is VALID [2022-04-28 03:57:45,040 INFO L290 TraceCheckUtils]: 22: Hoare triple {13305#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {13305#false} is VALID [2022-04-28 03:57:45,040 INFO L290 TraceCheckUtils]: 23: Hoare triple {13305#false} assume !(~d~0 == ~SIZE~0); {13305#false} is VALID [2022-04-28 03:57:45,040 INFO L272 TraceCheckUtils]: 24: Hoare triple {13305#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {13305#false} is VALID [2022-04-28 03:57:45,040 INFO L290 TraceCheckUtils]: 25: Hoare triple {13305#false} ~cond := #in~cond; {13305#false} is VALID [2022-04-28 03:57:45,040 INFO L290 TraceCheckUtils]: 26: Hoare triple {13305#false} assume 0 == ~cond; {13305#false} is VALID [2022-04-28 03:57:45,040 INFO L290 TraceCheckUtils]: 27: Hoare triple {13305#false} assume !false; {13305#false} is VALID [2022-04-28 03:57:45,041 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 03:57:45,041 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:57:45,041 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1863515916] [2022-04-28 03:57:45,041 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1863515916] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:57:45,042 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2033312928] [2022-04-28 03:57:45,042 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:57:45,042 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:57:45,042 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:57:45,053 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:57:45,055 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 03:57:45,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:45,084 INFO L263 TraceCheckSpWp]: Trace formula consists of 110 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-28 03:57:45,089 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:45,089 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:57:45,166 INFO L272 TraceCheckUtils]: 0: Hoare triple {13304#true} call ULTIMATE.init(); {13304#true} is VALID [2022-04-28 03:57:45,167 INFO L290 TraceCheckUtils]: 1: Hoare triple {13304#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,167 INFO L290 TraceCheckUtils]: 2: Hoare triple {13309#(<= 20 ~SIZE~0)} assume true; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,167 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13309#(<= 20 ~SIZE~0)} {13304#true} #90#return; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,167 INFO L272 TraceCheckUtils]: 4: Hoare triple {13309#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,168 INFO L290 TraceCheckUtils]: 5: Hoare triple {13309#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,168 INFO L272 TraceCheckUtils]: 6: Hoare triple {13309#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,168 INFO L290 TraceCheckUtils]: 7: Hoare triple {13309#(<= 20 ~SIZE~0)} ~cond := #in~cond; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,168 INFO L290 TraceCheckUtils]: 8: Hoare triple {13309#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,169 INFO L290 TraceCheckUtils]: 9: Hoare triple {13309#(<= 20 ~SIZE~0)} assume true; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,169 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13309#(<= 20 ~SIZE~0)} {13309#(<= 20 ~SIZE~0)} #86#return; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,169 INFO L290 TraceCheckUtils]: 11: Hoare triple {13309#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,169 INFO L290 TraceCheckUtils]: 12: Hoare triple {13309#(<= 20 ~SIZE~0)} [146] L42-->L25-3_primed: Formula: (let ((.cse4 (= v_~SIZE~0_115 v_main_~d~0_16)) (.cse1 (= v_main_~a~0_36 v_main_~b~0_32)) (.cse2 (= v_~last~0_129 0)) (.cse0 (<= v_~last~0_129 0)) (.cse3 (= v_~SIZE~0_115 1)) (.cse5 (= |v_main_#t~post5_164| |v_main_#t~post5_163|)) (.cse6 (= v_main_~b~0_32 v_main_~b~0_31)) (.cse7 (= v_main_~st~0_138 v_main_~st~0_136))) (or (and .cse0 .cse1 (= v_main_~c~0_269 1) (not .cse2) .cse3 (= (+ (* 2 (div (+ (- v_main_~b~0_32) v_main_~b~0_31) 2)) v_main_~a~0_36) v_main_~a~0_35) (not .cse4) (= 0 (mod (+ v_main_~b~0_32 v_main_~b~0_31) 2)) (= v_main_~st~0_136 0) (< 0 (div (+ (* (- 1) v_main_~b~0_32) v_main_~b~0_31) 2))) (and (= v_~last~0_129 v_~last~0_129) .cse5 (= v_main_~a~0_36 v_main_~a~0_35) .cse6 (= v_main_~d~0_16 v_main_~d~0_16) (= v_main_~c~0_271 v_main_~c~0_269) .cse7 (= v_~SIZE~0_115 v_~SIZE~0_115)) (and (or .cse4 (not .cse1) .cse2 (not .cse0) (not .cse3)) .cse5 (= v_main_~a~0_35 v_main_~a~0_36) .cse6 .cse7 (= v_main_~c~0_269 v_main_~c~0_271)))) InVars {~SIZE~0=v_~SIZE~0_115, main_~c~0=v_main_~c~0_271, main_#t~post5=|v_main_#t~post5_164|, main_~d~0=v_main_~d~0_16, main_~st~0=v_main_~st~0_138, main_~b~0=v_main_~b~0_32, ~last~0=v_~last~0_129, main_~a~0=v_main_~a~0_36} OutVars{~SIZE~0=v_~SIZE~0_115, main_~c~0=v_main_~c~0_269, main_#t~post5=|v_main_#t~post5_163|, main_~d~0=v_main_~d~0_16, main_~st~0=v_main_~st~0_136, main_~b~0=v_main_~b~0_31, ~last~0=v_~last~0_129, main_~a~0=v_main_~a~0_35} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,170 INFO L290 TraceCheckUtils]: 13: Hoare triple {13309#(<= 20 ~SIZE~0)} [147] L25-3_primed-->L42: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,170 INFO L290 TraceCheckUtils]: 14: Hoare triple {13309#(<= 20 ~SIZE~0)} [148] L42-->L25-3_primed: Formula: (let ((.cse4 (= v_~SIZE~0_115 v_main_~d~0_16)) (.cse0 (= v_main_~a~0_36 v_main_~b~0_32)) (.cse1 (= v_~last~0_129 0)) (.cse3 (= v_~SIZE~0_115 1)) (.cse5 (= |v_main_#t~post5_167| |v_main_#t~post5_163|)) (.cse6 (= v_main_~b~0_32 v_main_~b~0_31))) (or (let ((.cse2 (div (+ (* (- 1) v_main_~b~0_32) v_main_~b~0_31) 2))) (and (<= v_~last~0_129 0) .cse0 (= v_main_~c~0_269 1) (not .cse1) (= (+ (* 2 .cse2) v_main_~a~0_36) v_main_~a~0_35) .cse3 (not .cse4) (= 0 (mod (+ v_main_~b~0_32 v_main_~b~0_31) 2)) (= v_main_~st~0_136 0) (< 0 .cse2))) (and (or .cse4 (not .cse0) .cse1 (not (< v_~last~0_129 v_~SIZE~0_115)) (not .cse3)) .cse5 (= v_main_~st~0_136 v_main_~st~0_141) (= v_main_~a~0_35 v_main_~a~0_36) .cse6 (= v_main_~c~0_269 v_main_~c~0_274)) (and (= v_~last~0_129 v_~last~0_129) (= v_main_~st~0_141 v_main_~st~0_136) (= v_main_~c~0_274 v_main_~c~0_269) .cse5 (= v_main_~a~0_36 v_main_~a~0_35) .cse6 (= v_main_~d~0_16 v_main_~d~0_16) (= v_~SIZE~0_115 v_~SIZE~0_115)))) InVars {~SIZE~0=v_~SIZE~0_115, main_~c~0=v_main_~c~0_274, main_#t~post5=|v_main_#t~post5_167|, main_~d~0=v_main_~d~0_16, main_~st~0=v_main_~st~0_141, main_~b~0=v_main_~b~0_32, ~last~0=v_~last~0_129, main_~a~0=v_main_~a~0_36} OutVars{~SIZE~0=v_~SIZE~0_115, main_~c~0=v_main_~c~0_269, main_#t~post5=|v_main_#t~post5_163|, main_~d~0=v_main_~d~0_16, main_~st~0=v_main_~st~0_136, main_~b~0=v_main_~b~0_31, ~last~0=v_~last~0_129, main_~a~0=v_main_~a~0_35} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:45,170 INFO L290 TraceCheckUtils]: 15: Hoare triple {13309#(<= 20 ~SIZE~0)} [145] L25-3_primed-->L25-3: Formula: (and (= 0 v_main_~c~0_10) (= v_main_~st~0_7 1)) InVars {} OutVars{main_~c~0=v_main_~c~0_10, main_~st~0=v_main_~st~0_7} AuxVars[] AssignedVars[main_~c~0, main_~st~0] {13365#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:57:45,170 INFO L290 TraceCheckUtils]: 16: Hoare triple {13365#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} assume !!(~c~0 < ~SIZE~0); {13365#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:57:45,171 INFO L290 TraceCheckUtils]: 17: Hoare triple {13365#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} assume ~c~0 >= ~last~0;~st~0 := 0; {13365#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:57:45,171 INFO L290 TraceCheckUtils]: 18: Hoare triple {13365#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {13375#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} is VALID [2022-04-28 03:57:45,171 INFO L290 TraceCheckUtils]: 19: Hoare triple {13375#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} assume !(~c~0 < ~SIZE~0); {13305#false} is VALID [2022-04-28 03:57:45,171 INFO L290 TraceCheckUtils]: 20: Hoare triple {13305#false} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {13305#false} is VALID [2022-04-28 03:57:45,171 INFO L290 TraceCheckUtils]: 21: Hoare triple {13305#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {13305#false} is VALID [2022-04-28 03:57:45,172 INFO L290 TraceCheckUtils]: 22: Hoare triple {13305#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {13305#false} is VALID [2022-04-28 03:57:45,172 INFO L290 TraceCheckUtils]: 23: Hoare triple {13305#false} assume !(~d~0 == ~SIZE~0); {13305#false} is VALID [2022-04-28 03:57:45,172 INFO L272 TraceCheckUtils]: 24: Hoare triple {13305#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {13305#false} is VALID [2022-04-28 03:57:45,172 INFO L290 TraceCheckUtils]: 25: Hoare triple {13305#false} ~cond := #in~cond; {13305#false} is VALID [2022-04-28 03:57:45,172 INFO L290 TraceCheckUtils]: 26: Hoare triple {13305#false} assume 0 == ~cond; {13305#false} is VALID [2022-04-28 03:57:45,172 INFO L290 TraceCheckUtils]: 27: Hoare triple {13305#false} assume !false; {13305#false} is VALID [2022-04-28 03:57:45,172 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 03:57:45,172 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:57:45,244 INFO L290 TraceCheckUtils]: 27: Hoare triple {13305#false} assume !false; {13305#false} is VALID [2022-04-28 03:57:45,245 INFO L290 TraceCheckUtils]: 26: Hoare triple {13305#false} assume 0 == ~cond; {13305#false} is VALID [2022-04-28 03:57:45,245 INFO L290 TraceCheckUtils]: 25: Hoare triple {13305#false} ~cond := #in~cond; {13305#false} is VALID [2022-04-28 03:57:45,245 INFO L272 TraceCheckUtils]: 24: Hoare triple {13305#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {13305#false} is VALID [2022-04-28 03:57:45,245 INFO L290 TraceCheckUtils]: 23: Hoare triple {13305#false} assume !(~d~0 == ~SIZE~0); {13305#false} is VALID [2022-04-28 03:57:45,245 INFO L290 TraceCheckUtils]: 22: Hoare triple {13305#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {13305#false} is VALID [2022-04-28 03:57:45,245 INFO L290 TraceCheckUtils]: 21: Hoare triple {13305#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {13305#false} is VALID [2022-04-28 03:57:45,245 INFO L290 TraceCheckUtils]: 20: Hoare triple {13305#false} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {13305#false} is VALID [2022-04-28 03:57:45,245 INFO L290 TraceCheckUtils]: 19: Hoare triple {13427#(< main_~c~0 ~SIZE~0)} assume !(~c~0 < ~SIZE~0); {13305#false} is VALID [2022-04-28 03:57:45,246 INFO L290 TraceCheckUtils]: 18: Hoare triple {13431#(< (+ main_~c~0 1) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {13427#(< main_~c~0 ~SIZE~0)} is VALID [2022-04-28 03:57:45,246 INFO L290 TraceCheckUtils]: 17: Hoare triple {13431#(< (+ main_~c~0 1) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {13431#(< (+ main_~c~0 1) ~SIZE~0)} is VALID [2022-04-28 03:57:45,246 INFO L290 TraceCheckUtils]: 16: Hoare triple {13431#(< (+ main_~c~0 1) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {13431#(< (+ main_~c~0 1) ~SIZE~0)} is VALID [2022-04-28 03:57:45,246 INFO L290 TraceCheckUtils]: 15: Hoare triple {13441#(< 1 ~SIZE~0)} [145] L25-3_primed-->L25-3: Formula: (and (= 0 v_main_~c~0_10) (= v_main_~st~0_7 1)) InVars {} OutVars{main_~c~0=v_main_~c~0_10, main_~st~0=v_main_~st~0_7} AuxVars[] AssignedVars[main_~c~0, main_~st~0] {13431#(< (+ main_~c~0 1) ~SIZE~0)} is VALID [2022-04-28 03:57:45,247 INFO L290 TraceCheckUtils]: 14: Hoare triple {13441#(< 1 ~SIZE~0)} [148] L42-->L25-3_primed: Formula: (let ((.cse4 (= v_~SIZE~0_115 v_main_~d~0_16)) (.cse0 (= v_main_~a~0_36 v_main_~b~0_32)) (.cse1 (= v_~last~0_129 0)) (.cse3 (= v_~SIZE~0_115 1)) (.cse5 (= |v_main_#t~post5_167| |v_main_#t~post5_163|)) (.cse6 (= v_main_~b~0_32 v_main_~b~0_31))) (or (let ((.cse2 (div (+ (* (- 1) v_main_~b~0_32) v_main_~b~0_31) 2))) (and (<= v_~last~0_129 0) .cse0 (= v_main_~c~0_269 1) (not .cse1) (= (+ (* 2 .cse2) v_main_~a~0_36) v_main_~a~0_35) .cse3 (not .cse4) (= 0 (mod (+ v_main_~b~0_32 v_main_~b~0_31) 2)) (= v_main_~st~0_136 0) (< 0 .cse2))) (and (or .cse4 (not .cse0) .cse1 (not (< v_~last~0_129 v_~SIZE~0_115)) (not .cse3)) .cse5 (= v_main_~st~0_136 v_main_~st~0_141) (= v_main_~a~0_35 v_main_~a~0_36) .cse6 (= v_main_~c~0_269 v_main_~c~0_274)) (and (= v_~last~0_129 v_~last~0_129) (= v_main_~st~0_141 v_main_~st~0_136) (= v_main_~c~0_274 v_main_~c~0_269) .cse5 (= v_main_~a~0_36 v_main_~a~0_35) .cse6 (= v_main_~d~0_16 v_main_~d~0_16) (= v_~SIZE~0_115 v_~SIZE~0_115)))) InVars {~SIZE~0=v_~SIZE~0_115, main_~c~0=v_main_~c~0_274, main_#t~post5=|v_main_#t~post5_167|, main_~d~0=v_main_~d~0_16, main_~st~0=v_main_~st~0_141, main_~b~0=v_main_~b~0_32, ~last~0=v_~last~0_129, main_~a~0=v_main_~a~0_36} OutVars{~SIZE~0=v_~SIZE~0_115, main_~c~0=v_main_~c~0_269, main_#t~post5=|v_main_#t~post5_163|, main_~d~0=v_main_~d~0_16, main_~st~0=v_main_~st~0_136, main_~b~0=v_main_~b~0_31, ~last~0=v_~last~0_129, main_~a~0=v_main_~a~0_35} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {13441#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:45,247 INFO L290 TraceCheckUtils]: 13: Hoare triple {13441#(< 1 ~SIZE~0)} [147] L25-3_primed-->L42: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {13441#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:45,247 INFO L290 TraceCheckUtils]: 12: Hoare triple {13441#(< 1 ~SIZE~0)} [146] L42-->L25-3_primed: Formula: (let ((.cse4 (= v_~SIZE~0_115 v_main_~d~0_16)) (.cse1 (= v_main_~a~0_36 v_main_~b~0_32)) (.cse2 (= v_~last~0_129 0)) (.cse0 (<= v_~last~0_129 0)) (.cse3 (= v_~SIZE~0_115 1)) (.cse5 (= |v_main_#t~post5_164| |v_main_#t~post5_163|)) (.cse6 (= v_main_~b~0_32 v_main_~b~0_31)) (.cse7 (= v_main_~st~0_138 v_main_~st~0_136))) (or (and .cse0 .cse1 (= v_main_~c~0_269 1) (not .cse2) .cse3 (= (+ (* 2 (div (+ (- v_main_~b~0_32) v_main_~b~0_31) 2)) v_main_~a~0_36) v_main_~a~0_35) (not .cse4) (= 0 (mod (+ v_main_~b~0_32 v_main_~b~0_31) 2)) (= v_main_~st~0_136 0) (< 0 (div (+ (* (- 1) v_main_~b~0_32) v_main_~b~0_31) 2))) (and (= v_~last~0_129 v_~last~0_129) .cse5 (= v_main_~a~0_36 v_main_~a~0_35) .cse6 (= v_main_~d~0_16 v_main_~d~0_16) (= v_main_~c~0_271 v_main_~c~0_269) .cse7 (= v_~SIZE~0_115 v_~SIZE~0_115)) (and (or .cse4 (not .cse1) .cse2 (not .cse0) (not .cse3)) .cse5 (= v_main_~a~0_35 v_main_~a~0_36) .cse6 .cse7 (= v_main_~c~0_269 v_main_~c~0_271)))) InVars {~SIZE~0=v_~SIZE~0_115, main_~c~0=v_main_~c~0_271, main_#t~post5=|v_main_#t~post5_164|, main_~d~0=v_main_~d~0_16, main_~st~0=v_main_~st~0_138, main_~b~0=v_main_~b~0_32, ~last~0=v_~last~0_129, main_~a~0=v_main_~a~0_36} OutVars{~SIZE~0=v_~SIZE~0_115, main_~c~0=v_main_~c~0_269, main_#t~post5=|v_main_#t~post5_163|, main_~d~0=v_main_~d~0_16, main_~st~0=v_main_~st~0_136, main_~b~0=v_main_~b~0_31, ~last~0=v_~last~0_129, main_~a~0=v_main_~a~0_35} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {13441#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:45,247 INFO L290 TraceCheckUtils]: 11: Hoare triple {13441#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {13441#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:45,248 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13304#true} {13441#(< 1 ~SIZE~0)} #86#return; {13441#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:45,248 INFO L290 TraceCheckUtils]: 9: Hoare triple {13304#true} assume true; {13304#true} is VALID [2022-04-28 03:57:45,248 INFO L290 TraceCheckUtils]: 8: Hoare triple {13304#true} assume !(0 == ~cond); {13304#true} is VALID [2022-04-28 03:57:45,248 INFO L290 TraceCheckUtils]: 7: Hoare triple {13304#true} ~cond := #in~cond; {13304#true} is VALID [2022-04-28 03:57:45,248 INFO L272 TraceCheckUtils]: 6: Hoare triple {13441#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {13304#true} is VALID [2022-04-28 03:57:45,248 INFO L290 TraceCheckUtils]: 5: Hoare triple {13441#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {13441#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:45,248 INFO L272 TraceCheckUtils]: 4: Hoare triple {13441#(< 1 ~SIZE~0)} call #t~ret7 := main(); {13441#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:45,249 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13441#(< 1 ~SIZE~0)} {13304#true} #90#return; {13441#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:45,249 INFO L290 TraceCheckUtils]: 2: Hoare triple {13441#(< 1 ~SIZE~0)} assume true; {13441#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:45,249 INFO L290 TraceCheckUtils]: 1: Hoare triple {13304#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {13441#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:45,249 INFO L272 TraceCheckUtils]: 0: Hoare triple {13304#true} call ULTIMATE.init(); {13304#true} is VALID [2022-04-28 03:57:45,249 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 03:57:45,249 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2033312928] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:57:45,250 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:57:45,250 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5, 5] total 11 [2022-04-28 03:57:45,295 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:57:45,295 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1854614780] [2022-04-28 03:57:45,295 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1854614780] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:57:45,295 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:57:45,295 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 03:57:45,295 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [220289957] [2022-04-28 03:57:45,295 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:57:45,296 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 39 [2022-04-28 03:57:45,296 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:57:45,296 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:57:45,311 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:45,311 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 03:57:45,311 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:57:45,311 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 03:57:45,311 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=113, Unknown=0, NotChecked=0, Total=182 [2022-04-28 03:57:45,311 INFO L87 Difference]: Start difference. First operand 118 states and 146 transitions. Second operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:57:45,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:45,738 INFO L93 Difference]: Finished difference Result 215 states and 274 transitions. [2022-04-28 03:57:45,738 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 03:57:45,738 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 39 [2022-04-28 03:57:45,739 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:57:45,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:57:45,755 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 67 transitions. [2022-04-28 03:57:45,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:57:45,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 67 transitions. [2022-04-28 03:57:45,757 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 67 transitions. [2022-04-28 03:57:45,816 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:45,817 INFO L225 Difference]: With dead ends: 215 [2022-04-28 03:57:45,817 INFO L226 Difference]: Without dead ends: 152 [2022-04-28 03:57:45,817 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 74 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 82 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=87, Invalid=153, Unknown=0, NotChecked=0, Total=240 [2022-04-28 03:57:45,818 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 43 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 87 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 25 SdHoareTripleChecker+Invalid, 104 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 87 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 03:57:45,818 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 25 Invalid, 104 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 87 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 03:57:45,818 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 152 states. [2022-04-28 03:57:46,024 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 152 to 133. [2022-04-28 03:57:46,024 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:57:46,025 INFO L82 GeneralOperation]: Start isEquivalent. First operand 152 states. Second operand has 133 states, 118 states have (on average 1.2457627118644068) internal successors, (147), 121 states have internal predecessors, (147), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:46,025 INFO L74 IsIncluded]: Start isIncluded. First operand 152 states. Second operand has 133 states, 118 states have (on average 1.2457627118644068) internal successors, (147), 121 states have internal predecessors, (147), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:46,025 INFO L87 Difference]: Start difference. First operand 152 states. Second operand has 133 states, 118 states have (on average 1.2457627118644068) internal successors, (147), 121 states have internal predecessors, (147), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:46,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:46,027 INFO L93 Difference]: Finished difference Result 152 states and 186 transitions. [2022-04-28 03:57:46,027 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 186 transitions. [2022-04-28 03:57:46,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:57:46,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:57:46,027 INFO L74 IsIncluded]: Start isIncluded. First operand has 133 states, 118 states have (on average 1.2457627118644068) internal successors, (147), 121 states have internal predecessors, (147), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 152 states. [2022-04-28 03:57:46,027 INFO L87 Difference]: Start difference. First operand has 133 states, 118 states have (on average 1.2457627118644068) internal successors, (147), 121 states have internal predecessors, (147), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 152 states. [2022-04-28 03:57:46,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:46,029 INFO L93 Difference]: Finished difference Result 152 states and 186 transitions. [2022-04-28 03:57:46,029 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 186 transitions. [2022-04-28 03:57:46,029 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:57:46,029 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:57:46,030 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:57:46,030 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:57:46,030 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 133 states, 118 states have (on average 1.2457627118644068) internal successors, (147), 121 states have internal predecessors, (147), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:46,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 164 transitions. [2022-04-28 03:57:46,031 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 164 transitions. Word has length 39 [2022-04-28 03:57:46,031 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:57:46,031 INFO L495 AbstractCegarLoop]: Abstraction has 133 states and 164 transitions. [2022-04-28 03:57:46,032 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:57:46,032 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 133 states and 164 transitions. [2022-04-28 03:57:46,177 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 164 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:46,177 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 164 transitions. [2022-04-28 03:57:46,177 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-28 03:57:46,178 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:57:46,178 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 5, 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 03:57:46,209 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 03:57:46,378 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:57:46,378 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:57:46,378 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:57:46,378 INFO L85 PathProgramCache]: Analyzing trace with hash 651130940, now seen corresponding path program 11 times [2022-04-28 03:57:46,379 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:57:46,379 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1339721140] [2022-04-28 03:57:46,537 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:57:50,656 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:57:50,761 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:57:50,763 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:57:50,766 INFO L85 PathProgramCache]: Analyzing trace with hash -1201708223, now seen corresponding path program 1 times [2022-04-28 03:57:50,766 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:57:50,766 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [887135780] [2022-04-28 03:57:50,766 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:57:50,766 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:57:50,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:50,971 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:57:50,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:50,977 INFO L290 TraceCheckUtils]: 0: Hoare triple {14515#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:50,977 INFO L290 TraceCheckUtils]: 1: Hoare triple {14502#(<= 20 ~SIZE~0)} assume true; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:50,978 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {14502#(<= 20 ~SIZE~0)} {14497#true} #90#return; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:50,978 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:57:50,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:50,981 INFO L290 TraceCheckUtils]: 0: Hoare triple {14497#true} ~cond := #in~cond; {14497#true} is VALID [2022-04-28 03:57:50,981 INFO L290 TraceCheckUtils]: 1: Hoare triple {14497#true} assume !(0 == ~cond); {14497#true} is VALID [2022-04-28 03:57:50,981 INFO L290 TraceCheckUtils]: 2: Hoare triple {14497#true} assume true; {14497#true} is VALID [2022-04-28 03:57:50,981 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14497#true} {14502#(<= 20 ~SIZE~0)} #86#return; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:50,982 INFO L272 TraceCheckUtils]: 0: Hoare triple {14497#true} call ULTIMATE.init(); {14515#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:57:50,982 INFO L290 TraceCheckUtils]: 1: Hoare triple {14515#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:50,983 INFO L290 TraceCheckUtils]: 2: Hoare triple {14502#(<= 20 ~SIZE~0)} assume true; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:50,983 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14502#(<= 20 ~SIZE~0)} {14497#true} #90#return; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:50,983 INFO L272 TraceCheckUtils]: 4: Hoare triple {14502#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:50,984 INFO L290 TraceCheckUtils]: 5: Hoare triple {14502#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:50,984 INFO L272 TraceCheckUtils]: 6: Hoare triple {14502#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {14497#true} is VALID [2022-04-28 03:57:50,984 INFO L290 TraceCheckUtils]: 7: Hoare triple {14497#true} ~cond := #in~cond; {14497#true} is VALID [2022-04-28 03:57:50,984 INFO L290 TraceCheckUtils]: 8: Hoare triple {14497#true} assume !(0 == ~cond); {14497#true} is VALID [2022-04-28 03:57:50,984 INFO L290 TraceCheckUtils]: 9: Hoare triple {14497#true} assume true; {14497#true} is VALID [2022-04-28 03:57:50,984 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14497#true} {14502#(<= 20 ~SIZE~0)} #86#return; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:50,985 INFO L290 TraceCheckUtils]: 11: Hoare triple {14502#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {14507#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:57:50,985 INFO L290 TraceCheckUtils]: 12: Hoare triple {14507#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {14508#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:57:50,986 INFO L290 TraceCheckUtils]: 13: Hoare triple {14508#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [150] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_177| |v_main_#t~post5_175|)) (.cse1 (= v_main_~c~0_287 v_main_~c~0_286)) (.cse3 (<= v_~last~0_138 v_main_~c~0_287)) (.cse2 (= v_main_~st~0_153 v_main_~st~0_152))) (or (and .cse0 .cse1 (= v_~last~0_138 v_~last~0_138) (= v_~SIZE~0_123 v_~SIZE~0_123) .cse2) (and (= v_main_~st~0_152 0) (< v_main_~c~0_286 (+ v_~SIZE~0_123 1)) (< v_main_~c~0_287 v_main_~c~0_286) .cse3) (and .cse0 .cse1 (or (not .cse3) (not (< v_main_~c~0_287 v_~SIZE~0_123))) .cse2))) InVars {~SIZE~0=v_~SIZE~0_123, main_~c~0=v_main_~c~0_287, main_#t~post5=|v_main_#t~post5_177|, main_~st~0=v_main_~st~0_153, ~last~0=v_~last~0_138} OutVars{~SIZE~0=v_~SIZE~0_123, main_#t~post5=|v_main_#t~post5_175|, main_~c~0=v_main_~c~0_286, main_~st~0=v_main_~st~0_152, ~last~0=v_~last~0_138} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {14509#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:50,986 INFO L290 TraceCheckUtils]: 14: Hoare triple {14509#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [151] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14509#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:50,987 INFO L290 TraceCheckUtils]: 15: Hoare triple {14509#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [152] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_289 v_main_~c~0_288))) (or (and .cse0 (= |v_main_#t~post5_180| |v_main_#t~post5_176|) (= v_~last~0_139 v_~last~0_139) (= v_~SIZE~0_124 v_~SIZE~0_124)) (and .cse0 (= |v_main_#t~post5_176| |v_main_#t~post5_180|) (or (not (< v_main_~c~0_289 v_~SIZE~0_124)) (not (< v_main_~c~0_289 v_~last~0_139)))) (and (< v_main_~c~0_288 (+ v_~last~0_139 1)) (< v_main_~c~0_288 (+ v_~SIZE~0_124 1)) (< v_main_~c~0_289 v_main_~c~0_288)))) InVars {~SIZE~0=v_~SIZE~0_124, main_~c~0=v_main_~c~0_289, main_#t~post5=|v_main_#t~post5_180|, ~last~0=v_~last~0_139} OutVars{~SIZE~0=v_~SIZE~0_124, main_#t~post5=|v_main_#t~post5_176|, main_~c~0=v_main_~c~0_288, ~last~0=v_~last~0_139} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {14509#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:50,988 INFO L290 TraceCheckUtils]: 16: Hoare triple {14509#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [149] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {14510#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:57:50,988 INFO L290 TraceCheckUtils]: 17: Hoare triple {14510#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {14511#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:50,989 INFO L290 TraceCheckUtils]: 18: Hoare triple {14511#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {14511#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:50,989 INFO L290 TraceCheckUtils]: 19: Hoare triple {14511#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {14512#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:50,990 INFO L290 TraceCheckUtils]: 20: Hoare triple {14512#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {14512#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:50,991 INFO L272 TraceCheckUtils]: 21: Hoare triple {14512#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {14513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:57:50,991 INFO L290 TraceCheckUtils]: 22: Hoare triple {14513#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {14514#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:57:50,991 INFO L290 TraceCheckUtils]: 23: Hoare triple {14514#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {14498#false} is VALID [2022-04-28 03:57:50,991 INFO L290 TraceCheckUtils]: 24: Hoare triple {14498#false} assume !false; {14498#false} is VALID [2022-04-28 03:57:50,992 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:50,992 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:57:50,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [887135780] [2022-04-28 03:57:50,992 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [887135780] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:57:50,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1307751240] [2022-04-28 03:57:50,992 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:57:50,992 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:57:50,992 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:57:50,993 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:57:51,019 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 03:57:51,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:51,039 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:57:51,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:51,048 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:57:51,319 INFO L272 TraceCheckUtils]: 0: Hoare triple {14497#true} call ULTIMATE.init(); {14497#true} is VALID [2022-04-28 03:57:51,320 INFO L290 TraceCheckUtils]: 1: Hoare triple {14497#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:51,320 INFO L290 TraceCheckUtils]: 2: Hoare triple {14502#(<= 20 ~SIZE~0)} assume true; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:51,320 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14502#(<= 20 ~SIZE~0)} {14497#true} #90#return; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:51,320 INFO L272 TraceCheckUtils]: 4: Hoare triple {14502#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:51,321 INFO L290 TraceCheckUtils]: 5: Hoare triple {14502#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:51,321 INFO L272 TraceCheckUtils]: 6: Hoare triple {14502#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:51,321 INFO L290 TraceCheckUtils]: 7: Hoare triple {14502#(<= 20 ~SIZE~0)} ~cond := #in~cond; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:51,322 INFO L290 TraceCheckUtils]: 8: Hoare triple {14502#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:51,322 INFO L290 TraceCheckUtils]: 9: Hoare triple {14502#(<= 20 ~SIZE~0)} assume true; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:51,322 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14502#(<= 20 ~SIZE~0)} {14502#(<= 20 ~SIZE~0)} #86#return; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:51,322 INFO L290 TraceCheckUtils]: 11: Hoare triple {14502#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:51,323 INFO L290 TraceCheckUtils]: 12: Hoare triple {14502#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {14555#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:57:51,323 INFO L290 TraceCheckUtils]: 13: Hoare triple {14555#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [150] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_177| |v_main_#t~post5_175|)) (.cse1 (= v_main_~c~0_287 v_main_~c~0_286)) (.cse3 (<= v_~last~0_138 v_main_~c~0_287)) (.cse2 (= v_main_~st~0_153 v_main_~st~0_152))) (or (and .cse0 .cse1 (= v_~last~0_138 v_~last~0_138) (= v_~SIZE~0_123 v_~SIZE~0_123) .cse2) (and (= v_main_~st~0_152 0) (< v_main_~c~0_286 (+ v_~SIZE~0_123 1)) (< v_main_~c~0_287 v_main_~c~0_286) .cse3) (and .cse0 .cse1 (or (not .cse3) (not (< v_main_~c~0_287 v_~SIZE~0_123))) .cse2))) InVars {~SIZE~0=v_~SIZE~0_123, main_~c~0=v_main_~c~0_287, main_#t~post5=|v_main_#t~post5_177|, main_~st~0=v_main_~st~0_153, ~last~0=v_~last~0_138} OutVars{~SIZE~0=v_~SIZE~0_123, main_#t~post5=|v_main_#t~post5_175|, main_~c~0=v_main_~c~0_286, main_~st~0=v_main_~st~0_152, ~last~0=v_~last~0_138} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {14559#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:51,324 INFO L290 TraceCheckUtils]: 14: Hoare triple {14559#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [151] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14559#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:51,324 INFO L290 TraceCheckUtils]: 15: Hoare triple {14559#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [152] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_289 v_main_~c~0_288))) (or (and .cse0 (= |v_main_#t~post5_180| |v_main_#t~post5_176|) (= v_~last~0_139 v_~last~0_139) (= v_~SIZE~0_124 v_~SIZE~0_124)) (and .cse0 (= |v_main_#t~post5_176| |v_main_#t~post5_180|) (or (not (< v_main_~c~0_289 v_~SIZE~0_124)) (not (< v_main_~c~0_289 v_~last~0_139)))) (and (< v_main_~c~0_288 (+ v_~last~0_139 1)) (< v_main_~c~0_288 (+ v_~SIZE~0_124 1)) (< v_main_~c~0_289 v_main_~c~0_288)))) InVars {~SIZE~0=v_~SIZE~0_124, main_~c~0=v_main_~c~0_289, main_#t~post5=|v_main_#t~post5_180|, ~last~0=v_~last~0_139} OutVars{~SIZE~0=v_~SIZE~0_124, main_#t~post5=|v_main_#t~post5_176|, main_~c~0=v_main_~c~0_288, ~last~0=v_~last~0_139} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {14559#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:51,325 INFO L290 TraceCheckUtils]: 16: Hoare triple {14559#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [149] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {14569#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:57:51,325 INFO L290 TraceCheckUtils]: 17: Hoare triple {14569#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {14498#false} is VALID [2022-04-28 03:57:51,325 INFO L290 TraceCheckUtils]: 18: Hoare triple {14498#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {14498#false} is VALID [2022-04-28 03:57:51,325 INFO L290 TraceCheckUtils]: 19: Hoare triple {14498#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {14498#false} is VALID [2022-04-28 03:57:51,325 INFO L290 TraceCheckUtils]: 20: Hoare triple {14498#false} assume !(~d~0 == ~SIZE~0); {14498#false} is VALID [2022-04-28 03:57:51,325 INFO L272 TraceCheckUtils]: 21: Hoare triple {14498#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {14498#false} is VALID [2022-04-28 03:57:51,325 INFO L290 TraceCheckUtils]: 22: Hoare triple {14498#false} ~cond := #in~cond; {14498#false} is VALID [2022-04-28 03:57:51,326 INFO L290 TraceCheckUtils]: 23: Hoare triple {14498#false} assume 0 == ~cond; {14498#false} is VALID [2022-04-28 03:57:51,326 INFO L290 TraceCheckUtils]: 24: Hoare triple {14498#false} assume !false; {14498#false} is VALID [2022-04-28 03:57:51,326 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:51,326 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:57:51,646 INFO L290 TraceCheckUtils]: 24: Hoare triple {14498#false} assume !false; {14498#false} is VALID [2022-04-28 03:57:51,646 INFO L290 TraceCheckUtils]: 23: Hoare triple {14498#false} assume 0 == ~cond; {14498#false} is VALID [2022-04-28 03:57:51,646 INFO L290 TraceCheckUtils]: 22: Hoare triple {14498#false} ~cond := #in~cond; {14498#false} is VALID [2022-04-28 03:57:51,646 INFO L272 TraceCheckUtils]: 21: Hoare triple {14498#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {14498#false} is VALID [2022-04-28 03:57:51,646 INFO L290 TraceCheckUtils]: 20: Hoare triple {14498#false} assume !(~d~0 == ~SIZE~0); {14498#false} is VALID [2022-04-28 03:57:51,646 INFO L290 TraceCheckUtils]: 19: Hoare triple {14498#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {14498#false} is VALID [2022-04-28 03:57:51,647 INFO L290 TraceCheckUtils]: 18: Hoare triple {14498#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {14498#false} is VALID [2022-04-28 03:57:51,647 INFO L290 TraceCheckUtils]: 17: Hoare triple {14615#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {14498#false} is VALID [2022-04-28 03:57:51,647 INFO L290 TraceCheckUtils]: 16: Hoare triple {14619#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [149] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {14615#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:57:51,648 INFO L290 TraceCheckUtils]: 15: Hoare triple {14619#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [152] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_289 v_main_~c~0_288))) (or (and .cse0 (= |v_main_#t~post5_180| |v_main_#t~post5_176|) (= v_~last~0_139 v_~last~0_139) (= v_~SIZE~0_124 v_~SIZE~0_124)) (and .cse0 (= |v_main_#t~post5_176| |v_main_#t~post5_180|) (or (not (< v_main_~c~0_289 v_~SIZE~0_124)) (not (< v_main_~c~0_289 v_~last~0_139)))) (and (< v_main_~c~0_288 (+ v_~last~0_139 1)) (< v_main_~c~0_288 (+ v_~SIZE~0_124 1)) (< v_main_~c~0_289 v_main_~c~0_288)))) InVars {~SIZE~0=v_~SIZE~0_124, main_~c~0=v_main_~c~0_289, main_#t~post5=|v_main_#t~post5_180|, ~last~0=v_~last~0_139} OutVars{~SIZE~0=v_~SIZE~0_124, main_#t~post5=|v_main_#t~post5_176|, main_~c~0=v_main_~c~0_288, ~last~0=v_~last~0_139} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {14619#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:51,648 INFO L290 TraceCheckUtils]: 14: Hoare triple {14619#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [151] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {14619#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:51,649 INFO L290 TraceCheckUtils]: 13: Hoare triple {14629#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [150] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_177| |v_main_#t~post5_175|)) (.cse1 (= v_main_~c~0_287 v_main_~c~0_286)) (.cse3 (<= v_~last~0_138 v_main_~c~0_287)) (.cse2 (= v_main_~st~0_153 v_main_~st~0_152))) (or (and .cse0 .cse1 (= v_~last~0_138 v_~last~0_138) (= v_~SIZE~0_123 v_~SIZE~0_123) .cse2) (and (= v_main_~st~0_152 0) (< v_main_~c~0_286 (+ v_~SIZE~0_123 1)) (< v_main_~c~0_287 v_main_~c~0_286) .cse3) (and .cse0 .cse1 (or (not .cse3) (not (< v_main_~c~0_287 v_~SIZE~0_123))) .cse2))) InVars {~SIZE~0=v_~SIZE~0_123, main_~c~0=v_main_~c~0_287, main_#t~post5=|v_main_#t~post5_177|, main_~st~0=v_main_~st~0_153, ~last~0=v_~last~0_138} OutVars{~SIZE~0=v_~SIZE~0_123, main_#t~post5=|v_main_#t~post5_175|, main_~c~0=v_main_~c~0_286, main_~st~0=v_main_~st~0_152, ~last~0=v_~last~0_138} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {14619#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:51,649 INFO L290 TraceCheckUtils]: 12: Hoare triple {14633#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {14629#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:57:51,649 INFO L290 TraceCheckUtils]: 11: Hoare triple {14633#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {14633#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:51,650 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14497#true} {14633#(< 1 ~SIZE~0)} #86#return; {14633#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:51,650 INFO L290 TraceCheckUtils]: 9: Hoare triple {14497#true} assume true; {14497#true} is VALID [2022-04-28 03:57:51,650 INFO L290 TraceCheckUtils]: 8: Hoare triple {14497#true} assume !(0 == ~cond); {14497#true} is VALID [2022-04-28 03:57:51,650 INFO L290 TraceCheckUtils]: 7: Hoare triple {14497#true} ~cond := #in~cond; {14497#true} is VALID [2022-04-28 03:57:51,650 INFO L272 TraceCheckUtils]: 6: Hoare triple {14633#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {14497#true} is VALID [2022-04-28 03:57:51,650 INFO L290 TraceCheckUtils]: 5: Hoare triple {14633#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {14633#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:51,651 INFO L272 TraceCheckUtils]: 4: Hoare triple {14633#(< 1 ~SIZE~0)} call #t~ret7 := main(); {14633#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:51,651 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14633#(< 1 ~SIZE~0)} {14497#true} #90#return; {14633#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:51,652 INFO L290 TraceCheckUtils]: 2: Hoare triple {14633#(< 1 ~SIZE~0)} assume true; {14633#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:51,653 INFO L290 TraceCheckUtils]: 1: Hoare triple {14497#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {14633#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:51,653 INFO L272 TraceCheckUtils]: 0: Hoare triple {14497#true} call ULTIMATE.init(); {14497#true} is VALID [2022-04-28 03:57:51,653 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:51,653 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1307751240] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:57:51,653 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:57:51,653 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:57:52,218 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:57:52,218 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1339721140] [2022-04-28 03:57:52,218 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1339721140] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:57:52,218 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:57:52,218 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-28 03:57:52,218 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1058091706] [2022-04-28 03:57:52,218 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:57:52,219 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.7) internal successors, (34), 18 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 40 [2022-04-28 03:57:52,219 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:57:52,219 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 20 states have (on average 1.7) internal successors, (34), 18 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:52,249 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 03:57:52,250 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-28 03:57:52,250 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:57:52,250 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-28 03:57:52,250 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=147, Invalid=665, Unknown=0, NotChecked=0, Total=812 [2022-04-28 03:57:52,250 INFO L87 Difference]: Start difference. First operand 133 states and 164 transitions. Second operand has 20 states, 20 states have (on average 1.7) internal successors, (34), 18 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:53,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:53,287 INFO L93 Difference]: Finished difference Result 221 states and 276 transitions. [2022-04-28 03:57:53,287 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 03:57:53,287 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.7) internal successors, (34), 18 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 40 [2022-04-28 03:57:53,288 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:57:53,288 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.7) internal successors, (34), 18 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:53,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 85 transitions. [2022-04-28 03:57:53,288 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.7) internal successors, (34), 18 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:53,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 85 transitions. [2022-04-28 03:57:53,289 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 85 transitions. [2022-04-28 03:57:53,356 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:53,358 INFO L225 Difference]: With dead ends: 221 [2022-04-28 03:57:53,358 INFO L226 Difference]: Without dead ends: 152 [2022-04-28 03:57:53,358 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 48 SyntacticMatches, 9 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 340 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=159, Invalid=771, Unknown=0, NotChecked=0, Total=930 [2022-04-28 03:57:53,358 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 45 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 585 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 595 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 585 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 03:57:53,359 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 60 Invalid, 595 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 585 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 03:57:53,359 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 152 states. [2022-04-28 03:57:53,660 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 152 to 136. [2022-04-28 03:57:53,660 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:57:53,661 INFO L82 GeneralOperation]: Start isEquivalent. First operand 152 states. Second operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:53,661 INFO L74 IsIncluded]: Start isIncluded. First operand 152 states. Second operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:53,661 INFO L87 Difference]: Start difference. First operand 152 states. Second operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:53,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:53,663 INFO L93 Difference]: Finished difference Result 152 states and 185 transitions. [2022-04-28 03:57:53,663 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 185 transitions. [2022-04-28 03:57:53,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:57:53,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:57:53,664 INFO L74 IsIncluded]: Start isIncluded. First operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 152 states. [2022-04-28 03:57:53,664 INFO L87 Difference]: Start difference. First operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 152 states. [2022-04-28 03:57:53,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:57:53,667 INFO L93 Difference]: Finished difference Result 152 states and 185 transitions. [2022-04-28 03:57:53,667 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 185 transitions. [2022-04-28 03:57:53,667 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:57:53,667 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:57:53,667 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:57:53,667 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:57:53,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:57:53,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 167 transitions. [2022-04-28 03:57:53,670 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 167 transitions. Word has length 40 [2022-04-28 03:57:53,670 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:57:53,670 INFO L495 AbstractCegarLoop]: Abstraction has 136 states and 167 transitions. [2022-04-28 03:57:53,670 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 1.7) internal successors, (34), 18 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:57:53,670 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 136 states and 167 transitions. [2022-04-28 03:57:53,881 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:57:53,881 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 167 transitions. [2022-04-28 03:57:53,882 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-28 03:57:53,882 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:57:53,882 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:57:53,901 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 03:57:54,082 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:57:54,082 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:57:54,083 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:57:54,083 INFO L85 PathProgramCache]: Analyzing trace with hash -1154307394, now seen corresponding path program 12 times [2022-04-28 03:57:54,083 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:57:54,083 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1732229814] [2022-04-28 03:57:54,294 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:57:58,404 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:57:58,537 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:57:58,538 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:57:58,541 INFO L85 PathProgramCache]: Analyzing trace with hash 1290814529, now seen corresponding path program 1 times [2022-04-28 03:57:58,541 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:57:58,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [912538759] [2022-04-28 03:57:58,542 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:57:58,542 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:57:58,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:58,720 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:57:58,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:58,729 INFO L290 TraceCheckUtils]: 0: Hoare triple {15723#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:58,729 INFO L290 TraceCheckUtils]: 1: Hoare triple {15710#(<= 20 ~SIZE~0)} assume true; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:58,729 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15710#(<= 20 ~SIZE~0)} {15705#true} #90#return; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:58,730 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:57:58,730 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:58,744 INFO L290 TraceCheckUtils]: 0: Hoare triple {15705#true} ~cond := #in~cond; {15705#true} is VALID [2022-04-28 03:57:58,745 INFO L290 TraceCheckUtils]: 1: Hoare triple {15705#true} assume !(0 == ~cond); {15705#true} is VALID [2022-04-28 03:57:58,745 INFO L290 TraceCheckUtils]: 2: Hoare triple {15705#true} assume true; {15705#true} is VALID [2022-04-28 03:57:58,745 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15705#true} {15710#(<= 20 ~SIZE~0)} #86#return; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:58,745 INFO L272 TraceCheckUtils]: 0: Hoare triple {15705#true} call ULTIMATE.init(); {15723#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:57:58,746 INFO L290 TraceCheckUtils]: 1: Hoare triple {15723#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:58,746 INFO L290 TraceCheckUtils]: 2: Hoare triple {15710#(<= 20 ~SIZE~0)} assume true; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:58,747 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15710#(<= 20 ~SIZE~0)} {15705#true} #90#return; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:58,747 INFO L272 TraceCheckUtils]: 4: Hoare triple {15710#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:58,747 INFO L290 TraceCheckUtils]: 5: Hoare triple {15710#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:58,747 INFO L272 TraceCheckUtils]: 6: Hoare triple {15710#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {15705#true} is VALID [2022-04-28 03:57:58,747 INFO L290 TraceCheckUtils]: 7: Hoare triple {15705#true} ~cond := #in~cond; {15705#true} is VALID [2022-04-28 03:57:58,747 INFO L290 TraceCheckUtils]: 8: Hoare triple {15705#true} assume !(0 == ~cond); {15705#true} is VALID [2022-04-28 03:57:58,747 INFO L290 TraceCheckUtils]: 9: Hoare triple {15705#true} assume true; {15705#true} is VALID [2022-04-28 03:57:58,748 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15705#true} {15710#(<= 20 ~SIZE~0)} #86#return; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:58,748 INFO L290 TraceCheckUtils]: 11: Hoare triple {15710#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {15715#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:57:58,749 INFO L290 TraceCheckUtils]: 12: Hoare triple {15715#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {15716#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:57:58,749 INFO L290 TraceCheckUtils]: 13: Hoare triple {15716#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [154] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_148 v_main_~c~0_310)) (.cse1 (= v_main_~st~0_167 v_main_~st~0_166)) (.cse2 (= |v_main_#t~post5_190| |v_main_#t~post5_188|))) (or (and (< v_main_~c~0_310 v_main_~c~0_309) (= v_main_~st~0_166 0) (< v_main_~c~0_309 (+ v_~SIZE~0_132 1)) .cse0) (and (= v_~last~0_148 v_~last~0_148) (= v_main_~c~0_310 v_main_~c~0_309) .cse1 (= v_~SIZE~0_132 v_~SIZE~0_132) .cse2) (and (= v_main_~c~0_309 v_main_~c~0_310) (or (not .cse0) (not (< v_main_~c~0_310 v_~SIZE~0_132))) .cse1 .cse2))) InVars {~SIZE~0=v_~SIZE~0_132, main_~c~0=v_main_~c~0_310, main_#t~post5=|v_main_#t~post5_190|, main_~st~0=v_main_~st~0_167, ~last~0=v_~last~0_148} OutVars{~SIZE~0=v_~SIZE~0_132, main_#t~post5=|v_main_#t~post5_188|, main_~c~0=v_main_~c~0_309, main_~st~0=v_main_~st~0_166, ~last~0=v_~last~0_148} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {15717#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:58,750 INFO L290 TraceCheckUtils]: 14: Hoare triple {15717#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [155] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15717#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:58,750 INFO L290 TraceCheckUtils]: 15: Hoare triple {15717#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [156] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_312 v_main_~c~0_311)) (.cse1 (= |v_main_#t~post5_193| |v_main_#t~post5_189|))) (or (and (< v_main_~c~0_311 (+ v_~SIZE~0_133 1)) (< v_main_~c~0_312 v_main_~c~0_311) (< v_main_~c~0_311 (+ v_~last~0_149 1))) (and .cse0 .cse1 (or (not (< v_main_~c~0_312 v_~SIZE~0_133)) (not (< v_main_~c~0_312 v_~last~0_149)))) (and (= v_~SIZE~0_133 v_~SIZE~0_133) .cse0 .cse1 (= v_~last~0_149 v_~last~0_149)))) InVars {~SIZE~0=v_~SIZE~0_133, main_~c~0=v_main_~c~0_312, main_#t~post5=|v_main_#t~post5_193|, ~last~0=v_~last~0_149} OutVars{~SIZE~0=v_~SIZE~0_133, main_#t~post5=|v_main_#t~post5_189|, main_~c~0=v_main_~c~0_311, ~last~0=v_~last~0_149} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {15717#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:57:58,751 INFO L290 TraceCheckUtils]: 16: Hoare triple {15717#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [153] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {15718#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:57:58,752 INFO L290 TraceCheckUtils]: 17: Hoare triple {15718#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {15719#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:58,752 INFO L290 TraceCheckUtils]: 18: Hoare triple {15719#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {15719#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:58,753 INFO L290 TraceCheckUtils]: 19: Hoare triple {15719#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {15720#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:58,753 INFO L290 TraceCheckUtils]: 20: Hoare triple {15720#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {15720#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:57:58,754 INFO L272 TraceCheckUtils]: 21: Hoare triple {15720#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {15721#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:57:58,754 INFO L290 TraceCheckUtils]: 22: Hoare triple {15721#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {15722#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:57:58,754 INFO L290 TraceCheckUtils]: 23: Hoare triple {15722#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {15706#false} is VALID [2022-04-28 03:57:58,754 INFO L290 TraceCheckUtils]: 24: Hoare triple {15706#false} assume !false; {15706#false} is VALID [2022-04-28 03:57:58,754 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:58,755 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:57:58,755 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [912538759] [2022-04-28 03:57:58,755 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [912538759] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:57:58,755 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1358979926] [2022-04-28 03:57:58,755 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:57:58,755 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:57:58,755 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:57:58,756 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:57:58,786 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 03:57:58,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:58,802 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:57:58,808 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:57:58,809 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:57:59,080 INFO L272 TraceCheckUtils]: 0: Hoare triple {15705#true} call ULTIMATE.init(); {15705#true} is VALID [2022-04-28 03:57:59,081 INFO L290 TraceCheckUtils]: 1: Hoare triple {15705#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:59,081 INFO L290 TraceCheckUtils]: 2: Hoare triple {15710#(<= 20 ~SIZE~0)} assume true; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:59,082 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15710#(<= 20 ~SIZE~0)} {15705#true} #90#return; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:59,082 INFO L272 TraceCheckUtils]: 4: Hoare triple {15710#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:59,082 INFO L290 TraceCheckUtils]: 5: Hoare triple {15710#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:59,083 INFO L272 TraceCheckUtils]: 6: Hoare triple {15710#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:59,083 INFO L290 TraceCheckUtils]: 7: Hoare triple {15710#(<= 20 ~SIZE~0)} ~cond := #in~cond; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:59,083 INFO L290 TraceCheckUtils]: 8: Hoare triple {15710#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:59,084 INFO L290 TraceCheckUtils]: 9: Hoare triple {15710#(<= 20 ~SIZE~0)} assume true; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:59,084 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15710#(<= 20 ~SIZE~0)} {15710#(<= 20 ~SIZE~0)} #86#return; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:59,084 INFO L290 TraceCheckUtils]: 11: Hoare triple {15710#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:57:59,085 INFO L290 TraceCheckUtils]: 12: Hoare triple {15710#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {15763#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:57:59,085 INFO L290 TraceCheckUtils]: 13: Hoare triple {15763#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [154] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_148 v_main_~c~0_310)) (.cse1 (= v_main_~st~0_167 v_main_~st~0_166)) (.cse2 (= |v_main_#t~post5_190| |v_main_#t~post5_188|))) (or (and (< v_main_~c~0_310 v_main_~c~0_309) (= v_main_~st~0_166 0) (< v_main_~c~0_309 (+ v_~SIZE~0_132 1)) .cse0) (and (= v_~last~0_148 v_~last~0_148) (= v_main_~c~0_310 v_main_~c~0_309) .cse1 (= v_~SIZE~0_132 v_~SIZE~0_132) .cse2) (and (= v_main_~c~0_309 v_main_~c~0_310) (or (not .cse0) (not (< v_main_~c~0_310 v_~SIZE~0_132))) .cse1 .cse2))) InVars {~SIZE~0=v_~SIZE~0_132, main_~c~0=v_main_~c~0_310, main_#t~post5=|v_main_#t~post5_190|, main_~st~0=v_main_~st~0_167, ~last~0=v_~last~0_148} OutVars{~SIZE~0=v_~SIZE~0_132, main_#t~post5=|v_main_#t~post5_188|, main_~c~0=v_main_~c~0_309, main_~st~0=v_main_~st~0_166, ~last~0=v_~last~0_148} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {15767#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:59,086 INFO L290 TraceCheckUtils]: 14: Hoare triple {15767#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [155] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15767#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:59,086 INFO L290 TraceCheckUtils]: 15: Hoare triple {15767#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [156] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_312 v_main_~c~0_311)) (.cse1 (= |v_main_#t~post5_193| |v_main_#t~post5_189|))) (or (and (< v_main_~c~0_311 (+ v_~SIZE~0_133 1)) (< v_main_~c~0_312 v_main_~c~0_311) (< v_main_~c~0_311 (+ v_~last~0_149 1))) (and .cse0 .cse1 (or (not (< v_main_~c~0_312 v_~SIZE~0_133)) (not (< v_main_~c~0_312 v_~last~0_149)))) (and (= v_~SIZE~0_133 v_~SIZE~0_133) .cse0 .cse1 (= v_~last~0_149 v_~last~0_149)))) InVars {~SIZE~0=v_~SIZE~0_133, main_~c~0=v_main_~c~0_312, main_#t~post5=|v_main_#t~post5_193|, ~last~0=v_~last~0_149} OutVars{~SIZE~0=v_~SIZE~0_133, main_#t~post5=|v_main_#t~post5_189|, main_~c~0=v_main_~c~0_311, ~last~0=v_~last~0_149} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {15767#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:57:59,087 INFO L290 TraceCheckUtils]: 16: Hoare triple {15767#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [153] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {15777#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:57:59,087 INFO L290 TraceCheckUtils]: 17: Hoare triple {15777#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {15706#false} is VALID [2022-04-28 03:57:59,087 INFO L290 TraceCheckUtils]: 18: Hoare triple {15706#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {15706#false} is VALID [2022-04-28 03:57:59,087 INFO L290 TraceCheckUtils]: 19: Hoare triple {15706#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {15706#false} is VALID [2022-04-28 03:57:59,088 INFO L290 TraceCheckUtils]: 20: Hoare triple {15706#false} assume !(~d~0 == ~SIZE~0); {15706#false} is VALID [2022-04-28 03:57:59,088 INFO L272 TraceCheckUtils]: 21: Hoare triple {15706#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {15706#false} is VALID [2022-04-28 03:57:59,088 INFO L290 TraceCheckUtils]: 22: Hoare triple {15706#false} ~cond := #in~cond; {15706#false} is VALID [2022-04-28 03:57:59,088 INFO L290 TraceCheckUtils]: 23: Hoare triple {15706#false} assume 0 == ~cond; {15706#false} is VALID [2022-04-28 03:57:59,088 INFO L290 TraceCheckUtils]: 24: Hoare triple {15706#false} assume !false; {15706#false} is VALID [2022-04-28 03:57:59,088 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:59,088 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:57:59,421 INFO L290 TraceCheckUtils]: 24: Hoare triple {15706#false} assume !false; {15706#false} is VALID [2022-04-28 03:57:59,422 INFO L290 TraceCheckUtils]: 23: Hoare triple {15706#false} assume 0 == ~cond; {15706#false} is VALID [2022-04-28 03:57:59,422 INFO L290 TraceCheckUtils]: 22: Hoare triple {15706#false} ~cond := #in~cond; {15706#false} is VALID [2022-04-28 03:57:59,422 INFO L272 TraceCheckUtils]: 21: Hoare triple {15706#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {15706#false} is VALID [2022-04-28 03:57:59,422 INFO L290 TraceCheckUtils]: 20: Hoare triple {15706#false} assume !(~d~0 == ~SIZE~0); {15706#false} is VALID [2022-04-28 03:57:59,422 INFO L290 TraceCheckUtils]: 19: Hoare triple {15706#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {15706#false} is VALID [2022-04-28 03:57:59,422 INFO L290 TraceCheckUtils]: 18: Hoare triple {15706#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {15706#false} is VALID [2022-04-28 03:57:59,422 INFO L290 TraceCheckUtils]: 17: Hoare triple {15823#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {15706#false} is VALID [2022-04-28 03:57:59,423 INFO L290 TraceCheckUtils]: 16: Hoare triple {15827#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [153] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {15823#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:57:59,423 INFO L290 TraceCheckUtils]: 15: Hoare triple {15827#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [156] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_312 v_main_~c~0_311)) (.cse1 (= |v_main_#t~post5_193| |v_main_#t~post5_189|))) (or (and (< v_main_~c~0_311 (+ v_~SIZE~0_133 1)) (< v_main_~c~0_312 v_main_~c~0_311) (< v_main_~c~0_311 (+ v_~last~0_149 1))) (and .cse0 .cse1 (or (not (< v_main_~c~0_312 v_~SIZE~0_133)) (not (< v_main_~c~0_312 v_~last~0_149)))) (and (= v_~SIZE~0_133 v_~SIZE~0_133) .cse0 .cse1 (= v_~last~0_149 v_~last~0_149)))) InVars {~SIZE~0=v_~SIZE~0_133, main_~c~0=v_main_~c~0_312, main_#t~post5=|v_main_#t~post5_193|, ~last~0=v_~last~0_149} OutVars{~SIZE~0=v_~SIZE~0_133, main_#t~post5=|v_main_#t~post5_189|, main_~c~0=v_main_~c~0_311, ~last~0=v_~last~0_149} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {15827#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:59,424 INFO L290 TraceCheckUtils]: 14: Hoare triple {15827#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [155] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {15827#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:59,424 INFO L290 TraceCheckUtils]: 13: Hoare triple {15837#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [154] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_148 v_main_~c~0_310)) (.cse1 (= v_main_~st~0_167 v_main_~st~0_166)) (.cse2 (= |v_main_#t~post5_190| |v_main_#t~post5_188|))) (or (and (< v_main_~c~0_310 v_main_~c~0_309) (= v_main_~st~0_166 0) (< v_main_~c~0_309 (+ v_~SIZE~0_132 1)) .cse0) (and (= v_~last~0_148 v_~last~0_148) (= v_main_~c~0_310 v_main_~c~0_309) .cse1 (= v_~SIZE~0_132 v_~SIZE~0_132) .cse2) (and (= v_main_~c~0_309 v_main_~c~0_310) (or (not .cse0) (not (< v_main_~c~0_310 v_~SIZE~0_132))) .cse1 .cse2))) InVars {~SIZE~0=v_~SIZE~0_132, main_~c~0=v_main_~c~0_310, main_#t~post5=|v_main_#t~post5_190|, main_~st~0=v_main_~st~0_167, ~last~0=v_~last~0_148} OutVars{~SIZE~0=v_~SIZE~0_132, main_#t~post5=|v_main_#t~post5_188|, main_~c~0=v_main_~c~0_309, main_~st~0=v_main_~st~0_166, ~last~0=v_~last~0_148} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {15827#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:57:59,425 INFO L290 TraceCheckUtils]: 12: Hoare triple {15841#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {15837#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:57:59,425 INFO L290 TraceCheckUtils]: 11: Hoare triple {15841#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {15841#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:59,425 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15705#true} {15841#(< 1 ~SIZE~0)} #86#return; {15841#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:59,426 INFO L290 TraceCheckUtils]: 9: Hoare triple {15705#true} assume true; {15705#true} is VALID [2022-04-28 03:57:59,426 INFO L290 TraceCheckUtils]: 8: Hoare triple {15705#true} assume !(0 == ~cond); {15705#true} is VALID [2022-04-28 03:57:59,426 INFO L290 TraceCheckUtils]: 7: Hoare triple {15705#true} ~cond := #in~cond; {15705#true} is VALID [2022-04-28 03:57:59,426 INFO L272 TraceCheckUtils]: 6: Hoare triple {15841#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {15705#true} is VALID [2022-04-28 03:57:59,426 INFO L290 TraceCheckUtils]: 5: Hoare triple {15841#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {15841#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:59,426 INFO L272 TraceCheckUtils]: 4: Hoare triple {15841#(< 1 ~SIZE~0)} call #t~ret7 := main(); {15841#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:59,427 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15841#(< 1 ~SIZE~0)} {15705#true} #90#return; {15841#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:59,427 INFO L290 TraceCheckUtils]: 2: Hoare triple {15841#(< 1 ~SIZE~0)} assume true; {15841#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:59,427 INFO L290 TraceCheckUtils]: 1: Hoare triple {15705#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {15841#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:57:59,427 INFO L272 TraceCheckUtils]: 0: Hoare triple {15705#true} call ULTIMATE.init(); {15705#true} is VALID [2022-04-28 03:57:59,428 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:57:59,428 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1358979926] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:57:59,428 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:57:59,428 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:57:59,995 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:57:59,996 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1732229814] [2022-04-28 03:57:59,996 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1732229814] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:57:59,996 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:57:59,996 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-28 03:57:59,996 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [29720434] [2022-04-28 03:57:59,996 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:57:59,996 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 1.619047619047619) internal successors, (34), 19 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 40 [2022-04-28 03:57:59,996 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:57:59,996 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 1.619047619047619) internal successors, (34), 19 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:00,025 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 03:58:00,025 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-28 03:58:00,025 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:58:00,026 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-28 03:58:00,026 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=161, Invalid=709, Unknown=0, NotChecked=0, Total=870 [2022-04-28 03:58:00,026 INFO L87 Difference]: Start difference. First operand 136 states and 167 transitions. Second operand has 21 states, 21 states have (on average 1.619047619047619) internal successors, (34), 19 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:01,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:01,287 INFO L93 Difference]: Finished difference Result 224 states and 279 transitions. [2022-04-28 03:58:01,287 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 03:58:01,287 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 1.619047619047619) internal successors, (34), 19 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 40 [2022-04-28 03:58:01,288 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:58:01,288 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 1.619047619047619) internal successors, (34), 19 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:01,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 86 transitions. [2022-04-28 03:58:01,289 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 1.619047619047619) internal successors, (34), 19 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:01,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 86 transitions. [2022-04-28 03:58:01,289 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 86 transitions. [2022-04-28 03:58:01,349 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:58:01,350 INFO L225 Difference]: With dead ends: 224 [2022-04-28 03:58:01,350 INFO L226 Difference]: Without dead ends: 155 [2022-04-28 03:58:01,351 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 48 SyntacticMatches, 8 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 363 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=173, Invalid=819, Unknown=0, NotChecked=0, Total=992 [2022-04-28 03:58:01,351 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 55 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 671 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 56 SdHoareTripleChecker+Valid, 64 SdHoareTripleChecker+Invalid, 682 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 671 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 03:58:01,351 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [56 Valid, 64 Invalid, 682 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 671 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 03:58:01,352 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 155 states. [2022-04-28 03:58:01,658 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 155 to 136. [2022-04-28 03:58:01,658 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:58:01,658 INFO L82 GeneralOperation]: Start isEquivalent. First operand 155 states. Second operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:01,659 INFO L74 IsIncluded]: Start isIncluded. First operand 155 states. Second operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:01,659 INFO L87 Difference]: Start difference. First operand 155 states. Second operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:01,661 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:01,662 INFO L93 Difference]: Finished difference Result 155 states and 188 transitions. [2022-04-28 03:58:01,662 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 188 transitions. [2022-04-28 03:58:01,662 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:58:01,662 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:58:01,662 INFO L74 IsIncluded]: Start isIncluded. First operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 155 states. [2022-04-28 03:58:01,662 INFO L87 Difference]: Start difference. First operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 155 states. [2022-04-28 03:58:01,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:01,664 INFO L93 Difference]: Finished difference Result 155 states and 188 transitions. [2022-04-28 03:58:01,664 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 188 transitions. [2022-04-28 03:58:01,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:58:01,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:58:01,664 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:58:01,664 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:58:01,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:01,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 167 transitions. [2022-04-28 03:58:01,666 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 167 transitions. Word has length 40 [2022-04-28 03:58:01,666 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:58:01,666 INFO L495 AbstractCegarLoop]: Abstraction has 136 states and 167 transitions. [2022-04-28 03:58:01,666 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 1.619047619047619) internal successors, (34), 19 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:01,666 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 136 states and 167 transitions. [2022-04-28 03:58:01,870 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:58:01,870 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 167 transitions. [2022-04-28 03:58:01,871 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-28 03:58:01,871 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:58:01,871 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 3, 3, 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 03:58:01,888 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 03:58:02,071 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-28 03:58:02,071 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:58:02,072 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:58:02,072 INFO L85 PathProgramCache]: Analyzing trace with hash -1971955844, now seen corresponding path program 13 times [2022-04-28 03:58:02,072 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:58:02,072 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2039834793] [2022-04-28 03:58:02,287 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:58:06,405 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:58:06,537 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:58:06,539 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:58:06,546 INFO L85 PathProgramCache]: Analyzing trace with hash -511630015, now seen corresponding path program 1 times [2022-04-28 03:58:06,547 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:58:06,547 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [518546976] [2022-04-28 03:58:06,547 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:58:06,547 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:58:06,554 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:06,814 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:58:06,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:06,820 INFO L290 TraceCheckUtils]: 0: Hoare triple {16944#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:06,821 INFO L290 TraceCheckUtils]: 1: Hoare triple {16931#(<= 20 ~SIZE~0)} assume true; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:06,821 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {16931#(<= 20 ~SIZE~0)} {16926#true} #90#return; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:06,821 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:58:06,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:06,824 INFO L290 TraceCheckUtils]: 0: Hoare triple {16926#true} ~cond := #in~cond; {16926#true} is VALID [2022-04-28 03:58:06,824 INFO L290 TraceCheckUtils]: 1: Hoare triple {16926#true} assume !(0 == ~cond); {16926#true} is VALID [2022-04-28 03:58:06,824 INFO L290 TraceCheckUtils]: 2: Hoare triple {16926#true} assume true; {16926#true} is VALID [2022-04-28 03:58:06,824 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16926#true} {16931#(<= 20 ~SIZE~0)} #86#return; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:06,825 INFO L272 TraceCheckUtils]: 0: Hoare triple {16926#true} call ULTIMATE.init(); {16944#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:58:06,826 INFO L290 TraceCheckUtils]: 1: Hoare triple {16944#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:06,826 INFO L290 TraceCheckUtils]: 2: Hoare triple {16931#(<= 20 ~SIZE~0)} assume true; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:06,826 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16931#(<= 20 ~SIZE~0)} {16926#true} #90#return; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:06,826 INFO L272 TraceCheckUtils]: 4: Hoare triple {16931#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:06,827 INFO L290 TraceCheckUtils]: 5: Hoare triple {16931#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:06,827 INFO L272 TraceCheckUtils]: 6: Hoare triple {16931#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {16926#true} is VALID [2022-04-28 03:58:06,827 INFO L290 TraceCheckUtils]: 7: Hoare triple {16926#true} ~cond := #in~cond; {16926#true} is VALID [2022-04-28 03:58:06,827 INFO L290 TraceCheckUtils]: 8: Hoare triple {16926#true} assume !(0 == ~cond); {16926#true} is VALID [2022-04-28 03:58:06,827 INFO L290 TraceCheckUtils]: 9: Hoare triple {16926#true} assume true; {16926#true} is VALID [2022-04-28 03:58:06,828 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16926#true} {16931#(<= 20 ~SIZE~0)} #86#return; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:06,828 INFO L290 TraceCheckUtils]: 11: Hoare triple {16931#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {16936#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:58:06,828 INFO L290 TraceCheckUtils]: 12: Hoare triple {16936#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {16937#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:58:06,829 INFO L290 TraceCheckUtils]: 13: Hoare triple {16937#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [158] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_333 v_main_~c~0_332)) (.cse1 (= |v_main_#t~post5_203| |v_main_#t~post5_201|)) (.cse2 (<= v_~last~0_158 v_main_~c~0_333))) (or (and .cse0 (= v_~SIZE~0_141 v_~SIZE~0_141) .cse1 (= v_~last~0_158 v_~last~0_158) (= v_main_~st~0_180 v_main_~st~0_179)) (and .cse0 .cse1 (or (not .cse2) (not (< v_main_~c~0_333 v_~SIZE~0_141))) (= v_main_~st~0_179 v_main_~st~0_180)) (and (< v_main_~c~0_332 (+ v_~SIZE~0_141 1)) (< v_main_~c~0_333 v_main_~c~0_332) (= v_main_~st~0_179 0) .cse2))) InVars {~SIZE~0=v_~SIZE~0_141, main_~c~0=v_main_~c~0_333, main_#t~post5=|v_main_#t~post5_203|, main_~st~0=v_main_~st~0_180, ~last~0=v_~last~0_158} OutVars{~SIZE~0=v_~SIZE~0_141, main_#t~post5=|v_main_#t~post5_201|, main_~c~0=v_main_~c~0_332, main_~st~0=v_main_~st~0_179, ~last~0=v_~last~0_158} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {16938#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:06,830 INFO L290 TraceCheckUtils]: 14: Hoare triple {16938#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [159] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16938#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:06,830 INFO L290 TraceCheckUtils]: 15: Hoare triple {16938#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [160] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_206| |v_main_#t~post5_202|)) (.cse1 (= v_main_~c~0_335 v_main_~c~0_334))) (or (and (< v_main_~c~0_334 (+ v_~SIZE~0_142 1)) (< v_main_~c~0_335 v_main_~c~0_334) (< v_main_~c~0_334 (+ v_~last~0_159 1))) (and .cse0 (or (not (< v_main_~c~0_335 v_~last~0_159)) (not (< v_main_~c~0_335 v_~SIZE~0_142))) .cse1) (and (= v_~SIZE~0_142 v_~SIZE~0_142) .cse0 (= v_~last~0_159 v_~last~0_159) .cse1))) InVars {~SIZE~0=v_~SIZE~0_142, main_~c~0=v_main_~c~0_335, main_#t~post5=|v_main_#t~post5_206|, ~last~0=v_~last~0_159} OutVars{~SIZE~0=v_~SIZE~0_142, main_#t~post5=|v_main_#t~post5_202|, main_~c~0=v_main_~c~0_334, ~last~0=v_~last~0_159} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {16938#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:06,831 INFO L290 TraceCheckUtils]: 16: Hoare triple {16938#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [157] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {16939#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:58:06,831 INFO L290 TraceCheckUtils]: 17: Hoare triple {16939#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {16940#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:06,832 INFO L290 TraceCheckUtils]: 18: Hoare triple {16940#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {16940#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:06,832 INFO L290 TraceCheckUtils]: 19: Hoare triple {16940#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {16941#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:06,833 INFO L290 TraceCheckUtils]: 20: Hoare triple {16941#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {16941#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:06,834 INFO L272 TraceCheckUtils]: 21: Hoare triple {16941#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {16942#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:58:06,834 INFO L290 TraceCheckUtils]: 22: Hoare triple {16942#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {16943#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:58:06,834 INFO L290 TraceCheckUtils]: 23: Hoare triple {16943#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {16927#false} is VALID [2022-04-28 03:58:06,834 INFO L290 TraceCheckUtils]: 24: Hoare triple {16927#false} assume !false; {16927#false} is VALID [2022-04-28 03:58:06,835 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:06,835 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:58:06,835 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [518546976] [2022-04-28 03:58:06,835 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [518546976] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:58:06,835 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1619667257] [2022-04-28 03:58:06,835 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:58:06,835 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:58:06,835 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:58:06,853 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:58:06,854 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 03:58:06,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:06,883 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:58:06,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:06,890 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:58:07,169 INFO L272 TraceCheckUtils]: 0: Hoare triple {16926#true} call ULTIMATE.init(); {16926#true} is VALID [2022-04-28 03:58:07,169 INFO L290 TraceCheckUtils]: 1: Hoare triple {16926#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:07,170 INFO L290 TraceCheckUtils]: 2: Hoare triple {16931#(<= 20 ~SIZE~0)} assume true; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:07,170 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16931#(<= 20 ~SIZE~0)} {16926#true} #90#return; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:07,170 INFO L272 TraceCheckUtils]: 4: Hoare triple {16931#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:07,170 INFO L290 TraceCheckUtils]: 5: Hoare triple {16931#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:07,171 INFO L272 TraceCheckUtils]: 6: Hoare triple {16931#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:07,171 INFO L290 TraceCheckUtils]: 7: Hoare triple {16931#(<= 20 ~SIZE~0)} ~cond := #in~cond; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:07,172 INFO L290 TraceCheckUtils]: 8: Hoare triple {16931#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:07,172 INFO L290 TraceCheckUtils]: 9: Hoare triple {16931#(<= 20 ~SIZE~0)} assume true; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:07,172 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16931#(<= 20 ~SIZE~0)} {16931#(<= 20 ~SIZE~0)} #86#return; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:07,173 INFO L290 TraceCheckUtils]: 11: Hoare triple {16931#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:07,173 INFO L290 TraceCheckUtils]: 12: Hoare triple {16931#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {16984#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:58:07,174 INFO L290 TraceCheckUtils]: 13: Hoare triple {16984#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [158] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_333 v_main_~c~0_332)) (.cse1 (= |v_main_#t~post5_203| |v_main_#t~post5_201|)) (.cse2 (<= v_~last~0_158 v_main_~c~0_333))) (or (and .cse0 (= v_~SIZE~0_141 v_~SIZE~0_141) .cse1 (= v_~last~0_158 v_~last~0_158) (= v_main_~st~0_180 v_main_~st~0_179)) (and .cse0 .cse1 (or (not .cse2) (not (< v_main_~c~0_333 v_~SIZE~0_141))) (= v_main_~st~0_179 v_main_~st~0_180)) (and (< v_main_~c~0_332 (+ v_~SIZE~0_141 1)) (< v_main_~c~0_333 v_main_~c~0_332) (= v_main_~st~0_179 0) .cse2))) InVars {~SIZE~0=v_~SIZE~0_141, main_~c~0=v_main_~c~0_333, main_#t~post5=|v_main_#t~post5_203|, main_~st~0=v_main_~st~0_180, ~last~0=v_~last~0_158} OutVars{~SIZE~0=v_~SIZE~0_141, main_#t~post5=|v_main_#t~post5_201|, main_~c~0=v_main_~c~0_332, main_~st~0=v_main_~st~0_179, ~last~0=v_~last~0_158} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {16988#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:07,174 INFO L290 TraceCheckUtils]: 14: Hoare triple {16988#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [159] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {16988#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:07,175 INFO L290 TraceCheckUtils]: 15: Hoare triple {16988#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [160] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_206| |v_main_#t~post5_202|)) (.cse1 (= v_main_~c~0_335 v_main_~c~0_334))) (or (and (< v_main_~c~0_334 (+ v_~SIZE~0_142 1)) (< v_main_~c~0_335 v_main_~c~0_334) (< v_main_~c~0_334 (+ v_~last~0_159 1))) (and .cse0 (or (not (< v_main_~c~0_335 v_~last~0_159)) (not (< v_main_~c~0_335 v_~SIZE~0_142))) .cse1) (and (= v_~SIZE~0_142 v_~SIZE~0_142) .cse0 (= v_~last~0_159 v_~last~0_159) .cse1))) InVars {~SIZE~0=v_~SIZE~0_142, main_~c~0=v_main_~c~0_335, main_#t~post5=|v_main_#t~post5_206|, ~last~0=v_~last~0_159} OutVars{~SIZE~0=v_~SIZE~0_142, main_#t~post5=|v_main_#t~post5_202|, main_~c~0=v_main_~c~0_334, ~last~0=v_~last~0_159} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {16988#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:07,175 INFO L290 TraceCheckUtils]: 16: Hoare triple {16988#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [157] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {16998#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:58:07,176 INFO L290 TraceCheckUtils]: 17: Hoare triple {16998#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {16927#false} is VALID [2022-04-28 03:58:07,176 INFO L290 TraceCheckUtils]: 18: Hoare triple {16927#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {16927#false} is VALID [2022-04-28 03:58:07,176 INFO L290 TraceCheckUtils]: 19: Hoare triple {16927#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {16927#false} is VALID [2022-04-28 03:58:07,176 INFO L290 TraceCheckUtils]: 20: Hoare triple {16927#false} assume !(~d~0 == ~SIZE~0); {16927#false} is VALID [2022-04-28 03:58:07,176 INFO L272 TraceCheckUtils]: 21: Hoare triple {16927#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {16927#false} is VALID [2022-04-28 03:58:07,176 INFO L290 TraceCheckUtils]: 22: Hoare triple {16927#false} ~cond := #in~cond; {16927#false} is VALID [2022-04-28 03:58:07,176 INFO L290 TraceCheckUtils]: 23: Hoare triple {16927#false} assume 0 == ~cond; {16927#false} is VALID [2022-04-28 03:58:07,176 INFO L290 TraceCheckUtils]: 24: Hoare triple {16927#false} assume !false; {16927#false} is VALID [2022-04-28 03:58:07,176 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:07,177 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:58:07,467 INFO L290 TraceCheckUtils]: 24: Hoare triple {16927#false} assume !false; {16927#false} is VALID [2022-04-28 03:58:07,467 INFO L290 TraceCheckUtils]: 23: Hoare triple {16927#false} assume 0 == ~cond; {16927#false} is VALID [2022-04-28 03:58:07,467 INFO L290 TraceCheckUtils]: 22: Hoare triple {16927#false} ~cond := #in~cond; {16927#false} is VALID [2022-04-28 03:58:07,467 INFO L272 TraceCheckUtils]: 21: Hoare triple {16927#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {16927#false} is VALID [2022-04-28 03:58:07,467 INFO L290 TraceCheckUtils]: 20: Hoare triple {16927#false} assume !(~d~0 == ~SIZE~0); {16927#false} is VALID [2022-04-28 03:58:07,467 INFO L290 TraceCheckUtils]: 19: Hoare triple {16927#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {16927#false} is VALID [2022-04-28 03:58:07,467 INFO L290 TraceCheckUtils]: 18: Hoare triple {16927#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {16927#false} is VALID [2022-04-28 03:58:07,468 INFO L290 TraceCheckUtils]: 17: Hoare triple {17044#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {16927#false} is VALID [2022-04-28 03:58:07,468 INFO L290 TraceCheckUtils]: 16: Hoare triple {17048#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [157] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {17044#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:58:07,468 INFO L290 TraceCheckUtils]: 15: Hoare triple {17048#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [160] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_206| |v_main_#t~post5_202|)) (.cse1 (= v_main_~c~0_335 v_main_~c~0_334))) (or (and (< v_main_~c~0_334 (+ v_~SIZE~0_142 1)) (< v_main_~c~0_335 v_main_~c~0_334) (< v_main_~c~0_334 (+ v_~last~0_159 1))) (and .cse0 (or (not (< v_main_~c~0_335 v_~last~0_159)) (not (< v_main_~c~0_335 v_~SIZE~0_142))) .cse1) (and (= v_~SIZE~0_142 v_~SIZE~0_142) .cse0 (= v_~last~0_159 v_~last~0_159) .cse1))) InVars {~SIZE~0=v_~SIZE~0_142, main_~c~0=v_main_~c~0_335, main_#t~post5=|v_main_#t~post5_206|, ~last~0=v_~last~0_159} OutVars{~SIZE~0=v_~SIZE~0_142, main_#t~post5=|v_main_#t~post5_202|, main_~c~0=v_main_~c~0_334, ~last~0=v_~last~0_159} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {17048#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:07,469 INFO L290 TraceCheckUtils]: 14: Hoare triple {17048#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [159] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {17048#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:07,469 INFO L290 TraceCheckUtils]: 13: Hoare triple {17058#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [158] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_333 v_main_~c~0_332)) (.cse1 (= |v_main_#t~post5_203| |v_main_#t~post5_201|)) (.cse2 (<= v_~last~0_158 v_main_~c~0_333))) (or (and .cse0 (= v_~SIZE~0_141 v_~SIZE~0_141) .cse1 (= v_~last~0_158 v_~last~0_158) (= v_main_~st~0_180 v_main_~st~0_179)) (and .cse0 .cse1 (or (not .cse2) (not (< v_main_~c~0_333 v_~SIZE~0_141))) (= v_main_~st~0_179 v_main_~st~0_180)) (and (< v_main_~c~0_332 (+ v_~SIZE~0_141 1)) (< v_main_~c~0_333 v_main_~c~0_332) (= v_main_~st~0_179 0) .cse2))) InVars {~SIZE~0=v_~SIZE~0_141, main_~c~0=v_main_~c~0_333, main_#t~post5=|v_main_#t~post5_203|, main_~st~0=v_main_~st~0_180, ~last~0=v_~last~0_158} OutVars{~SIZE~0=v_~SIZE~0_141, main_#t~post5=|v_main_#t~post5_201|, main_~c~0=v_main_~c~0_332, main_~st~0=v_main_~st~0_179, ~last~0=v_~last~0_158} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {17048#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:07,470 INFO L290 TraceCheckUtils]: 12: Hoare triple {17062#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {17058#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:58:07,470 INFO L290 TraceCheckUtils]: 11: Hoare triple {17062#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {17062#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:07,470 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16926#true} {17062#(< 1 ~SIZE~0)} #86#return; {17062#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:07,470 INFO L290 TraceCheckUtils]: 9: Hoare triple {16926#true} assume true; {16926#true} is VALID [2022-04-28 03:58:07,470 INFO L290 TraceCheckUtils]: 8: Hoare triple {16926#true} assume !(0 == ~cond); {16926#true} is VALID [2022-04-28 03:58:07,470 INFO L290 TraceCheckUtils]: 7: Hoare triple {16926#true} ~cond := #in~cond; {16926#true} is VALID [2022-04-28 03:58:07,470 INFO L272 TraceCheckUtils]: 6: Hoare triple {17062#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {16926#true} is VALID [2022-04-28 03:58:07,471 INFO L290 TraceCheckUtils]: 5: Hoare triple {17062#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {17062#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:07,471 INFO L272 TraceCheckUtils]: 4: Hoare triple {17062#(< 1 ~SIZE~0)} call #t~ret7 := main(); {17062#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:07,471 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17062#(< 1 ~SIZE~0)} {16926#true} #90#return; {17062#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:07,471 INFO L290 TraceCheckUtils]: 2: Hoare triple {17062#(< 1 ~SIZE~0)} assume true; {17062#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:07,472 INFO L290 TraceCheckUtils]: 1: Hoare triple {16926#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {17062#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:07,472 INFO L272 TraceCheckUtils]: 0: Hoare triple {16926#true} call ULTIMATE.init(); {16926#true} is VALID [2022-04-28 03:58:07,472 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:07,472 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1619667257] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:58:07,472 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:58:07,472 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:58:07,893 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:58:07,893 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2039834793] [2022-04-28 03:58:07,893 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2039834793] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:58:07,894 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:58:07,894 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-28 03:58:07,894 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [964857829] [2022-04-28 03:58:07,894 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:58:07,894 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 20 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 40 [2022-04-28 03:58:07,894 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:58:07,894 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 20 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:07,914 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 03:58:07,914 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-28 03:58:07,914 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:58:07,915 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-28 03:58:07,915 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=175, Invalid=755, Unknown=0, NotChecked=0, Total=930 [2022-04-28 03:58:07,915 INFO L87 Difference]: Start difference. First operand 136 states and 167 transitions. Second operand has 22 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 20 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:08,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:08,929 INFO L93 Difference]: Finished difference Result 221 states and 276 transitions. [2022-04-28 03:58:08,930 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 03:58:08,930 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 20 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 40 [2022-04-28 03:58:08,930 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:58:08,930 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 20 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:08,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 87 transitions. [2022-04-28 03:58:08,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 20 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:08,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 87 transitions. [2022-04-28 03:58:08,932 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 87 transitions. [2022-04-28 03:58:08,979 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 03:58:08,980 INFO L225 Difference]: With dead ends: 221 [2022-04-28 03:58:08,980 INFO L226 Difference]: Without dead ends: 152 [2022-04-28 03:58:08,981 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 48 SyntacticMatches, 7 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 377 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=187, Invalid=869, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 03:58:08,982 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 50 mSDsluCounter, 36 mSDsCounter, 0 mSdLazyCounter, 654 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 56 SdHoareTripleChecker+Invalid, 664 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 654 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 03:58:08,982 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [51 Valid, 56 Invalid, 664 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 654 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 03:58:08,982 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 152 states. [2022-04-28 03:58:09,174 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 152 to 136. [2022-04-28 03:58:09,174 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:58:09,174 INFO L82 GeneralOperation]: Start isEquivalent. First operand 152 states. Second operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:09,174 INFO L74 IsIncluded]: Start isIncluded. First operand 152 states. Second operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:09,174 INFO L87 Difference]: Start difference. First operand 152 states. Second operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:09,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:09,178 INFO L93 Difference]: Finished difference Result 152 states and 185 transitions. [2022-04-28 03:58:09,178 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 185 transitions. [2022-04-28 03:58:09,179 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:58:09,179 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:58:09,179 INFO L74 IsIncluded]: Start isIncluded. First operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 152 states. [2022-04-28 03:58:09,179 INFO L87 Difference]: Start difference. First operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 152 states. [2022-04-28 03:58:09,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:09,186 INFO L93 Difference]: Finished difference Result 152 states and 185 transitions. [2022-04-28 03:58:09,186 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 185 transitions. [2022-04-28 03:58:09,197 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:58:09,197 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:58:09,197 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:58:09,198 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:58:09,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:09,199 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 167 transitions. [2022-04-28 03:58:09,199 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 167 transitions. Word has length 40 [2022-04-28 03:58:09,199 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:58:09,199 INFO L495 AbstractCegarLoop]: Abstraction has 136 states and 167 transitions. [2022-04-28 03:58:09,200 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 20 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:09,200 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 136 states and 167 transitions. [2022-04-28 03:58:09,369 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:58:09,370 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 167 transitions. [2022-04-28 03:58:09,370 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-28 03:58:09,370 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:58:09,370 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:58:09,386 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 03:58:09,570 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:58:09,571 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:58:09,571 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:58:09,571 INFO L85 PathProgramCache]: Analyzing trace with hash 734663550, now seen corresponding path program 14 times [2022-04-28 03:58:09,571 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:58:09,571 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1575258201] [2022-04-28 03:58:09,740 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:58:09,907 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:58:09,908 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:58:09,910 INFO L85 PathProgramCache]: Analyzing trace with hash 1980892737, now seen corresponding path program 1 times [2022-04-28 03:58:09,910 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:58:09,911 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1189079094] [2022-04-28 03:58:09,911 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:58:09,911 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:58:09,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:10,060 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:58:10,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:10,065 INFO L290 TraceCheckUtils]: 0: Hoare triple {18154#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,065 INFO L290 TraceCheckUtils]: 1: Hoare triple {18141#(<= 20 ~SIZE~0)} assume true; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,066 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {18141#(<= 20 ~SIZE~0)} {18136#true} #90#return; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,066 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:58:10,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:10,069 INFO L290 TraceCheckUtils]: 0: Hoare triple {18136#true} ~cond := #in~cond; {18136#true} is VALID [2022-04-28 03:58:10,069 INFO L290 TraceCheckUtils]: 1: Hoare triple {18136#true} assume !(0 == ~cond); {18136#true} is VALID [2022-04-28 03:58:10,069 INFO L290 TraceCheckUtils]: 2: Hoare triple {18136#true} assume true; {18136#true} is VALID [2022-04-28 03:58:10,070 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18136#true} {18141#(<= 20 ~SIZE~0)} #86#return; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,070 INFO L272 TraceCheckUtils]: 0: Hoare triple {18136#true} call ULTIMATE.init(); {18154#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:58:10,071 INFO L290 TraceCheckUtils]: 1: Hoare triple {18154#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,071 INFO L290 TraceCheckUtils]: 2: Hoare triple {18141#(<= 20 ~SIZE~0)} assume true; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,071 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18141#(<= 20 ~SIZE~0)} {18136#true} #90#return; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,071 INFO L272 TraceCheckUtils]: 4: Hoare triple {18141#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,071 INFO L290 TraceCheckUtils]: 5: Hoare triple {18141#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,071 INFO L272 TraceCheckUtils]: 6: Hoare triple {18141#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {18136#true} is VALID [2022-04-28 03:58:10,072 INFO L290 TraceCheckUtils]: 7: Hoare triple {18136#true} ~cond := #in~cond; {18136#true} is VALID [2022-04-28 03:58:10,072 INFO L290 TraceCheckUtils]: 8: Hoare triple {18136#true} assume !(0 == ~cond); {18136#true} is VALID [2022-04-28 03:58:10,072 INFO L290 TraceCheckUtils]: 9: Hoare triple {18136#true} assume true; {18136#true} is VALID [2022-04-28 03:58:10,072 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18136#true} {18141#(<= 20 ~SIZE~0)} #86#return; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,072 INFO L290 TraceCheckUtils]: 11: Hoare triple {18141#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {18146#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:58:10,073 INFO L290 TraceCheckUtils]: 12: Hoare triple {18146#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {18147#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:58:10,073 INFO L290 TraceCheckUtils]: 13: Hoare triple {18147#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [162] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_192 v_main_~st~0_191)) (.cse1 (= v_main_~c~0_356 v_main_~c~0_355)) (.cse2 (= |v_main_#t~post5_216| |v_main_#t~post5_214|)) (.cse3 (<= v_~last~0_168 v_main_~c~0_356))) (or (and .cse0 .cse1 .cse2 (or (not (< v_main_~c~0_356 v_~SIZE~0_150)) (not .cse3))) (and (= v_~last~0_168 v_~last~0_168) .cse0 .cse1 (= v_~SIZE~0_150 v_~SIZE~0_150) .cse2) (and .cse3 (< v_main_~c~0_355 (+ v_~SIZE~0_150 1)) (= v_main_~st~0_191 0) (< v_main_~c~0_356 v_main_~c~0_355)))) InVars {~SIZE~0=v_~SIZE~0_150, main_~c~0=v_main_~c~0_356, main_#t~post5=|v_main_#t~post5_216|, main_~st~0=v_main_~st~0_192, ~last~0=v_~last~0_168} OutVars{~SIZE~0=v_~SIZE~0_150, main_#t~post5=|v_main_#t~post5_214|, main_~c~0=v_main_~c~0_355, main_~st~0=v_main_~st~0_191, ~last~0=v_~last~0_168} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {18148#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:10,073 INFO L290 TraceCheckUtils]: 14: Hoare triple {18148#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [163] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {18148#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:10,074 INFO L290 TraceCheckUtils]: 15: Hoare triple {18148#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [164] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_358 v_main_~c~0_357))) (or (and .cse0 (or (not (< v_main_~c~0_358 v_~last~0_169)) (not (< v_main_~c~0_358 v_~SIZE~0_151))) (= |v_main_#t~post5_215| |v_main_#t~post5_219|)) (and (= |v_main_#t~post5_219| |v_main_#t~post5_215|) .cse0 (= v_~last~0_169 v_~last~0_169) (= v_~SIZE~0_151 v_~SIZE~0_151)) (and (< v_main_~c~0_357 (+ v_~last~0_169 1)) (< v_main_~c~0_358 v_main_~c~0_357) (< v_main_~c~0_357 (+ v_~SIZE~0_151 1))))) InVars {~SIZE~0=v_~SIZE~0_151, main_~c~0=v_main_~c~0_358, main_#t~post5=|v_main_#t~post5_219|, ~last~0=v_~last~0_169} OutVars{~SIZE~0=v_~SIZE~0_151, main_#t~post5=|v_main_#t~post5_215|, main_~c~0=v_main_~c~0_357, ~last~0=v_~last~0_169} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {18148#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:10,074 INFO L290 TraceCheckUtils]: 16: Hoare triple {18148#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [161] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {18149#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:58:10,075 INFO L290 TraceCheckUtils]: 17: Hoare triple {18149#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {18150#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:10,075 INFO L290 TraceCheckUtils]: 18: Hoare triple {18150#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {18150#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:10,101 INFO L290 TraceCheckUtils]: 19: Hoare triple {18150#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {18151#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:10,102 INFO L290 TraceCheckUtils]: 20: Hoare triple {18151#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {18151#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:10,103 INFO L272 TraceCheckUtils]: 21: Hoare triple {18151#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {18152#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:58:10,103 INFO L290 TraceCheckUtils]: 22: Hoare triple {18152#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {18153#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:58:10,103 INFO L290 TraceCheckUtils]: 23: Hoare triple {18153#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {18137#false} is VALID [2022-04-28 03:58:10,103 INFO L290 TraceCheckUtils]: 24: Hoare triple {18137#false} assume !false; {18137#false} is VALID [2022-04-28 03:58:10,104 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:10,104 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:58:10,104 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1189079094] [2022-04-28 03:58:10,104 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1189079094] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:58:10,104 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1018488829] [2022-04-28 03:58:10,104 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:58:10,104 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:58:10,104 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:58:10,107 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:58:10,108 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 03:58:10,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:10,136 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:58:10,141 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:10,141 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:58:10,407 INFO L272 TraceCheckUtils]: 0: Hoare triple {18136#true} call ULTIMATE.init(); {18136#true} is VALID [2022-04-28 03:58:10,408 INFO L290 TraceCheckUtils]: 1: Hoare triple {18136#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,409 INFO L290 TraceCheckUtils]: 2: Hoare triple {18141#(<= 20 ~SIZE~0)} assume true; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,409 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18141#(<= 20 ~SIZE~0)} {18136#true} #90#return; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,409 INFO L272 TraceCheckUtils]: 4: Hoare triple {18141#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,409 INFO L290 TraceCheckUtils]: 5: Hoare triple {18141#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,410 INFO L272 TraceCheckUtils]: 6: Hoare triple {18141#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,410 INFO L290 TraceCheckUtils]: 7: Hoare triple {18141#(<= 20 ~SIZE~0)} ~cond := #in~cond; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,410 INFO L290 TraceCheckUtils]: 8: Hoare triple {18141#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,411 INFO L290 TraceCheckUtils]: 9: Hoare triple {18141#(<= 20 ~SIZE~0)} assume true; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,411 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18141#(<= 20 ~SIZE~0)} {18141#(<= 20 ~SIZE~0)} #86#return; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,411 INFO L290 TraceCheckUtils]: 11: Hoare triple {18141#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:10,412 INFO L290 TraceCheckUtils]: 12: Hoare triple {18141#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {18194#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:58:10,413 INFO L290 TraceCheckUtils]: 13: Hoare triple {18194#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [162] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_192 v_main_~st~0_191)) (.cse1 (= v_main_~c~0_356 v_main_~c~0_355)) (.cse2 (= |v_main_#t~post5_216| |v_main_#t~post5_214|)) (.cse3 (<= v_~last~0_168 v_main_~c~0_356))) (or (and .cse0 .cse1 .cse2 (or (not (< v_main_~c~0_356 v_~SIZE~0_150)) (not .cse3))) (and (= v_~last~0_168 v_~last~0_168) .cse0 .cse1 (= v_~SIZE~0_150 v_~SIZE~0_150) .cse2) (and .cse3 (< v_main_~c~0_355 (+ v_~SIZE~0_150 1)) (= v_main_~st~0_191 0) (< v_main_~c~0_356 v_main_~c~0_355)))) InVars {~SIZE~0=v_~SIZE~0_150, main_~c~0=v_main_~c~0_356, main_#t~post5=|v_main_#t~post5_216|, main_~st~0=v_main_~st~0_192, ~last~0=v_~last~0_168} OutVars{~SIZE~0=v_~SIZE~0_150, main_#t~post5=|v_main_#t~post5_214|, main_~c~0=v_main_~c~0_355, main_~st~0=v_main_~st~0_191, ~last~0=v_~last~0_168} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {18198#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:10,413 INFO L290 TraceCheckUtils]: 14: Hoare triple {18198#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [163] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {18198#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:10,414 INFO L290 TraceCheckUtils]: 15: Hoare triple {18198#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [164] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_358 v_main_~c~0_357))) (or (and .cse0 (or (not (< v_main_~c~0_358 v_~last~0_169)) (not (< v_main_~c~0_358 v_~SIZE~0_151))) (= |v_main_#t~post5_215| |v_main_#t~post5_219|)) (and (= |v_main_#t~post5_219| |v_main_#t~post5_215|) .cse0 (= v_~last~0_169 v_~last~0_169) (= v_~SIZE~0_151 v_~SIZE~0_151)) (and (< v_main_~c~0_357 (+ v_~last~0_169 1)) (< v_main_~c~0_358 v_main_~c~0_357) (< v_main_~c~0_357 (+ v_~SIZE~0_151 1))))) InVars {~SIZE~0=v_~SIZE~0_151, main_~c~0=v_main_~c~0_358, main_#t~post5=|v_main_#t~post5_219|, ~last~0=v_~last~0_169} OutVars{~SIZE~0=v_~SIZE~0_151, main_#t~post5=|v_main_#t~post5_215|, main_~c~0=v_main_~c~0_357, ~last~0=v_~last~0_169} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {18198#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:10,414 INFO L290 TraceCheckUtils]: 16: Hoare triple {18198#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [161] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {18208#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:58:10,415 INFO L290 TraceCheckUtils]: 17: Hoare triple {18208#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {18137#false} is VALID [2022-04-28 03:58:10,415 INFO L290 TraceCheckUtils]: 18: Hoare triple {18137#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {18137#false} is VALID [2022-04-28 03:58:10,415 INFO L290 TraceCheckUtils]: 19: Hoare triple {18137#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {18137#false} is VALID [2022-04-28 03:58:10,415 INFO L290 TraceCheckUtils]: 20: Hoare triple {18137#false} assume !(~d~0 == ~SIZE~0); {18137#false} is VALID [2022-04-28 03:58:10,415 INFO L272 TraceCheckUtils]: 21: Hoare triple {18137#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {18137#false} is VALID [2022-04-28 03:58:10,415 INFO L290 TraceCheckUtils]: 22: Hoare triple {18137#false} ~cond := #in~cond; {18137#false} is VALID [2022-04-28 03:58:10,415 INFO L290 TraceCheckUtils]: 23: Hoare triple {18137#false} assume 0 == ~cond; {18137#false} is VALID [2022-04-28 03:58:10,415 INFO L290 TraceCheckUtils]: 24: Hoare triple {18137#false} assume !false; {18137#false} is VALID [2022-04-28 03:58:10,415 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:10,416 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:58:10,783 INFO L290 TraceCheckUtils]: 24: Hoare triple {18137#false} assume !false; {18137#false} is VALID [2022-04-28 03:58:10,783 INFO L290 TraceCheckUtils]: 23: Hoare triple {18137#false} assume 0 == ~cond; {18137#false} is VALID [2022-04-28 03:58:10,784 INFO L290 TraceCheckUtils]: 22: Hoare triple {18137#false} ~cond := #in~cond; {18137#false} is VALID [2022-04-28 03:58:10,784 INFO L272 TraceCheckUtils]: 21: Hoare triple {18137#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {18137#false} is VALID [2022-04-28 03:58:10,784 INFO L290 TraceCheckUtils]: 20: Hoare triple {18137#false} assume !(~d~0 == ~SIZE~0); {18137#false} is VALID [2022-04-28 03:58:10,784 INFO L290 TraceCheckUtils]: 19: Hoare triple {18137#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {18137#false} is VALID [2022-04-28 03:58:10,784 INFO L290 TraceCheckUtils]: 18: Hoare triple {18137#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {18137#false} is VALID [2022-04-28 03:58:10,784 INFO L290 TraceCheckUtils]: 17: Hoare triple {18254#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {18137#false} is VALID [2022-04-28 03:58:10,785 INFO L290 TraceCheckUtils]: 16: Hoare triple {18258#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [161] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {18254#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:58:10,785 INFO L290 TraceCheckUtils]: 15: Hoare triple {18258#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [164] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_358 v_main_~c~0_357))) (or (and .cse0 (or (not (< v_main_~c~0_358 v_~last~0_169)) (not (< v_main_~c~0_358 v_~SIZE~0_151))) (= |v_main_#t~post5_215| |v_main_#t~post5_219|)) (and (= |v_main_#t~post5_219| |v_main_#t~post5_215|) .cse0 (= v_~last~0_169 v_~last~0_169) (= v_~SIZE~0_151 v_~SIZE~0_151)) (and (< v_main_~c~0_357 (+ v_~last~0_169 1)) (< v_main_~c~0_358 v_main_~c~0_357) (< v_main_~c~0_357 (+ v_~SIZE~0_151 1))))) InVars {~SIZE~0=v_~SIZE~0_151, main_~c~0=v_main_~c~0_358, main_#t~post5=|v_main_#t~post5_219|, ~last~0=v_~last~0_169} OutVars{~SIZE~0=v_~SIZE~0_151, main_#t~post5=|v_main_#t~post5_215|, main_~c~0=v_main_~c~0_357, ~last~0=v_~last~0_169} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {18258#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:10,786 INFO L290 TraceCheckUtils]: 14: Hoare triple {18258#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [163] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {18258#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:10,786 INFO L290 TraceCheckUtils]: 13: Hoare triple {18268#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [162] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_192 v_main_~st~0_191)) (.cse1 (= v_main_~c~0_356 v_main_~c~0_355)) (.cse2 (= |v_main_#t~post5_216| |v_main_#t~post5_214|)) (.cse3 (<= v_~last~0_168 v_main_~c~0_356))) (or (and .cse0 .cse1 .cse2 (or (not (< v_main_~c~0_356 v_~SIZE~0_150)) (not .cse3))) (and (= v_~last~0_168 v_~last~0_168) .cse0 .cse1 (= v_~SIZE~0_150 v_~SIZE~0_150) .cse2) (and .cse3 (< v_main_~c~0_355 (+ v_~SIZE~0_150 1)) (= v_main_~st~0_191 0) (< v_main_~c~0_356 v_main_~c~0_355)))) InVars {~SIZE~0=v_~SIZE~0_150, main_~c~0=v_main_~c~0_356, main_#t~post5=|v_main_#t~post5_216|, main_~st~0=v_main_~st~0_192, ~last~0=v_~last~0_168} OutVars{~SIZE~0=v_~SIZE~0_150, main_#t~post5=|v_main_#t~post5_214|, main_~c~0=v_main_~c~0_355, main_~st~0=v_main_~st~0_191, ~last~0=v_~last~0_168} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {18258#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:10,787 INFO L290 TraceCheckUtils]: 12: Hoare triple {18272#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {18268#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:58:10,787 INFO L290 TraceCheckUtils]: 11: Hoare triple {18272#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {18272#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:10,788 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18136#true} {18272#(< 1 ~SIZE~0)} #86#return; {18272#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:10,788 INFO L290 TraceCheckUtils]: 9: Hoare triple {18136#true} assume true; {18136#true} is VALID [2022-04-28 03:58:10,788 INFO L290 TraceCheckUtils]: 8: Hoare triple {18136#true} assume !(0 == ~cond); {18136#true} is VALID [2022-04-28 03:58:10,788 INFO L290 TraceCheckUtils]: 7: Hoare triple {18136#true} ~cond := #in~cond; {18136#true} is VALID [2022-04-28 03:58:10,788 INFO L272 TraceCheckUtils]: 6: Hoare triple {18272#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {18136#true} is VALID [2022-04-28 03:58:10,788 INFO L290 TraceCheckUtils]: 5: Hoare triple {18272#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {18272#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:10,788 INFO L272 TraceCheckUtils]: 4: Hoare triple {18272#(< 1 ~SIZE~0)} call #t~ret7 := main(); {18272#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:10,789 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18272#(< 1 ~SIZE~0)} {18136#true} #90#return; {18272#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:10,789 INFO L290 TraceCheckUtils]: 2: Hoare triple {18272#(< 1 ~SIZE~0)} assume true; {18272#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:10,790 INFO L290 TraceCheckUtils]: 1: Hoare triple {18136#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {18272#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:10,790 INFO L272 TraceCheckUtils]: 0: Hoare triple {18136#true} call ULTIMATE.init(); {18136#true} is VALID [2022-04-28 03:58:10,790 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:10,790 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1018488829] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:58:10,790 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:58:10,790 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:58:11,381 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:58:11,381 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1575258201] [2022-04-28 03:58:11,381 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1575258201] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:58:11,381 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:58:11,381 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 03:58:11,381 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1546953889] [2022-04-28 03:58:11,381 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:58:11,381 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 1.4782608695652173) internal successors, (34), 21 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 40 [2022-04-28 03:58:11,382 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:58:11,382 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 23 states have (on average 1.4782608695652173) internal successors, (34), 21 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:11,405 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 03:58:11,405 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 03:58:11,405 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:58:11,407 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 03:58:11,408 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=189, Invalid=803, Unknown=0, NotChecked=0, Total=992 [2022-04-28 03:58:11,408 INFO L87 Difference]: Start difference. First operand 136 states and 167 transitions. Second operand has 23 states, 23 states have (on average 1.4782608695652173) internal successors, (34), 21 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:12,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:12,461 INFO L93 Difference]: Finished difference Result 219 states and 274 transitions. [2022-04-28 03:58:12,461 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 03:58:12,461 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 1.4782608695652173) internal successors, (34), 21 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 40 [2022-04-28 03:58:12,462 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:58:12,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.4782608695652173) internal successors, (34), 21 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:12,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 88 transitions. [2022-04-28 03:58:12,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.4782608695652173) internal successors, (34), 21 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:12,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 88 transitions. [2022-04-28 03:58:12,463 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 88 transitions. [2022-04-28 03:58:12,518 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:58:12,520 INFO L225 Difference]: With dead ends: 219 [2022-04-28 03:58:12,520 INFO L226 Difference]: Without dead ends: 150 [2022-04-28 03:58:12,520 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 48 SyntacticMatches, 6 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 382 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=201, Invalid=921, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 03:58:12,521 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 49 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 743 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 62 SdHoareTripleChecker+Invalid, 753 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 743 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 03:58:12,521 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 62 Invalid, 753 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 743 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 03:58:12,521 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 150 states. [2022-04-28 03:58:12,840 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 150 to 136. [2022-04-28 03:58:12,840 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:58:12,840 INFO L82 GeneralOperation]: Start isEquivalent. First operand 150 states. Second operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:12,840 INFO L74 IsIncluded]: Start isIncluded. First operand 150 states. Second operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:12,841 INFO L87 Difference]: Start difference. First operand 150 states. Second operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:12,842 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:12,842 INFO L93 Difference]: Finished difference Result 150 states and 183 transitions. [2022-04-28 03:58:12,842 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 183 transitions. [2022-04-28 03:58:12,842 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:58:12,842 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:58:12,843 INFO L74 IsIncluded]: Start isIncluded. First operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 150 states. [2022-04-28 03:58:12,843 INFO L87 Difference]: Start difference. First operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 150 states. [2022-04-28 03:58:12,844 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:12,844 INFO L93 Difference]: Finished difference Result 150 states and 183 transitions. [2022-04-28 03:58:12,844 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 183 transitions. [2022-04-28 03:58:12,844 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:58:12,845 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:58:12,845 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:58:12,845 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:58:12,845 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 136 states, 121 states have (on average 1.2396694214876034) internal successors, (150), 124 states have internal predecessors, (150), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:12,846 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 167 transitions. [2022-04-28 03:58:12,846 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 167 transitions. Word has length 40 [2022-04-28 03:58:12,846 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:58:12,846 INFO L495 AbstractCegarLoop]: Abstraction has 136 states and 167 transitions. [2022-04-28 03:58:12,846 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 23 states have (on average 1.4782608695652173) internal successors, (34), 21 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:12,847 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 136 states and 167 transitions. [2022-04-28 03:58:13,056 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:58:13,056 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 167 transitions. [2022-04-28 03:58:13,056 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-28 03:58:13,056 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:58:13,056 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 5, 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 03:58:13,072 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-28 03:58:13,257 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:58:13,257 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:58:13,257 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:58:13,257 INFO L85 PathProgramCache]: Analyzing trace with hash -276453700, now seen corresponding path program 15 times [2022-04-28 03:58:13,257 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:58:13,257 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1406648621] [2022-04-28 03:58:17,370 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:58:17,445 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:58:21,545 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:58:21,665 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:58:21,667 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:58:21,669 INFO L85 PathProgramCache]: Analyzing trace with hash 178448193, now seen corresponding path program 1 times [2022-04-28 03:58:21,670 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:58:21,670 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1605150718] [2022-04-28 03:58:21,670 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:58:21,670 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:58:21,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:21,842 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:58:21,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:21,869 INFO L290 TraceCheckUtils]: 0: Hoare triple {19357#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:21,871 INFO L290 TraceCheckUtils]: 1: Hoare triple {19344#(<= 20 ~SIZE~0)} assume true; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:21,871 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {19344#(<= 20 ~SIZE~0)} {19339#true} #90#return; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:21,871 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:58:21,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:21,876 INFO L290 TraceCheckUtils]: 0: Hoare triple {19339#true} ~cond := #in~cond; {19339#true} is VALID [2022-04-28 03:58:21,876 INFO L290 TraceCheckUtils]: 1: Hoare triple {19339#true} assume !(0 == ~cond); {19339#true} is VALID [2022-04-28 03:58:21,876 INFO L290 TraceCheckUtils]: 2: Hoare triple {19339#true} assume true; {19339#true} is VALID [2022-04-28 03:58:21,876 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19339#true} {19344#(<= 20 ~SIZE~0)} #86#return; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:21,878 INFO L272 TraceCheckUtils]: 0: Hoare triple {19339#true} call ULTIMATE.init(); {19357#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:58:21,878 INFO L290 TraceCheckUtils]: 1: Hoare triple {19357#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:21,878 INFO L290 TraceCheckUtils]: 2: Hoare triple {19344#(<= 20 ~SIZE~0)} assume true; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:21,879 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19344#(<= 20 ~SIZE~0)} {19339#true} #90#return; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:21,879 INFO L272 TraceCheckUtils]: 4: Hoare triple {19344#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:21,879 INFO L290 TraceCheckUtils]: 5: Hoare triple {19344#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:21,879 INFO L272 TraceCheckUtils]: 6: Hoare triple {19344#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {19339#true} is VALID [2022-04-28 03:58:21,879 INFO L290 TraceCheckUtils]: 7: Hoare triple {19339#true} ~cond := #in~cond; {19339#true} is VALID [2022-04-28 03:58:21,879 INFO L290 TraceCheckUtils]: 8: Hoare triple {19339#true} assume !(0 == ~cond); {19339#true} is VALID [2022-04-28 03:58:21,879 INFO L290 TraceCheckUtils]: 9: Hoare triple {19339#true} assume true; {19339#true} is VALID [2022-04-28 03:58:21,880 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19339#true} {19344#(<= 20 ~SIZE~0)} #86#return; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:21,880 INFO L290 TraceCheckUtils]: 11: Hoare triple {19344#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {19349#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:58:21,880 INFO L290 TraceCheckUtils]: 12: Hoare triple {19349#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {19350#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:58:21,881 INFO L290 TraceCheckUtils]: 13: Hoare triple {19350#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [166] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_229| |v_main_#t~post5_227|)) (.cse1 (= v_main_~st~0_203 v_main_~st~0_202)) (.cse2 (= v_main_~c~0_379 v_main_~c~0_378)) (.cse3 (<= v_~last~0_178 v_main_~c~0_379))) (or (and .cse0 .cse1 .cse2 (or (not (< v_main_~c~0_379 v_~SIZE~0_159)) (not .cse3))) (and .cse0 .cse1 (= v_~last~0_178 v_~last~0_178) (= v_~SIZE~0_159 v_~SIZE~0_159) .cse2) (and (< v_main_~c~0_378 (+ v_~SIZE~0_159 1)) (= v_main_~st~0_202 0) .cse3 (< v_main_~c~0_379 v_main_~c~0_378)))) InVars {~SIZE~0=v_~SIZE~0_159, main_~c~0=v_main_~c~0_379, main_#t~post5=|v_main_#t~post5_229|, main_~st~0=v_main_~st~0_203, ~last~0=v_~last~0_178} OutVars{~SIZE~0=v_~SIZE~0_159, main_#t~post5=|v_main_#t~post5_227|, main_~c~0=v_main_~c~0_378, main_~st~0=v_main_~st~0_202, ~last~0=v_~last~0_178} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {19351#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:21,881 INFO L290 TraceCheckUtils]: 14: Hoare triple {19351#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [167] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {19351#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:21,882 INFO L290 TraceCheckUtils]: 15: Hoare triple {19351#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [168] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_381 v_main_~c~0_380)) (.cse1 (= |v_main_#t~post5_232| |v_main_#t~post5_228|))) (or (and .cse0 (or (not (< v_main_~c~0_381 v_~SIZE~0_160)) (not (< v_main_~c~0_381 v_~last~0_179))) .cse1) (and .cse0 (= v_~SIZE~0_160 v_~SIZE~0_160) .cse1 (= v_~last~0_179 v_~last~0_179)) (and (< v_main_~c~0_380 (+ v_~SIZE~0_160 1)) (< v_main_~c~0_380 (+ v_~last~0_179 1)) (< v_main_~c~0_381 v_main_~c~0_380)))) InVars {~SIZE~0=v_~SIZE~0_160, main_~c~0=v_main_~c~0_381, main_#t~post5=|v_main_#t~post5_232|, ~last~0=v_~last~0_179} OutVars{~SIZE~0=v_~SIZE~0_160, main_#t~post5=|v_main_#t~post5_228|, main_~c~0=v_main_~c~0_380, ~last~0=v_~last~0_179} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {19351#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:21,882 INFO L290 TraceCheckUtils]: 16: Hoare triple {19351#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [165] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {19352#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:58:21,883 INFO L290 TraceCheckUtils]: 17: Hoare triple {19352#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {19353#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:21,883 INFO L290 TraceCheckUtils]: 18: Hoare triple {19353#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {19353#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:21,884 INFO L290 TraceCheckUtils]: 19: Hoare triple {19353#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {19354#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:21,884 INFO L290 TraceCheckUtils]: 20: Hoare triple {19354#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {19354#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:21,884 INFO L272 TraceCheckUtils]: 21: Hoare triple {19354#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {19355#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:58:21,885 INFO L290 TraceCheckUtils]: 22: Hoare triple {19355#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {19356#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:58:21,885 INFO L290 TraceCheckUtils]: 23: Hoare triple {19356#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {19340#false} is VALID [2022-04-28 03:58:21,885 INFO L290 TraceCheckUtils]: 24: Hoare triple {19340#false} assume !false; {19340#false} is VALID [2022-04-28 03:58:21,885 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:21,885 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:58:21,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1605150718] [2022-04-28 03:58:21,885 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1605150718] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:58:21,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1135267921] [2022-04-28 03:58:21,886 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:58:21,886 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:58:21,886 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:58:21,887 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:58:21,887 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 03:58:21,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:21,924 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:58:21,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:21,936 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:58:22,160 INFO L272 TraceCheckUtils]: 0: Hoare triple {19339#true} call ULTIMATE.init(); {19339#true} is VALID [2022-04-28 03:58:22,161 INFO L290 TraceCheckUtils]: 1: Hoare triple {19339#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:22,161 INFO L290 TraceCheckUtils]: 2: Hoare triple {19344#(<= 20 ~SIZE~0)} assume true; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:22,161 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19344#(<= 20 ~SIZE~0)} {19339#true} #90#return; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:22,161 INFO L272 TraceCheckUtils]: 4: Hoare triple {19344#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:22,162 INFO L290 TraceCheckUtils]: 5: Hoare triple {19344#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:22,162 INFO L272 TraceCheckUtils]: 6: Hoare triple {19344#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:22,162 INFO L290 TraceCheckUtils]: 7: Hoare triple {19344#(<= 20 ~SIZE~0)} ~cond := #in~cond; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:22,163 INFO L290 TraceCheckUtils]: 8: Hoare triple {19344#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:22,163 INFO L290 TraceCheckUtils]: 9: Hoare triple {19344#(<= 20 ~SIZE~0)} assume true; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:22,163 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19344#(<= 20 ~SIZE~0)} {19344#(<= 20 ~SIZE~0)} #86#return; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:22,164 INFO L290 TraceCheckUtils]: 11: Hoare triple {19344#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:22,164 INFO L290 TraceCheckUtils]: 12: Hoare triple {19344#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {19397#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:58:22,165 INFO L290 TraceCheckUtils]: 13: Hoare triple {19397#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [166] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_229| |v_main_#t~post5_227|)) (.cse1 (= v_main_~st~0_203 v_main_~st~0_202)) (.cse2 (= v_main_~c~0_379 v_main_~c~0_378)) (.cse3 (<= v_~last~0_178 v_main_~c~0_379))) (or (and .cse0 .cse1 .cse2 (or (not (< v_main_~c~0_379 v_~SIZE~0_159)) (not .cse3))) (and .cse0 .cse1 (= v_~last~0_178 v_~last~0_178) (= v_~SIZE~0_159 v_~SIZE~0_159) .cse2) (and (< v_main_~c~0_378 (+ v_~SIZE~0_159 1)) (= v_main_~st~0_202 0) .cse3 (< v_main_~c~0_379 v_main_~c~0_378)))) InVars {~SIZE~0=v_~SIZE~0_159, main_~c~0=v_main_~c~0_379, main_#t~post5=|v_main_#t~post5_229|, main_~st~0=v_main_~st~0_203, ~last~0=v_~last~0_178} OutVars{~SIZE~0=v_~SIZE~0_159, main_#t~post5=|v_main_#t~post5_227|, main_~c~0=v_main_~c~0_378, main_~st~0=v_main_~st~0_202, ~last~0=v_~last~0_178} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {19401#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:22,165 INFO L290 TraceCheckUtils]: 14: Hoare triple {19401#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [167] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {19401#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:22,166 INFO L290 TraceCheckUtils]: 15: Hoare triple {19401#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [168] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_381 v_main_~c~0_380)) (.cse1 (= |v_main_#t~post5_232| |v_main_#t~post5_228|))) (or (and .cse0 (or (not (< v_main_~c~0_381 v_~SIZE~0_160)) (not (< v_main_~c~0_381 v_~last~0_179))) .cse1) (and .cse0 (= v_~SIZE~0_160 v_~SIZE~0_160) .cse1 (= v_~last~0_179 v_~last~0_179)) (and (< v_main_~c~0_380 (+ v_~SIZE~0_160 1)) (< v_main_~c~0_380 (+ v_~last~0_179 1)) (< v_main_~c~0_381 v_main_~c~0_380)))) InVars {~SIZE~0=v_~SIZE~0_160, main_~c~0=v_main_~c~0_381, main_#t~post5=|v_main_#t~post5_232|, ~last~0=v_~last~0_179} OutVars{~SIZE~0=v_~SIZE~0_160, main_#t~post5=|v_main_#t~post5_228|, main_~c~0=v_main_~c~0_380, ~last~0=v_~last~0_179} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {19401#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:22,166 INFO L290 TraceCheckUtils]: 16: Hoare triple {19401#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [165] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {19411#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:58:22,167 INFO L290 TraceCheckUtils]: 17: Hoare triple {19411#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {19340#false} is VALID [2022-04-28 03:58:22,167 INFO L290 TraceCheckUtils]: 18: Hoare triple {19340#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {19340#false} is VALID [2022-04-28 03:58:22,167 INFO L290 TraceCheckUtils]: 19: Hoare triple {19340#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {19340#false} is VALID [2022-04-28 03:58:22,167 INFO L290 TraceCheckUtils]: 20: Hoare triple {19340#false} assume !(~d~0 == ~SIZE~0); {19340#false} is VALID [2022-04-28 03:58:22,167 INFO L272 TraceCheckUtils]: 21: Hoare triple {19340#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {19340#false} is VALID [2022-04-28 03:58:22,167 INFO L290 TraceCheckUtils]: 22: Hoare triple {19340#false} ~cond := #in~cond; {19340#false} is VALID [2022-04-28 03:58:22,167 INFO L290 TraceCheckUtils]: 23: Hoare triple {19340#false} assume 0 == ~cond; {19340#false} is VALID [2022-04-28 03:58:22,167 INFO L290 TraceCheckUtils]: 24: Hoare triple {19340#false} assume !false; {19340#false} is VALID [2022-04-28 03:58:22,168 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:22,168 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:58:22,542 INFO L290 TraceCheckUtils]: 24: Hoare triple {19340#false} assume !false; {19340#false} is VALID [2022-04-28 03:58:22,542 INFO L290 TraceCheckUtils]: 23: Hoare triple {19340#false} assume 0 == ~cond; {19340#false} is VALID [2022-04-28 03:58:22,542 INFO L290 TraceCheckUtils]: 22: Hoare triple {19340#false} ~cond := #in~cond; {19340#false} is VALID [2022-04-28 03:58:22,542 INFO L272 TraceCheckUtils]: 21: Hoare triple {19340#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {19340#false} is VALID [2022-04-28 03:58:22,542 INFO L290 TraceCheckUtils]: 20: Hoare triple {19340#false} assume !(~d~0 == ~SIZE~0); {19340#false} is VALID [2022-04-28 03:58:22,542 INFO L290 TraceCheckUtils]: 19: Hoare triple {19340#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {19340#false} is VALID [2022-04-28 03:58:22,542 INFO L290 TraceCheckUtils]: 18: Hoare triple {19340#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {19340#false} is VALID [2022-04-28 03:58:22,543 INFO L290 TraceCheckUtils]: 17: Hoare triple {19457#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {19340#false} is VALID [2022-04-28 03:58:22,543 INFO L290 TraceCheckUtils]: 16: Hoare triple {19461#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [165] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {19457#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:58:22,544 INFO L290 TraceCheckUtils]: 15: Hoare triple {19461#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [168] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_381 v_main_~c~0_380)) (.cse1 (= |v_main_#t~post5_232| |v_main_#t~post5_228|))) (or (and .cse0 (or (not (< v_main_~c~0_381 v_~SIZE~0_160)) (not (< v_main_~c~0_381 v_~last~0_179))) .cse1) (and .cse0 (= v_~SIZE~0_160 v_~SIZE~0_160) .cse1 (= v_~last~0_179 v_~last~0_179)) (and (< v_main_~c~0_380 (+ v_~SIZE~0_160 1)) (< v_main_~c~0_380 (+ v_~last~0_179 1)) (< v_main_~c~0_381 v_main_~c~0_380)))) InVars {~SIZE~0=v_~SIZE~0_160, main_~c~0=v_main_~c~0_381, main_#t~post5=|v_main_#t~post5_232|, ~last~0=v_~last~0_179} OutVars{~SIZE~0=v_~SIZE~0_160, main_#t~post5=|v_main_#t~post5_228|, main_~c~0=v_main_~c~0_380, ~last~0=v_~last~0_179} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {19461#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:22,544 INFO L290 TraceCheckUtils]: 14: Hoare triple {19461#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [167] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {19461#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:22,545 INFO L290 TraceCheckUtils]: 13: Hoare triple {19471#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [166] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_229| |v_main_#t~post5_227|)) (.cse1 (= v_main_~st~0_203 v_main_~st~0_202)) (.cse2 (= v_main_~c~0_379 v_main_~c~0_378)) (.cse3 (<= v_~last~0_178 v_main_~c~0_379))) (or (and .cse0 .cse1 .cse2 (or (not (< v_main_~c~0_379 v_~SIZE~0_159)) (not .cse3))) (and .cse0 .cse1 (= v_~last~0_178 v_~last~0_178) (= v_~SIZE~0_159 v_~SIZE~0_159) .cse2) (and (< v_main_~c~0_378 (+ v_~SIZE~0_159 1)) (= v_main_~st~0_202 0) .cse3 (< v_main_~c~0_379 v_main_~c~0_378)))) InVars {~SIZE~0=v_~SIZE~0_159, main_~c~0=v_main_~c~0_379, main_#t~post5=|v_main_#t~post5_229|, main_~st~0=v_main_~st~0_203, ~last~0=v_~last~0_178} OutVars{~SIZE~0=v_~SIZE~0_159, main_#t~post5=|v_main_#t~post5_227|, main_~c~0=v_main_~c~0_378, main_~st~0=v_main_~st~0_202, ~last~0=v_~last~0_178} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {19461#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:22,545 INFO L290 TraceCheckUtils]: 12: Hoare triple {19475#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {19471#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:58:22,545 INFO L290 TraceCheckUtils]: 11: Hoare triple {19475#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {19475#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:22,546 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19339#true} {19475#(< 1 ~SIZE~0)} #86#return; {19475#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:22,546 INFO L290 TraceCheckUtils]: 9: Hoare triple {19339#true} assume true; {19339#true} is VALID [2022-04-28 03:58:22,546 INFO L290 TraceCheckUtils]: 8: Hoare triple {19339#true} assume !(0 == ~cond); {19339#true} is VALID [2022-04-28 03:58:22,546 INFO L290 TraceCheckUtils]: 7: Hoare triple {19339#true} ~cond := #in~cond; {19339#true} is VALID [2022-04-28 03:58:22,546 INFO L272 TraceCheckUtils]: 6: Hoare triple {19475#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {19339#true} is VALID [2022-04-28 03:58:22,546 INFO L290 TraceCheckUtils]: 5: Hoare triple {19475#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {19475#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:22,547 INFO L272 TraceCheckUtils]: 4: Hoare triple {19475#(< 1 ~SIZE~0)} call #t~ret7 := main(); {19475#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:22,547 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19475#(< 1 ~SIZE~0)} {19339#true} #90#return; {19475#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:22,547 INFO L290 TraceCheckUtils]: 2: Hoare triple {19475#(< 1 ~SIZE~0)} assume true; {19475#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:22,548 INFO L290 TraceCheckUtils]: 1: Hoare triple {19339#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {19475#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:22,548 INFO L272 TraceCheckUtils]: 0: Hoare triple {19339#true} call ULTIMATE.init(); {19339#true} is VALID [2022-04-28 03:58:22,548 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:22,548 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1135267921] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:58:22,548 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:58:22,548 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:58:23,146 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:58:23,147 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1406648621] [2022-04-28 03:58:23,147 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1406648621] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:58:23,147 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:58:23,147 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [24] imperfect sequences [] total 24 [2022-04-28 03:58:23,147 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1342652561] [2022-04-28 03:58:23,147 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:58:23,147 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 1.4166666666666667) internal successors, (34), 22 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 40 [2022-04-28 03:58:23,147 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:58:23,147 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 24 states, 24 states have (on average 1.4166666666666667) internal successors, (34), 22 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:23,171 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 03:58:23,171 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-28 03:58:23,171 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:58:23,171 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-28 03:58:23,171 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=203, Invalid=853, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 03:58:23,171 INFO L87 Difference]: Start difference. First operand 136 states and 167 transitions. Second operand has 24 states, 24 states have (on average 1.4166666666666667) internal successors, (34), 22 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:24,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:24,526 INFO L93 Difference]: Finished difference Result 230 states and 289 transitions. [2022-04-28 03:58:24,526 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-28 03:58:24,526 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 1.4166666666666667) internal successors, (34), 22 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 40 [2022-04-28 03:58:24,527 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:58:24,527 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 1.4166666666666667) internal successors, (34), 22 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:24,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 90 transitions. [2022-04-28 03:58:24,527 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 1.4166666666666667) internal successors, (34), 22 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:24,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 90 transitions. [2022-04-28 03:58:24,528 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 90 transitions. [2022-04-28 03:58:24,617 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 03:58:24,619 INFO L225 Difference]: With dead ends: 230 [2022-04-28 03:58:24,619 INFO L226 Difference]: Without dead ends: 150 [2022-04-28 03:58:24,619 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 48 SyntacticMatches, 5 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 376 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=215, Invalid=975, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 03:58:24,620 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 50 mSDsluCounter, 58 mSDsCounter, 0 mSdLazyCounter, 975 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 78 SdHoareTripleChecker+Invalid, 986 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 975 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 03:58:24,620 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [51 Valid, 78 Invalid, 986 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 975 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 03:58:24,620 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 150 states. [2022-04-28 03:58:24,865 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 150 to 139. [2022-04-28 03:58:24,866 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:58:24,866 INFO L82 GeneralOperation]: Start isEquivalent. First operand 150 states. Second operand has 139 states, 124 states have (on average 1.2419354838709677) internal successors, (154), 127 states have internal predecessors, (154), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:24,866 INFO L74 IsIncluded]: Start isIncluded. First operand 150 states. Second operand has 139 states, 124 states have (on average 1.2419354838709677) internal successors, (154), 127 states have internal predecessors, (154), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:24,866 INFO L87 Difference]: Start difference. First operand 150 states. Second operand has 139 states, 124 states have (on average 1.2419354838709677) internal successors, (154), 127 states have internal predecessors, (154), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:24,868 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:24,868 INFO L93 Difference]: Finished difference Result 150 states and 184 transitions. [2022-04-28 03:58:24,868 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 184 transitions. [2022-04-28 03:58:24,868 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:58:24,868 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:58:24,868 INFO L74 IsIncluded]: Start isIncluded. First operand has 139 states, 124 states have (on average 1.2419354838709677) internal successors, (154), 127 states have internal predecessors, (154), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 150 states. [2022-04-28 03:58:24,868 INFO L87 Difference]: Start difference. First operand has 139 states, 124 states have (on average 1.2419354838709677) internal successors, (154), 127 states have internal predecessors, (154), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 150 states. [2022-04-28 03:58:24,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:24,870 INFO L93 Difference]: Finished difference Result 150 states and 184 transitions. [2022-04-28 03:58:24,870 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 184 transitions. [2022-04-28 03:58:24,883 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:58:24,883 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:58:24,883 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:58:24,883 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:58:24,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 139 states, 124 states have (on average 1.2419354838709677) internal successors, (154), 127 states have internal predecessors, (154), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:24,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 171 transitions. [2022-04-28 03:58:24,898 INFO L78 Accepts]: Start accepts. Automaton has 139 states and 171 transitions. Word has length 40 [2022-04-28 03:58:24,898 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:58:24,898 INFO L495 AbstractCegarLoop]: Abstraction has 139 states and 171 transitions. [2022-04-28 03:58:24,898 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 24 states, 24 states have (on average 1.4166666666666667) internal successors, (34), 22 states have internal predecessors, (34), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:24,898 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 139 states and 171 transitions. [2022-04-28 03:58:25,079 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 171 edges. 171 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:58:25,080 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 171 transitions. [2022-04-28 03:58:25,080 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 03:58:25,080 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:58:25,080 INFO L195 NwaCegarLoop]: trace histogram [7, 7, 6, 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 03:58:25,096 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Ended with exit code 0 [2022-04-28 03:58:25,281 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable23 [2022-04-28 03:58:25,281 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:58:25,281 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:58:25,281 INFO L85 PathProgramCache]: Analyzing trace with hash -1742267585, now seen corresponding path program 16 times [2022-04-28 03:58:25,281 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:58:25,281 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [640066081] [2022-04-28 03:58:29,362 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:58:29,469 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:58:29,659 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:58:29,660 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:58:29,662 INFO L85 PathProgramCache]: Analyzing trace with hash -1623996351, now seen corresponding path program 1 times [2022-04-28 03:58:29,662 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:58:29,662 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [866125491] [2022-04-28 03:58:29,662 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:58:29,663 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:58:29,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:29,783 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:58:29,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:29,795 INFO L290 TraceCheckUtils]: 0: Hoare triple {20589#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:29,795 INFO L290 TraceCheckUtils]: 1: Hoare triple {20576#(<= 20 ~SIZE~0)} assume true; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:29,795 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {20576#(<= 20 ~SIZE~0)} {20571#true} #90#return; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:29,795 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:58:29,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:29,799 INFO L290 TraceCheckUtils]: 0: Hoare triple {20571#true} ~cond := #in~cond; {20571#true} is VALID [2022-04-28 03:58:29,799 INFO L290 TraceCheckUtils]: 1: Hoare triple {20571#true} assume !(0 == ~cond); {20571#true} is VALID [2022-04-28 03:58:29,799 INFO L290 TraceCheckUtils]: 2: Hoare triple {20571#true} assume true; {20571#true} is VALID [2022-04-28 03:58:29,799 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20571#true} {20576#(<= 20 ~SIZE~0)} #86#return; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:29,799 INFO L272 TraceCheckUtils]: 0: Hoare triple {20571#true} call ULTIMATE.init(); {20589#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:58:29,800 INFO L290 TraceCheckUtils]: 1: Hoare triple {20589#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:29,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {20576#(<= 20 ~SIZE~0)} assume true; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:29,800 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20576#(<= 20 ~SIZE~0)} {20571#true} #90#return; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:29,800 INFO L272 TraceCheckUtils]: 4: Hoare triple {20576#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:29,801 INFO L290 TraceCheckUtils]: 5: Hoare triple {20576#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:29,801 INFO L272 TraceCheckUtils]: 6: Hoare triple {20576#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {20571#true} is VALID [2022-04-28 03:58:29,801 INFO L290 TraceCheckUtils]: 7: Hoare triple {20571#true} ~cond := #in~cond; {20571#true} is VALID [2022-04-28 03:58:29,801 INFO L290 TraceCheckUtils]: 8: Hoare triple {20571#true} assume !(0 == ~cond); {20571#true} is VALID [2022-04-28 03:58:29,801 INFO L290 TraceCheckUtils]: 9: Hoare triple {20571#true} assume true; {20571#true} is VALID [2022-04-28 03:58:29,801 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20571#true} {20576#(<= 20 ~SIZE~0)} #86#return; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:29,801 INFO L290 TraceCheckUtils]: 11: Hoare triple {20576#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {20581#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:58:29,802 INFO L290 TraceCheckUtils]: 12: Hoare triple {20581#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {20582#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:58:29,802 INFO L290 TraceCheckUtils]: 13: Hoare triple {20582#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [170] L25-3-->L25-4_primed: Formula: (let ((.cse3 (<= v_~last~0_188 v_main_~c~0_402)) (.cse0 (= v_main_~c~0_402 v_main_~c~0_401)) (.cse1 (= |v_main_#t~post5_242| |v_main_#t~post5_240|)) (.cse2 (= v_main_~st~0_213 v_main_~st~0_212))) (or (and (= v_~last~0_188 v_~last~0_188) .cse0 (= v_~SIZE~0_168 v_~SIZE~0_168) .cse1 .cse2) (and (< v_main_~c~0_401 (+ v_~SIZE~0_168 1)) (< v_main_~c~0_402 v_main_~c~0_401) .cse3 (= v_main_~st~0_212 0)) (and (or (not (< v_main_~c~0_402 v_~SIZE~0_168)) (not .cse3)) .cse0 .cse1 .cse2))) InVars {~SIZE~0=v_~SIZE~0_168, main_~c~0=v_main_~c~0_402, main_#t~post5=|v_main_#t~post5_242|, main_~st~0=v_main_~st~0_213, ~last~0=v_~last~0_188} OutVars{~SIZE~0=v_~SIZE~0_168, main_#t~post5=|v_main_#t~post5_240|, main_~c~0=v_main_~c~0_401, main_~st~0=v_main_~st~0_212, ~last~0=v_~last~0_188} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {20583#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:29,803 INFO L290 TraceCheckUtils]: 14: Hoare triple {20583#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [171] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {20583#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:29,803 INFO L290 TraceCheckUtils]: 15: Hoare triple {20583#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [172] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_245| |v_main_#t~post5_241|)) (.cse1 (= v_main_~c~0_404 v_main_~c~0_403))) (or (and (= v_~last~0_189 v_~last~0_189) .cse0 (= v_~SIZE~0_169 v_~SIZE~0_169) .cse1) (and (< v_main_~c~0_404 v_main_~c~0_403) (< v_main_~c~0_403 (+ v_~SIZE~0_169 1)) (< v_main_~c~0_403 (+ v_~last~0_189 1))) (and .cse0 .cse1 (or (not (< v_main_~c~0_404 v_~SIZE~0_169)) (not (< v_main_~c~0_404 v_~last~0_189)))))) InVars {~SIZE~0=v_~SIZE~0_169, main_~c~0=v_main_~c~0_404, main_#t~post5=|v_main_#t~post5_245|, ~last~0=v_~last~0_189} OutVars{~SIZE~0=v_~SIZE~0_169, main_#t~post5=|v_main_#t~post5_241|, main_~c~0=v_main_~c~0_403, ~last~0=v_~last~0_189} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {20583#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:29,804 INFO L290 TraceCheckUtils]: 16: Hoare triple {20583#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [169] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {20584#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:58:29,804 INFO L290 TraceCheckUtils]: 17: Hoare triple {20584#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {20585#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:29,805 INFO L290 TraceCheckUtils]: 18: Hoare triple {20585#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {20585#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:29,805 INFO L290 TraceCheckUtils]: 19: Hoare triple {20585#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {20586#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:29,805 INFO L290 TraceCheckUtils]: 20: Hoare triple {20586#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {20586#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:29,806 INFO L272 TraceCheckUtils]: 21: Hoare triple {20586#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {20587#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:58:29,806 INFO L290 TraceCheckUtils]: 22: Hoare triple {20587#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {20588#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:58:29,806 INFO L290 TraceCheckUtils]: 23: Hoare triple {20588#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {20572#false} is VALID [2022-04-28 03:58:29,806 INFO L290 TraceCheckUtils]: 24: Hoare triple {20572#false} assume !false; {20572#false} is VALID [2022-04-28 03:58:29,807 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:29,807 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:58:29,807 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [866125491] [2022-04-28 03:58:29,807 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [866125491] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:58:29,807 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [972969503] [2022-04-28 03:58:29,807 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:58:29,807 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:58:29,807 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:58:29,808 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:58:29,809 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 03:58:29,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:29,838 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:58:29,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:29,843 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:58:30,012 INFO L272 TraceCheckUtils]: 0: Hoare triple {20571#true} call ULTIMATE.init(); {20571#true} is VALID [2022-04-28 03:58:30,013 INFO L290 TraceCheckUtils]: 1: Hoare triple {20571#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:30,013 INFO L290 TraceCheckUtils]: 2: Hoare triple {20576#(<= 20 ~SIZE~0)} assume true; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:30,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20576#(<= 20 ~SIZE~0)} {20571#true} #90#return; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:30,013 INFO L272 TraceCheckUtils]: 4: Hoare triple {20576#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:30,013 INFO L290 TraceCheckUtils]: 5: Hoare triple {20576#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:30,014 INFO L272 TraceCheckUtils]: 6: Hoare triple {20576#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:30,014 INFO L290 TraceCheckUtils]: 7: Hoare triple {20576#(<= 20 ~SIZE~0)} ~cond := #in~cond; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:30,014 INFO L290 TraceCheckUtils]: 8: Hoare triple {20576#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:30,014 INFO L290 TraceCheckUtils]: 9: Hoare triple {20576#(<= 20 ~SIZE~0)} assume true; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:30,015 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20576#(<= 20 ~SIZE~0)} {20576#(<= 20 ~SIZE~0)} #86#return; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:30,015 INFO L290 TraceCheckUtils]: 11: Hoare triple {20576#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:30,015 INFO L290 TraceCheckUtils]: 12: Hoare triple {20576#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {20629#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:58:30,016 INFO L290 TraceCheckUtils]: 13: Hoare triple {20629#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [170] L25-3-->L25-4_primed: Formula: (let ((.cse3 (<= v_~last~0_188 v_main_~c~0_402)) (.cse0 (= v_main_~c~0_402 v_main_~c~0_401)) (.cse1 (= |v_main_#t~post5_242| |v_main_#t~post5_240|)) (.cse2 (= v_main_~st~0_213 v_main_~st~0_212))) (or (and (= v_~last~0_188 v_~last~0_188) .cse0 (= v_~SIZE~0_168 v_~SIZE~0_168) .cse1 .cse2) (and (< v_main_~c~0_401 (+ v_~SIZE~0_168 1)) (< v_main_~c~0_402 v_main_~c~0_401) .cse3 (= v_main_~st~0_212 0)) (and (or (not (< v_main_~c~0_402 v_~SIZE~0_168)) (not .cse3)) .cse0 .cse1 .cse2))) InVars {~SIZE~0=v_~SIZE~0_168, main_~c~0=v_main_~c~0_402, main_#t~post5=|v_main_#t~post5_242|, main_~st~0=v_main_~st~0_213, ~last~0=v_~last~0_188} OutVars{~SIZE~0=v_~SIZE~0_168, main_#t~post5=|v_main_#t~post5_240|, main_~c~0=v_main_~c~0_401, main_~st~0=v_main_~st~0_212, ~last~0=v_~last~0_188} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {20633#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:30,016 INFO L290 TraceCheckUtils]: 14: Hoare triple {20633#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [171] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {20633#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:30,017 INFO L290 TraceCheckUtils]: 15: Hoare triple {20633#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [172] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_245| |v_main_#t~post5_241|)) (.cse1 (= v_main_~c~0_404 v_main_~c~0_403))) (or (and (= v_~last~0_189 v_~last~0_189) .cse0 (= v_~SIZE~0_169 v_~SIZE~0_169) .cse1) (and (< v_main_~c~0_404 v_main_~c~0_403) (< v_main_~c~0_403 (+ v_~SIZE~0_169 1)) (< v_main_~c~0_403 (+ v_~last~0_189 1))) (and .cse0 .cse1 (or (not (< v_main_~c~0_404 v_~SIZE~0_169)) (not (< v_main_~c~0_404 v_~last~0_189)))))) InVars {~SIZE~0=v_~SIZE~0_169, main_~c~0=v_main_~c~0_404, main_#t~post5=|v_main_#t~post5_245|, ~last~0=v_~last~0_189} OutVars{~SIZE~0=v_~SIZE~0_169, main_#t~post5=|v_main_#t~post5_241|, main_~c~0=v_main_~c~0_403, ~last~0=v_~last~0_189} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {20633#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:30,017 INFO L290 TraceCheckUtils]: 16: Hoare triple {20633#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [169] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {20643#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:58:30,017 INFO L290 TraceCheckUtils]: 17: Hoare triple {20643#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {20572#false} is VALID [2022-04-28 03:58:30,017 INFO L290 TraceCheckUtils]: 18: Hoare triple {20572#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {20572#false} is VALID [2022-04-28 03:58:30,018 INFO L290 TraceCheckUtils]: 19: Hoare triple {20572#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {20572#false} is VALID [2022-04-28 03:58:30,018 INFO L290 TraceCheckUtils]: 20: Hoare triple {20572#false} assume !(~d~0 == ~SIZE~0); {20572#false} is VALID [2022-04-28 03:58:30,018 INFO L272 TraceCheckUtils]: 21: Hoare triple {20572#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {20572#false} is VALID [2022-04-28 03:58:30,018 INFO L290 TraceCheckUtils]: 22: Hoare triple {20572#false} ~cond := #in~cond; {20572#false} is VALID [2022-04-28 03:58:30,018 INFO L290 TraceCheckUtils]: 23: Hoare triple {20572#false} assume 0 == ~cond; {20572#false} is VALID [2022-04-28 03:58:30,018 INFO L290 TraceCheckUtils]: 24: Hoare triple {20572#false} assume !false; {20572#false} is VALID [2022-04-28 03:58:30,018 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:30,018 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:58:30,294 INFO L290 TraceCheckUtils]: 24: Hoare triple {20572#false} assume !false; {20572#false} is VALID [2022-04-28 03:58:30,294 INFO L290 TraceCheckUtils]: 23: Hoare triple {20572#false} assume 0 == ~cond; {20572#false} is VALID [2022-04-28 03:58:30,294 INFO L290 TraceCheckUtils]: 22: Hoare triple {20572#false} ~cond := #in~cond; {20572#false} is VALID [2022-04-28 03:58:30,295 INFO L272 TraceCheckUtils]: 21: Hoare triple {20572#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {20572#false} is VALID [2022-04-28 03:58:30,295 INFO L290 TraceCheckUtils]: 20: Hoare triple {20572#false} assume !(~d~0 == ~SIZE~0); {20572#false} is VALID [2022-04-28 03:58:30,295 INFO L290 TraceCheckUtils]: 19: Hoare triple {20572#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {20572#false} is VALID [2022-04-28 03:58:30,295 INFO L290 TraceCheckUtils]: 18: Hoare triple {20572#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {20572#false} is VALID [2022-04-28 03:58:30,295 INFO L290 TraceCheckUtils]: 17: Hoare triple {20689#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {20572#false} is VALID [2022-04-28 03:58:30,295 INFO L290 TraceCheckUtils]: 16: Hoare triple {20693#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [169] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {20689#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:58:30,296 INFO L290 TraceCheckUtils]: 15: Hoare triple {20693#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [172] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_245| |v_main_#t~post5_241|)) (.cse1 (= v_main_~c~0_404 v_main_~c~0_403))) (or (and (= v_~last~0_189 v_~last~0_189) .cse0 (= v_~SIZE~0_169 v_~SIZE~0_169) .cse1) (and (< v_main_~c~0_404 v_main_~c~0_403) (< v_main_~c~0_403 (+ v_~SIZE~0_169 1)) (< v_main_~c~0_403 (+ v_~last~0_189 1))) (and .cse0 .cse1 (or (not (< v_main_~c~0_404 v_~SIZE~0_169)) (not (< v_main_~c~0_404 v_~last~0_189)))))) InVars {~SIZE~0=v_~SIZE~0_169, main_~c~0=v_main_~c~0_404, main_#t~post5=|v_main_#t~post5_245|, ~last~0=v_~last~0_189} OutVars{~SIZE~0=v_~SIZE~0_169, main_#t~post5=|v_main_#t~post5_241|, main_~c~0=v_main_~c~0_403, ~last~0=v_~last~0_189} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {20693#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:30,296 INFO L290 TraceCheckUtils]: 14: Hoare triple {20693#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [171] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {20693#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:30,297 INFO L290 TraceCheckUtils]: 13: Hoare triple {20703#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [170] L25-3-->L25-4_primed: Formula: (let ((.cse3 (<= v_~last~0_188 v_main_~c~0_402)) (.cse0 (= v_main_~c~0_402 v_main_~c~0_401)) (.cse1 (= |v_main_#t~post5_242| |v_main_#t~post5_240|)) (.cse2 (= v_main_~st~0_213 v_main_~st~0_212))) (or (and (= v_~last~0_188 v_~last~0_188) .cse0 (= v_~SIZE~0_168 v_~SIZE~0_168) .cse1 .cse2) (and (< v_main_~c~0_401 (+ v_~SIZE~0_168 1)) (< v_main_~c~0_402 v_main_~c~0_401) .cse3 (= v_main_~st~0_212 0)) (and (or (not (< v_main_~c~0_402 v_~SIZE~0_168)) (not .cse3)) .cse0 .cse1 .cse2))) InVars {~SIZE~0=v_~SIZE~0_168, main_~c~0=v_main_~c~0_402, main_#t~post5=|v_main_#t~post5_242|, main_~st~0=v_main_~st~0_213, ~last~0=v_~last~0_188} OutVars{~SIZE~0=v_~SIZE~0_168, main_#t~post5=|v_main_#t~post5_240|, main_~c~0=v_main_~c~0_401, main_~st~0=v_main_~st~0_212, ~last~0=v_~last~0_188} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {20693#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:30,297 INFO L290 TraceCheckUtils]: 12: Hoare triple {20707#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {20703#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:58:30,297 INFO L290 TraceCheckUtils]: 11: Hoare triple {20707#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {20707#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:30,297 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20571#true} {20707#(< 1 ~SIZE~0)} #86#return; {20707#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:30,298 INFO L290 TraceCheckUtils]: 9: Hoare triple {20571#true} assume true; {20571#true} is VALID [2022-04-28 03:58:30,298 INFO L290 TraceCheckUtils]: 8: Hoare triple {20571#true} assume !(0 == ~cond); {20571#true} is VALID [2022-04-28 03:58:30,298 INFO L290 TraceCheckUtils]: 7: Hoare triple {20571#true} ~cond := #in~cond; {20571#true} is VALID [2022-04-28 03:58:30,298 INFO L272 TraceCheckUtils]: 6: Hoare triple {20707#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {20571#true} is VALID [2022-04-28 03:58:30,298 INFO L290 TraceCheckUtils]: 5: Hoare triple {20707#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {20707#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:30,298 INFO L272 TraceCheckUtils]: 4: Hoare triple {20707#(< 1 ~SIZE~0)} call #t~ret7 := main(); {20707#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:30,298 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20707#(< 1 ~SIZE~0)} {20571#true} #90#return; {20707#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:30,300 INFO L290 TraceCheckUtils]: 2: Hoare triple {20707#(< 1 ~SIZE~0)} assume true; {20707#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:30,300 INFO L290 TraceCheckUtils]: 1: Hoare triple {20571#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {20707#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:30,300 INFO L272 TraceCheckUtils]: 0: Hoare triple {20571#true} call ULTIMATE.init(); {20571#true} is VALID [2022-04-28 03:58:30,300 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:30,300 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [972969503] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:58:30,300 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:58:30,300 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:58:30,757 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:58:30,757 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [640066081] [2022-04-28 03:58:30,757 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [640066081] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:58:30,757 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:58:30,757 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-28 03:58:30,757 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1953995054] [2022-04-28 03:58:30,757 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:58:30,758 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 1.7619047619047619) internal successors, (37), 19 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 43 [2022-04-28 03:58:30,758 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:58:30,758 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 1.7619047619047619) internal successors, (37), 19 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:30,780 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 03:58:30,781 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-28 03:58:30,781 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:58:30,781 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-28 03:58:30,781 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=154, Invalid=716, Unknown=0, NotChecked=0, Total=870 [2022-04-28 03:58:30,781 INFO L87 Difference]: Start difference. First operand 139 states and 171 transitions. Second operand has 21 states, 21 states have (on average 1.7619047619047619) internal successors, (37), 19 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:32,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:32,065 INFO L93 Difference]: Finished difference Result 230 states and 286 transitions. [2022-04-28 03:58:32,065 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 03:58:32,065 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 1.7619047619047619) internal successors, (37), 19 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 43 [2022-04-28 03:58:32,065 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:58:32,065 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 1.7619047619047619) internal successors, (37), 19 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:32,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 88 transitions. [2022-04-28 03:58:32,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 1.7619047619047619) internal successors, (37), 19 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:32,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 88 transitions. [2022-04-28 03:58:32,066 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 88 transitions. [2022-04-28 03:58:32,159 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:58:32,160 INFO L225 Difference]: With dead ends: 230 [2022-04-28 03:58:32,160 INFO L226 Difference]: Without dead ends: 161 [2022-04-28 03:58:32,161 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 48 SyntacticMatches, 11 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 384 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=166, Invalid=826, Unknown=0, NotChecked=0, Total=992 [2022-04-28 03:58:32,161 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 44 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 802 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 70 SdHoareTripleChecker+Invalid, 812 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 802 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 03:58:32,161 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [45 Valid, 70 Invalid, 812 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 802 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 03:58:32,162 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-04-28 03:58:32,404 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 142. [2022-04-28 03:58:32,404 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:58:32,404 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:32,405 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:32,405 INFO L87 Difference]: Start difference. First operand 161 states. Second operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:32,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:32,407 INFO L93 Difference]: Finished difference Result 161 states and 195 transitions. [2022-04-28 03:58:32,407 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 195 transitions. [2022-04-28 03:58:32,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:58:32,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:58:32,408 INFO L74 IsIncluded]: Start isIncluded. First operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 161 states. [2022-04-28 03:58:32,408 INFO L87 Difference]: Start difference. First operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 161 states. [2022-04-28 03:58:32,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:32,410 INFO L93 Difference]: Finished difference Result 161 states and 195 transitions. [2022-04-28 03:58:32,410 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 195 transitions. [2022-04-28 03:58:32,410 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:58:32,410 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:58:32,410 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:58:32,410 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:58:32,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:32,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 174 transitions. [2022-04-28 03:58:32,412 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 174 transitions. Word has length 43 [2022-04-28 03:58:32,412 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:58:32,412 INFO L495 AbstractCegarLoop]: Abstraction has 142 states and 174 transitions. [2022-04-28 03:58:32,412 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 1.7619047619047619) internal successors, (37), 19 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:32,412 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 142 states and 174 transitions. [2022-04-28 03:58:32,679 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 174 edges. 174 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:58:32,680 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 174 transitions. [2022-04-28 03:58:32,680 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 03:58:32,680 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:58:32,680 INFO L195 NwaCegarLoop]: trace histogram [7, 7, 5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:58:32,698 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 03:58:32,880 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable24,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:58:32,881 INFO L420 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:58:32,881 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:58:32,881 INFO L85 PathProgramCache]: Analyzing trace with hash -1680227971, now seen corresponding path program 17 times [2022-04-28 03:58:32,881 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:58:32,881 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1734574864] [2022-04-28 03:58:33,042 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:58:33,264 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:58:33,265 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:58:33,268 INFO L85 PathProgramCache]: Analyzing trace with hash 868526401, now seen corresponding path program 1 times [2022-04-28 03:58:33,268 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:58:33,268 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [491072898] [2022-04-28 03:58:33,268 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:58:33,269 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:58:33,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:33,454 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:58:33,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:33,459 INFO L290 TraceCheckUtils]: 0: Hoare triple {21846#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,460 INFO L290 TraceCheckUtils]: 1: Hoare triple {21833#(<= 20 ~SIZE~0)} assume true; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,460 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {21833#(<= 20 ~SIZE~0)} {21828#true} #90#return; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,460 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:58:33,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:33,462 INFO L290 TraceCheckUtils]: 0: Hoare triple {21828#true} ~cond := #in~cond; {21828#true} is VALID [2022-04-28 03:58:33,463 INFO L290 TraceCheckUtils]: 1: Hoare triple {21828#true} assume !(0 == ~cond); {21828#true} is VALID [2022-04-28 03:58:33,463 INFO L290 TraceCheckUtils]: 2: Hoare triple {21828#true} assume true; {21828#true} is VALID [2022-04-28 03:58:33,463 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21828#true} {21833#(<= 20 ~SIZE~0)} #86#return; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,464 INFO L272 TraceCheckUtils]: 0: Hoare triple {21828#true} call ULTIMATE.init(); {21846#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:58:33,464 INFO L290 TraceCheckUtils]: 1: Hoare triple {21846#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,464 INFO L290 TraceCheckUtils]: 2: Hoare triple {21833#(<= 20 ~SIZE~0)} assume true; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,465 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21833#(<= 20 ~SIZE~0)} {21828#true} #90#return; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,465 INFO L272 TraceCheckUtils]: 4: Hoare triple {21833#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,465 INFO L290 TraceCheckUtils]: 5: Hoare triple {21833#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,465 INFO L272 TraceCheckUtils]: 6: Hoare triple {21833#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {21828#true} is VALID [2022-04-28 03:58:33,465 INFO L290 TraceCheckUtils]: 7: Hoare triple {21828#true} ~cond := #in~cond; {21828#true} is VALID [2022-04-28 03:58:33,466 INFO L290 TraceCheckUtils]: 8: Hoare triple {21828#true} assume !(0 == ~cond); {21828#true} is VALID [2022-04-28 03:58:33,466 INFO L290 TraceCheckUtils]: 9: Hoare triple {21828#true} assume true; {21828#true} is VALID [2022-04-28 03:58:33,466 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21828#true} {21833#(<= 20 ~SIZE~0)} #86#return; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,466 INFO L290 TraceCheckUtils]: 11: Hoare triple {21833#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {21838#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:58:33,467 INFO L290 TraceCheckUtils]: 12: Hoare triple {21838#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {21839#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:58:33,467 INFO L290 TraceCheckUtils]: 13: Hoare triple {21839#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [174] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_228 v_main_~st~0_227)) (.cse1 (= v_main_~c~0_426 v_main_~c~0_425)) (.cse2 (= |v_main_#t~post5_255| |v_main_#t~post5_253|)) (.cse3 (<= v_~last~0_198 v_main_~c~0_426))) (or (and .cse0 .cse1 (= v_~SIZE~0_177 v_~SIZE~0_177) (= v_~last~0_198 v_~last~0_198) .cse2) (and .cse0 .cse1 (or (not .cse3) (not (< v_main_~c~0_426 v_~SIZE~0_177))) .cse2) (and (= v_main_~st~0_227 0) .cse3 (< v_main_~c~0_425 (+ v_~SIZE~0_177 1)) (< v_main_~c~0_426 v_main_~c~0_425)))) InVars {~SIZE~0=v_~SIZE~0_177, main_~c~0=v_main_~c~0_426, main_#t~post5=|v_main_#t~post5_255|, main_~st~0=v_main_~st~0_228, ~last~0=v_~last~0_198} OutVars{~SIZE~0=v_~SIZE~0_177, main_#t~post5=|v_main_#t~post5_253|, main_~c~0=v_main_~c~0_425, main_~st~0=v_main_~st~0_227, ~last~0=v_~last~0_198} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {21840#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:33,468 INFO L290 TraceCheckUtils]: 14: Hoare triple {21840#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [175] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {21840#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:33,469 INFO L290 TraceCheckUtils]: 15: Hoare triple {21840#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [176] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_258| |v_main_#t~post5_254|)) (.cse1 (= v_main_~c~0_428 v_main_~c~0_427))) (or (and (< v_main_~c~0_427 (+ v_~SIZE~0_178 1)) (< v_main_~c~0_427 (+ v_~last~0_199 1)) (< v_main_~c~0_428 v_main_~c~0_427)) (and (or (not (< v_main_~c~0_428 v_~SIZE~0_178)) (not (< v_main_~c~0_428 v_~last~0_199))) .cse0 .cse1) (and (= v_~SIZE~0_178 v_~SIZE~0_178) (= v_~last~0_199 v_~last~0_199) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_178, main_~c~0=v_main_~c~0_428, main_#t~post5=|v_main_#t~post5_258|, ~last~0=v_~last~0_199} OutVars{~SIZE~0=v_~SIZE~0_178, main_#t~post5=|v_main_#t~post5_254|, main_~c~0=v_main_~c~0_427, ~last~0=v_~last~0_199} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {21840#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:33,469 INFO L290 TraceCheckUtils]: 16: Hoare triple {21840#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [173] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {21841#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:58:33,470 INFO L290 TraceCheckUtils]: 17: Hoare triple {21841#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {21842#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:33,470 INFO L290 TraceCheckUtils]: 18: Hoare triple {21842#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {21842#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:33,471 INFO L290 TraceCheckUtils]: 19: Hoare triple {21842#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {21843#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:33,471 INFO L290 TraceCheckUtils]: 20: Hoare triple {21843#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {21843#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:33,472 INFO L272 TraceCheckUtils]: 21: Hoare triple {21843#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {21844#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:58:33,474 INFO L290 TraceCheckUtils]: 22: Hoare triple {21844#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {21845#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:58:33,474 INFO L290 TraceCheckUtils]: 23: Hoare triple {21845#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {21829#false} is VALID [2022-04-28 03:58:33,475 INFO L290 TraceCheckUtils]: 24: Hoare triple {21829#false} assume !false; {21829#false} is VALID [2022-04-28 03:58:33,475 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:33,475 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:58:33,475 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [491072898] [2022-04-28 03:58:33,475 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [491072898] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:58:33,475 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [990297732] [2022-04-28 03:58:33,475 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:58:33,475 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:58:33,475 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:58:33,476 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:58:33,477 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 03:58:33,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:33,509 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:58:33,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:33,520 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:58:33,789 INFO L272 TraceCheckUtils]: 0: Hoare triple {21828#true} call ULTIMATE.init(); {21828#true} is VALID [2022-04-28 03:58:33,790 INFO L290 TraceCheckUtils]: 1: Hoare triple {21828#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,790 INFO L290 TraceCheckUtils]: 2: Hoare triple {21833#(<= 20 ~SIZE~0)} assume true; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,791 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21833#(<= 20 ~SIZE~0)} {21828#true} #90#return; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,791 INFO L272 TraceCheckUtils]: 4: Hoare triple {21833#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,791 INFO L290 TraceCheckUtils]: 5: Hoare triple {21833#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,792 INFO L272 TraceCheckUtils]: 6: Hoare triple {21833#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,792 INFO L290 TraceCheckUtils]: 7: Hoare triple {21833#(<= 20 ~SIZE~0)} ~cond := #in~cond; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,792 INFO L290 TraceCheckUtils]: 8: Hoare triple {21833#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,793 INFO L290 TraceCheckUtils]: 9: Hoare triple {21833#(<= 20 ~SIZE~0)} assume true; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,793 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21833#(<= 20 ~SIZE~0)} {21833#(<= 20 ~SIZE~0)} #86#return; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,793 INFO L290 TraceCheckUtils]: 11: Hoare triple {21833#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:33,794 INFO L290 TraceCheckUtils]: 12: Hoare triple {21833#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {21886#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:58:33,794 INFO L290 TraceCheckUtils]: 13: Hoare triple {21886#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [174] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_228 v_main_~st~0_227)) (.cse1 (= v_main_~c~0_426 v_main_~c~0_425)) (.cse2 (= |v_main_#t~post5_255| |v_main_#t~post5_253|)) (.cse3 (<= v_~last~0_198 v_main_~c~0_426))) (or (and .cse0 .cse1 (= v_~SIZE~0_177 v_~SIZE~0_177) (= v_~last~0_198 v_~last~0_198) .cse2) (and .cse0 .cse1 (or (not .cse3) (not (< v_main_~c~0_426 v_~SIZE~0_177))) .cse2) (and (= v_main_~st~0_227 0) .cse3 (< v_main_~c~0_425 (+ v_~SIZE~0_177 1)) (< v_main_~c~0_426 v_main_~c~0_425)))) InVars {~SIZE~0=v_~SIZE~0_177, main_~c~0=v_main_~c~0_426, main_#t~post5=|v_main_#t~post5_255|, main_~st~0=v_main_~st~0_228, ~last~0=v_~last~0_198} OutVars{~SIZE~0=v_~SIZE~0_177, main_#t~post5=|v_main_#t~post5_253|, main_~c~0=v_main_~c~0_425, main_~st~0=v_main_~st~0_227, ~last~0=v_~last~0_198} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {21890#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:33,795 INFO L290 TraceCheckUtils]: 14: Hoare triple {21890#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [175] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {21890#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:33,795 INFO L290 TraceCheckUtils]: 15: Hoare triple {21890#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [176] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_258| |v_main_#t~post5_254|)) (.cse1 (= v_main_~c~0_428 v_main_~c~0_427))) (or (and (< v_main_~c~0_427 (+ v_~SIZE~0_178 1)) (< v_main_~c~0_427 (+ v_~last~0_199 1)) (< v_main_~c~0_428 v_main_~c~0_427)) (and (or (not (< v_main_~c~0_428 v_~SIZE~0_178)) (not (< v_main_~c~0_428 v_~last~0_199))) .cse0 .cse1) (and (= v_~SIZE~0_178 v_~SIZE~0_178) (= v_~last~0_199 v_~last~0_199) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_178, main_~c~0=v_main_~c~0_428, main_#t~post5=|v_main_#t~post5_258|, ~last~0=v_~last~0_199} OutVars{~SIZE~0=v_~SIZE~0_178, main_#t~post5=|v_main_#t~post5_254|, main_~c~0=v_main_~c~0_427, ~last~0=v_~last~0_199} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {21890#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:33,796 INFO L290 TraceCheckUtils]: 16: Hoare triple {21890#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [173] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {21900#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:58:33,796 INFO L290 TraceCheckUtils]: 17: Hoare triple {21900#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {21829#false} is VALID [2022-04-28 03:58:33,797 INFO L290 TraceCheckUtils]: 18: Hoare triple {21829#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {21829#false} is VALID [2022-04-28 03:58:33,797 INFO L290 TraceCheckUtils]: 19: Hoare triple {21829#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {21829#false} is VALID [2022-04-28 03:58:33,797 INFO L290 TraceCheckUtils]: 20: Hoare triple {21829#false} assume !(~d~0 == ~SIZE~0); {21829#false} is VALID [2022-04-28 03:58:33,797 INFO L272 TraceCheckUtils]: 21: Hoare triple {21829#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {21829#false} is VALID [2022-04-28 03:58:33,797 INFO L290 TraceCheckUtils]: 22: Hoare triple {21829#false} ~cond := #in~cond; {21829#false} is VALID [2022-04-28 03:58:33,797 INFO L290 TraceCheckUtils]: 23: Hoare triple {21829#false} assume 0 == ~cond; {21829#false} is VALID [2022-04-28 03:58:33,797 INFO L290 TraceCheckUtils]: 24: Hoare triple {21829#false} assume !false; {21829#false} is VALID [2022-04-28 03:58:33,797 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:33,797 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:58:34,137 INFO L290 TraceCheckUtils]: 24: Hoare triple {21829#false} assume !false; {21829#false} is VALID [2022-04-28 03:58:34,138 INFO L290 TraceCheckUtils]: 23: Hoare triple {21829#false} assume 0 == ~cond; {21829#false} is VALID [2022-04-28 03:58:34,138 INFO L290 TraceCheckUtils]: 22: Hoare triple {21829#false} ~cond := #in~cond; {21829#false} is VALID [2022-04-28 03:58:34,138 INFO L272 TraceCheckUtils]: 21: Hoare triple {21829#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {21829#false} is VALID [2022-04-28 03:58:34,138 INFO L290 TraceCheckUtils]: 20: Hoare triple {21829#false} assume !(~d~0 == ~SIZE~0); {21829#false} is VALID [2022-04-28 03:58:34,138 INFO L290 TraceCheckUtils]: 19: Hoare triple {21829#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {21829#false} is VALID [2022-04-28 03:58:34,138 INFO L290 TraceCheckUtils]: 18: Hoare triple {21829#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {21829#false} is VALID [2022-04-28 03:58:34,138 INFO L290 TraceCheckUtils]: 17: Hoare triple {21946#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {21829#false} is VALID [2022-04-28 03:58:34,139 INFO L290 TraceCheckUtils]: 16: Hoare triple {21950#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [173] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {21946#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:58:34,139 INFO L290 TraceCheckUtils]: 15: Hoare triple {21950#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [176] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_258| |v_main_#t~post5_254|)) (.cse1 (= v_main_~c~0_428 v_main_~c~0_427))) (or (and (< v_main_~c~0_427 (+ v_~SIZE~0_178 1)) (< v_main_~c~0_427 (+ v_~last~0_199 1)) (< v_main_~c~0_428 v_main_~c~0_427)) (and (or (not (< v_main_~c~0_428 v_~SIZE~0_178)) (not (< v_main_~c~0_428 v_~last~0_199))) .cse0 .cse1) (and (= v_~SIZE~0_178 v_~SIZE~0_178) (= v_~last~0_199 v_~last~0_199) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_178, main_~c~0=v_main_~c~0_428, main_#t~post5=|v_main_#t~post5_258|, ~last~0=v_~last~0_199} OutVars{~SIZE~0=v_~SIZE~0_178, main_#t~post5=|v_main_#t~post5_254|, main_~c~0=v_main_~c~0_427, ~last~0=v_~last~0_199} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {21950#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:34,140 INFO L290 TraceCheckUtils]: 14: Hoare triple {21950#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [175] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {21950#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:34,141 INFO L290 TraceCheckUtils]: 13: Hoare triple {21960#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [174] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_228 v_main_~st~0_227)) (.cse1 (= v_main_~c~0_426 v_main_~c~0_425)) (.cse2 (= |v_main_#t~post5_255| |v_main_#t~post5_253|)) (.cse3 (<= v_~last~0_198 v_main_~c~0_426))) (or (and .cse0 .cse1 (= v_~SIZE~0_177 v_~SIZE~0_177) (= v_~last~0_198 v_~last~0_198) .cse2) (and .cse0 .cse1 (or (not .cse3) (not (< v_main_~c~0_426 v_~SIZE~0_177))) .cse2) (and (= v_main_~st~0_227 0) .cse3 (< v_main_~c~0_425 (+ v_~SIZE~0_177 1)) (< v_main_~c~0_426 v_main_~c~0_425)))) InVars {~SIZE~0=v_~SIZE~0_177, main_~c~0=v_main_~c~0_426, main_#t~post5=|v_main_#t~post5_255|, main_~st~0=v_main_~st~0_228, ~last~0=v_~last~0_198} OutVars{~SIZE~0=v_~SIZE~0_177, main_#t~post5=|v_main_#t~post5_253|, main_~c~0=v_main_~c~0_425, main_~st~0=v_main_~st~0_227, ~last~0=v_~last~0_198} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {21950#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:34,141 INFO L290 TraceCheckUtils]: 12: Hoare triple {21964#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {21960#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:58:34,141 INFO L290 TraceCheckUtils]: 11: Hoare triple {21964#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {21964#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:34,142 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21828#true} {21964#(< 1 ~SIZE~0)} #86#return; {21964#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:34,142 INFO L290 TraceCheckUtils]: 9: Hoare triple {21828#true} assume true; {21828#true} is VALID [2022-04-28 03:58:34,142 INFO L290 TraceCheckUtils]: 8: Hoare triple {21828#true} assume !(0 == ~cond); {21828#true} is VALID [2022-04-28 03:58:34,142 INFO L290 TraceCheckUtils]: 7: Hoare triple {21828#true} ~cond := #in~cond; {21828#true} is VALID [2022-04-28 03:58:34,142 INFO L272 TraceCheckUtils]: 6: Hoare triple {21964#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {21828#true} is VALID [2022-04-28 03:58:34,142 INFO L290 TraceCheckUtils]: 5: Hoare triple {21964#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {21964#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:34,143 INFO L272 TraceCheckUtils]: 4: Hoare triple {21964#(< 1 ~SIZE~0)} call #t~ret7 := main(); {21964#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:34,143 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21964#(< 1 ~SIZE~0)} {21828#true} #90#return; {21964#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:34,146 INFO L290 TraceCheckUtils]: 2: Hoare triple {21964#(< 1 ~SIZE~0)} assume true; {21964#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:34,147 INFO L290 TraceCheckUtils]: 1: Hoare triple {21828#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {21964#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:34,147 INFO L272 TraceCheckUtils]: 0: Hoare triple {21828#true} call ULTIMATE.init(); {21828#true} is VALID [2022-04-28 03:58:34,147 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:34,147 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [990297732] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:58:34,147 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:58:34,147 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:58:34,841 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:58:34,841 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1734574864] [2022-04-28 03:58:34,841 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1734574864] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:58:34,841 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:58:34,841 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-28 03:58:34,841 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [855128245] [2022-04-28 03:58:34,842 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:58:34,842 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 1.6818181818181819) internal successors, (37), 20 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 43 [2022-04-28 03:58:34,842 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:58:34,842 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 22 states have (on average 1.6818181818181819) internal successors, (37), 20 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:34,872 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 03:58:34,873 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-28 03:58:34,873 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:58:34,873 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-28 03:58:34,873 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=168, Invalid=762, Unknown=0, NotChecked=0, Total=930 [2022-04-28 03:58:34,874 INFO L87 Difference]: Start difference. First operand 142 states and 174 transitions. Second operand has 22 states, 22 states have (on average 1.6818181818181819) internal successors, (37), 20 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:36,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:36,284 INFO L93 Difference]: Finished difference Result 233 states and 289 transitions. [2022-04-28 03:58:36,285 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 03:58:36,285 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 1.6818181818181819) internal successors, (37), 20 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 43 [2022-04-28 03:58:36,285 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:58:36,285 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 1.6818181818181819) internal successors, (37), 20 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:36,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 89 transitions. [2022-04-28 03:58:36,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 1.6818181818181819) internal successors, (37), 20 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:36,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 89 transitions. [2022-04-28 03:58:36,286 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 89 transitions. [2022-04-28 03:58:36,329 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 03:58:36,331 INFO L225 Difference]: With dead ends: 233 [2022-04-28 03:58:36,331 INFO L226 Difference]: Without dead ends: 164 [2022-04-28 03:58:36,331 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 48 SyntacticMatches, 10 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 413 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=180, Invalid=876, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 03:58:36,332 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 50 mSDsluCounter, 49 mSDsCounter, 0 mSdLazyCounter, 868 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 69 SdHoareTripleChecker+Invalid, 879 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 868 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 03:58:36,332 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [51 Valid, 69 Invalid, 879 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 868 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 03:58:36,332 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-28 03:58:36,667 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 142. [2022-04-28 03:58:36,667 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:58:36,667 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:36,668 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:36,668 INFO L87 Difference]: Start difference. First operand 164 states. Second operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:36,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:36,671 INFO L93 Difference]: Finished difference Result 164 states and 198 transitions. [2022-04-28 03:58:36,671 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 198 transitions. [2022-04-28 03:58:36,671 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:58:36,671 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:58:36,671 INFO L74 IsIncluded]: Start isIncluded. First operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 164 states. [2022-04-28 03:58:36,671 INFO L87 Difference]: Start difference. First operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 164 states. [2022-04-28 03:58:36,673 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:36,673 INFO L93 Difference]: Finished difference Result 164 states and 198 transitions. [2022-04-28 03:58:36,673 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 198 transitions. [2022-04-28 03:58:36,673 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:58:36,673 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:58:36,673 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:58:36,673 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:58:36,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:36,675 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 174 transitions. [2022-04-28 03:58:36,675 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 174 transitions. Word has length 43 [2022-04-28 03:58:36,675 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:58:36,676 INFO L495 AbstractCegarLoop]: Abstraction has 142 states and 174 transitions. [2022-04-28 03:58:36,676 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 22 states have (on average 1.6818181818181819) internal successors, (37), 20 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:36,676 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 142 states and 174 transitions. [2022-04-28 03:58:36,884 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 174 edges. 174 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:58:36,884 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 174 transitions. [2022-04-28 03:58:36,884 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 03:58:36,884 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:58:36,885 INFO L195 NwaCegarLoop]: trace histogram [7, 7, 4, 3, 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 03:58:36,901 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 03:58:37,100 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable25,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:58:37,100 INFO L420 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:58:37,101 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:58:37,101 INFO L85 PathProgramCache]: Analyzing trace with hash 809300991, now seen corresponding path program 18 times [2022-04-28 03:58:37,101 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:58:37,101 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1321096137] [2022-04-28 03:58:39,564 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:58:39,686 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:58:42,222 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:58:42,321 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:58:42,322 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:58:42,324 INFO L85 PathProgramCache]: Analyzing trace with hash -933918143, now seen corresponding path program 1 times [2022-04-28 03:58:42,324 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:58:42,324 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1228085838] [2022-04-28 03:58:42,325 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:58:42,325 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:58:42,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:42,525 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:58:42,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:42,530 INFO L290 TraceCheckUtils]: 0: Hoare triple {23116#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,531 INFO L290 TraceCheckUtils]: 1: Hoare triple {23103#(<= 20 ~SIZE~0)} assume true; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,531 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {23103#(<= 20 ~SIZE~0)} {23098#true} #90#return; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,531 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:58:42,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:42,533 INFO L290 TraceCheckUtils]: 0: Hoare triple {23098#true} ~cond := #in~cond; {23098#true} is VALID [2022-04-28 03:58:42,533 INFO L290 TraceCheckUtils]: 1: Hoare triple {23098#true} assume !(0 == ~cond); {23098#true} is VALID [2022-04-28 03:58:42,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {23098#true} assume true; {23098#true} is VALID [2022-04-28 03:58:42,534 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23098#true} {23103#(<= 20 ~SIZE~0)} #86#return; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,534 INFO L272 TraceCheckUtils]: 0: Hoare triple {23098#true} call ULTIMATE.init(); {23116#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:58:42,535 INFO L290 TraceCheckUtils]: 1: Hoare triple {23116#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,535 INFO L290 TraceCheckUtils]: 2: Hoare triple {23103#(<= 20 ~SIZE~0)} assume true; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,535 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23103#(<= 20 ~SIZE~0)} {23098#true} #90#return; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,536 INFO L272 TraceCheckUtils]: 4: Hoare triple {23103#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,536 INFO L290 TraceCheckUtils]: 5: Hoare triple {23103#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,536 INFO L272 TraceCheckUtils]: 6: Hoare triple {23103#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {23098#true} is VALID [2022-04-28 03:58:42,536 INFO L290 TraceCheckUtils]: 7: Hoare triple {23098#true} ~cond := #in~cond; {23098#true} is VALID [2022-04-28 03:58:42,536 INFO L290 TraceCheckUtils]: 8: Hoare triple {23098#true} assume !(0 == ~cond); {23098#true} is VALID [2022-04-28 03:58:42,536 INFO L290 TraceCheckUtils]: 9: Hoare triple {23098#true} assume true; {23098#true} is VALID [2022-04-28 03:58:42,537 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23098#true} {23103#(<= 20 ~SIZE~0)} #86#return; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,537 INFO L290 TraceCheckUtils]: 11: Hoare triple {23103#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {23108#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:58:42,538 INFO L290 TraceCheckUtils]: 12: Hoare triple {23108#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {23109#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:58:42,538 INFO L290 TraceCheckUtils]: 13: Hoare triple {23109#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [178] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_208 v_main_~c~0_450)) (.cse1 (= |v_main_#t~post5_268| |v_main_#t~post5_266|)) (.cse2 (= v_main_~st~0_242 v_main_~st~0_241))) (or (and .cse0 (= v_main_~st~0_241 0) (< v_main_~c~0_449 (+ v_~SIZE~0_186 1)) (< v_main_~c~0_450 v_main_~c~0_449)) (and .cse1 (= v_~last~0_208 v_~last~0_208) (= v_~SIZE~0_186 v_~SIZE~0_186) (= v_main_~c~0_450 v_main_~c~0_449) .cse2) (and (or (not .cse0) (not (< v_main_~c~0_450 v_~SIZE~0_186))) .cse1 (= v_main_~c~0_449 v_main_~c~0_450) .cse2))) InVars {~SIZE~0=v_~SIZE~0_186, main_~c~0=v_main_~c~0_450, main_#t~post5=|v_main_#t~post5_268|, main_~st~0=v_main_~st~0_242, ~last~0=v_~last~0_208} OutVars{~SIZE~0=v_~SIZE~0_186, main_#t~post5=|v_main_#t~post5_266|, main_~c~0=v_main_~c~0_449, main_~st~0=v_main_~st~0_241, ~last~0=v_~last~0_208} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {23110#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:42,539 INFO L290 TraceCheckUtils]: 14: Hoare triple {23110#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [179] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {23110#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:42,539 INFO L290 TraceCheckUtils]: 15: Hoare triple {23110#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [180] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_452 v_main_~c~0_451)) (.cse1 (= |v_main_#t~post5_271| |v_main_#t~post5_267|))) (or (and (< v_main_~c~0_452 v_main_~c~0_451) (< v_main_~c~0_451 (+ v_~SIZE~0_187 1)) (< v_main_~c~0_451 (+ v_~last~0_209 1))) (and (or (not (< v_main_~c~0_452 v_~last~0_209)) (not (< v_main_~c~0_452 v_~SIZE~0_187))) .cse0 .cse1) (and (= v_~last~0_209 v_~last~0_209) (= v_~SIZE~0_187 v_~SIZE~0_187) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_187, main_~c~0=v_main_~c~0_452, main_#t~post5=|v_main_#t~post5_271|, ~last~0=v_~last~0_209} OutVars{~SIZE~0=v_~SIZE~0_187, main_#t~post5=|v_main_#t~post5_267|, main_~c~0=v_main_~c~0_451, ~last~0=v_~last~0_209} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {23110#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:42,540 INFO L290 TraceCheckUtils]: 16: Hoare triple {23110#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [177] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {23111#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:58:42,541 INFO L290 TraceCheckUtils]: 17: Hoare triple {23111#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {23112#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:42,541 INFO L290 TraceCheckUtils]: 18: Hoare triple {23112#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {23112#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:42,542 INFO L290 TraceCheckUtils]: 19: Hoare triple {23112#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {23113#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:42,542 INFO L290 TraceCheckUtils]: 20: Hoare triple {23113#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {23113#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:42,543 INFO L272 TraceCheckUtils]: 21: Hoare triple {23113#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {23114#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:58:42,543 INFO L290 TraceCheckUtils]: 22: Hoare triple {23114#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {23115#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:58:42,544 INFO L290 TraceCheckUtils]: 23: Hoare triple {23115#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {23099#false} is VALID [2022-04-28 03:58:42,544 INFO L290 TraceCheckUtils]: 24: Hoare triple {23099#false} assume !false; {23099#false} is VALID [2022-04-28 03:58:42,544 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:42,544 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:58:42,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1228085838] [2022-04-28 03:58:42,544 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1228085838] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:58:42,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1076891040] [2022-04-28 03:58:42,544 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:58:42,544 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:58:42,544 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:58:42,545 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:58:42,562 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 03:58:42,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:42,578 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:58:42,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:42,586 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:58:42,774 INFO L272 TraceCheckUtils]: 0: Hoare triple {23098#true} call ULTIMATE.init(); {23098#true} is VALID [2022-04-28 03:58:42,774 INFO L290 TraceCheckUtils]: 1: Hoare triple {23098#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,777 INFO L290 TraceCheckUtils]: 2: Hoare triple {23103#(<= 20 ~SIZE~0)} assume true; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,777 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23103#(<= 20 ~SIZE~0)} {23098#true} #90#return; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,777 INFO L272 TraceCheckUtils]: 4: Hoare triple {23103#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,777 INFO L290 TraceCheckUtils]: 5: Hoare triple {23103#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,778 INFO L272 TraceCheckUtils]: 6: Hoare triple {23103#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,778 INFO L290 TraceCheckUtils]: 7: Hoare triple {23103#(<= 20 ~SIZE~0)} ~cond := #in~cond; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,778 INFO L290 TraceCheckUtils]: 8: Hoare triple {23103#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,778 INFO L290 TraceCheckUtils]: 9: Hoare triple {23103#(<= 20 ~SIZE~0)} assume true; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,778 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23103#(<= 20 ~SIZE~0)} {23103#(<= 20 ~SIZE~0)} #86#return; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,779 INFO L290 TraceCheckUtils]: 11: Hoare triple {23103#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:42,779 INFO L290 TraceCheckUtils]: 12: Hoare triple {23103#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {23156#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:58:42,780 INFO L290 TraceCheckUtils]: 13: Hoare triple {23156#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [178] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_208 v_main_~c~0_450)) (.cse1 (= |v_main_#t~post5_268| |v_main_#t~post5_266|)) (.cse2 (= v_main_~st~0_242 v_main_~st~0_241))) (or (and .cse0 (= v_main_~st~0_241 0) (< v_main_~c~0_449 (+ v_~SIZE~0_186 1)) (< v_main_~c~0_450 v_main_~c~0_449)) (and .cse1 (= v_~last~0_208 v_~last~0_208) (= v_~SIZE~0_186 v_~SIZE~0_186) (= v_main_~c~0_450 v_main_~c~0_449) .cse2) (and (or (not .cse0) (not (< v_main_~c~0_450 v_~SIZE~0_186))) .cse1 (= v_main_~c~0_449 v_main_~c~0_450) .cse2))) InVars {~SIZE~0=v_~SIZE~0_186, main_~c~0=v_main_~c~0_450, main_#t~post5=|v_main_#t~post5_268|, main_~st~0=v_main_~st~0_242, ~last~0=v_~last~0_208} OutVars{~SIZE~0=v_~SIZE~0_186, main_#t~post5=|v_main_#t~post5_266|, main_~c~0=v_main_~c~0_449, main_~st~0=v_main_~st~0_241, ~last~0=v_~last~0_208} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {23160#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:42,780 INFO L290 TraceCheckUtils]: 14: Hoare triple {23160#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [179] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {23160#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:42,781 INFO L290 TraceCheckUtils]: 15: Hoare triple {23160#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [180] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_452 v_main_~c~0_451)) (.cse1 (= |v_main_#t~post5_271| |v_main_#t~post5_267|))) (or (and (< v_main_~c~0_452 v_main_~c~0_451) (< v_main_~c~0_451 (+ v_~SIZE~0_187 1)) (< v_main_~c~0_451 (+ v_~last~0_209 1))) (and (or (not (< v_main_~c~0_452 v_~last~0_209)) (not (< v_main_~c~0_452 v_~SIZE~0_187))) .cse0 .cse1) (and (= v_~last~0_209 v_~last~0_209) (= v_~SIZE~0_187 v_~SIZE~0_187) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_187, main_~c~0=v_main_~c~0_452, main_#t~post5=|v_main_#t~post5_271|, ~last~0=v_~last~0_209} OutVars{~SIZE~0=v_~SIZE~0_187, main_#t~post5=|v_main_#t~post5_267|, main_~c~0=v_main_~c~0_451, ~last~0=v_~last~0_209} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {23160#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:42,781 INFO L290 TraceCheckUtils]: 16: Hoare triple {23160#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [177] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {23170#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:58:42,781 INFO L290 TraceCheckUtils]: 17: Hoare triple {23170#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {23099#false} is VALID [2022-04-28 03:58:42,781 INFO L290 TraceCheckUtils]: 18: Hoare triple {23099#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {23099#false} is VALID [2022-04-28 03:58:42,781 INFO L290 TraceCheckUtils]: 19: Hoare triple {23099#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {23099#false} is VALID [2022-04-28 03:58:42,782 INFO L290 TraceCheckUtils]: 20: Hoare triple {23099#false} assume !(~d~0 == ~SIZE~0); {23099#false} is VALID [2022-04-28 03:58:42,782 INFO L272 TraceCheckUtils]: 21: Hoare triple {23099#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {23099#false} is VALID [2022-04-28 03:58:42,782 INFO L290 TraceCheckUtils]: 22: Hoare triple {23099#false} ~cond := #in~cond; {23099#false} is VALID [2022-04-28 03:58:42,782 INFO L290 TraceCheckUtils]: 23: Hoare triple {23099#false} assume 0 == ~cond; {23099#false} is VALID [2022-04-28 03:58:42,782 INFO L290 TraceCheckUtils]: 24: Hoare triple {23099#false} assume !false; {23099#false} is VALID [2022-04-28 03:58:42,782 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:42,782 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:58:43,017 INFO L290 TraceCheckUtils]: 24: Hoare triple {23099#false} assume !false; {23099#false} is VALID [2022-04-28 03:58:43,017 INFO L290 TraceCheckUtils]: 23: Hoare triple {23099#false} assume 0 == ~cond; {23099#false} is VALID [2022-04-28 03:58:43,017 INFO L290 TraceCheckUtils]: 22: Hoare triple {23099#false} ~cond := #in~cond; {23099#false} is VALID [2022-04-28 03:58:43,017 INFO L272 TraceCheckUtils]: 21: Hoare triple {23099#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {23099#false} is VALID [2022-04-28 03:58:43,018 INFO L290 TraceCheckUtils]: 20: Hoare triple {23099#false} assume !(~d~0 == ~SIZE~0); {23099#false} is VALID [2022-04-28 03:58:43,018 INFO L290 TraceCheckUtils]: 19: Hoare triple {23099#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {23099#false} is VALID [2022-04-28 03:58:43,018 INFO L290 TraceCheckUtils]: 18: Hoare triple {23099#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {23099#false} is VALID [2022-04-28 03:58:43,018 INFO L290 TraceCheckUtils]: 17: Hoare triple {23216#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {23099#false} is VALID [2022-04-28 03:58:43,018 INFO L290 TraceCheckUtils]: 16: Hoare triple {23220#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [177] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {23216#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:58:43,029 INFO L290 TraceCheckUtils]: 15: Hoare triple {23220#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [180] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_452 v_main_~c~0_451)) (.cse1 (= |v_main_#t~post5_271| |v_main_#t~post5_267|))) (or (and (< v_main_~c~0_452 v_main_~c~0_451) (< v_main_~c~0_451 (+ v_~SIZE~0_187 1)) (< v_main_~c~0_451 (+ v_~last~0_209 1))) (and (or (not (< v_main_~c~0_452 v_~last~0_209)) (not (< v_main_~c~0_452 v_~SIZE~0_187))) .cse0 .cse1) (and (= v_~last~0_209 v_~last~0_209) (= v_~SIZE~0_187 v_~SIZE~0_187) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_187, main_~c~0=v_main_~c~0_452, main_#t~post5=|v_main_#t~post5_271|, ~last~0=v_~last~0_209} OutVars{~SIZE~0=v_~SIZE~0_187, main_#t~post5=|v_main_#t~post5_267|, main_~c~0=v_main_~c~0_451, ~last~0=v_~last~0_209} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {23220#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:43,030 INFO L290 TraceCheckUtils]: 14: Hoare triple {23220#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [179] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {23220#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:43,031 INFO L290 TraceCheckUtils]: 13: Hoare triple {23230#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [178] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_208 v_main_~c~0_450)) (.cse1 (= |v_main_#t~post5_268| |v_main_#t~post5_266|)) (.cse2 (= v_main_~st~0_242 v_main_~st~0_241))) (or (and .cse0 (= v_main_~st~0_241 0) (< v_main_~c~0_449 (+ v_~SIZE~0_186 1)) (< v_main_~c~0_450 v_main_~c~0_449)) (and .cse1 (= v_~last~0_208 v_~last~0_208) (= v_~SIZE~0_186 v_~SIZE~0_186) (= v_main_~c~0_450 v_main_~c~0_449) .cse2) (and (or (not .cse0) (not (< v_main_~c~0_450 v_~SIZE~0_186))) .cse1 (= v_main_~c~0_449 v_main_~c~0_450) .cse2))) InVars {~SIZE~0=v_~SIZE~0_186, main_~c~0=v_main_~c~0_450, main_#t~post5=|v_main_#t~post5_268|, main_~st~0=v_main_~st~0_242, ~last~0=v_~last~0_208} OutVars{~SIZE~0=v_~SIZE~0_186, main_#t~post5=|v_main_#t~post5_266|, main_~c~0=v_main_~c~0_449, main_~st~0=v_main_~st~0_241, ~last~0=v_~last~0_208} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {23220#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:43,031 INFO L290 TraceCheckUtils]: 12: Hoare triple {23234#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {23230#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:58:43,031 INFO L290 TraceCheckUtils]: 11: Hoare triple {23234#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {23234#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:43,032 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23098#true} {23234#(< 1 ~SIZE~0)} #86#return; {23234#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:43,032 INFO L290 TraceCheckUtils]: 9: Hoare triple {23098#true} assume true; {23098#true} is VALID [2022-04-28 03:58:43,032 INFO L290 TraceCheckUtils]: 8: Hoare triple {23098#true} assume !(0 == ~cond); {23098#true} is VALID [2022-04-28 03:58:43,032 INFO L290 TraceCheckUtils]: 7: Hoare triple {23098#true} ~cond := #in~cond; {23098#true} is VALID [2022-04-28 03:58:43,032 INFO L272 TraceCheckUtils]: 6: Hoare triple {23234#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {23098#true} is VALID [2022-04-28 03:58:43,033 INFO L290 TraceCheckUtils]: 5: Hoare triple {23234#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {23234#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:43,033 INFO L272 TraceCheckUtils]: 4: Hoare triple {23234#(< 1 ~SIZE~0)} call #t~ret7 := main(); {23234#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:43,033 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23234#(< 1 ~SIZE~0)} {23098#true} #90#return; {23234#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:43,034 INFO L290 TraceCheckUtils]: 2: Hoare triple {23234#(< 1 ~SIZE~0)} assume true; {23234#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:43,034 INFO L290 TraceCheckUtils]: 1: Hoare triple {23098#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {23234#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:43,034 INFO L272 TraceCheckUtils]: 0: Hoare triple {23098#true} call ULTIMATE.init(); {23098#true} is VALID [2022-04-28 03:58:43,034 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:43,034 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1076891040] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:58:43,034 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:58:43,035 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:58:43,638 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:58:43,638 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1321096137] [2022-04-28 03:58:43,638 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1321096137] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:58:43,638 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:58:43,638 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 03:58:43,638 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1559955531] [2022-04-28 03:58:43,638 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:58:43,639 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 1.608695652173913) internal successors, (37), 21 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 43 [2022-04-28 03:58:43,639 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:58:43,639 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 23 states have (on average 1.608695652173913) internal successors, (37), 21 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:43,671 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 03:58:43,671 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 03:58:43,671 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:58:43,672 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 03:58:43,672 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=182, Invalid=810, Unknown=0, NotChecked=0, Total=992 [2022-04-28 03:58:43,672 INFO L87 Difference]: Start difference. First operand 142 states and 174 transitions. Second operand has 23 states, 23 states have (on average 1.608695652173913) internal successors, (37), 21 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:45,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:45,140 INFO L93 Difference]: Finished difference Result 230 states and 286 transitions. [2022-04-28 03:58:45,140 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 03:58:45,140 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 1.608695652173913) internal successors, (37), 21 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 43 [2022-04-28 03:58:45,140 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:58:45,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.608695652173913) internal successors, (37), 21 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:45,141 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 90 transitions. [2022-04-28 03:58:45,141 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.608695652173913) internal successors, (37), 21 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:45,141 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 90 transitions. [2022-04-28 03:58:45,141 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 90 transitions. [2022-04-28 03:58:45,192 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 03:58:45,193 INFO L225 Difference]: With dead ends: 230 [2022-04-28 03:58:45,194 INFO L226 Difference]: Without dead ends: 161 [2022-04-28 03:58:45,194 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 48 SyntacticMatches, 9 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 433 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=194, Invalid=928, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 03:58:45,195 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 58 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 824 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 835 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 824 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 03:58:45,195 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [59 Valid, 60 Invalid, 835 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 824 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 03:58:45,196 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-04-28 03:58:45,560 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 142. [2022-04-28 03:58:45,560 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:58:45,560 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:45,560 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:45,560 INFO L87 Difference]: Start difference. First operand 161 states. Second operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:45,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:45,562 INFO L93 Difference]: Finished difference Result 161 states and 195 transitions. [2022-04-28 03:58:45,562 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 195 transitions. [2022-04-28 03:58:45,562 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:58:45,562 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:58:45,562 INFO L74 IsIncluded]: Start isIncluded. First operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 161 states. [2022-04-28 03:58:45,563 INFO L87 Difference]: Start difference. First operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 161 states. [2022-04-28 03:58:45,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:45,570 INFO L93 Difference]: Finished difference Result 161 states and 195 transitions. [2022-04-28 03:58:45,570 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 195 transitions. [2022-04-28 03:58:45,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:58:45,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:58:45,570 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:58:45,570 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:58:45,570 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:45,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 174 transitions. [2022-04-28 03:58:45,572 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 174 transitions. Word has length 43 [2022-04-28 03:58:45,572 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:58:45,572 INFO L495 AbstractCegarLoop]: Abstraction has 142 states and 174 transitions. [2022-04-28 03:58:45,572 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 23 states have (on average 1.608695652173913) internal successors, (37), 21 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:45,572 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 142 states and 174 transitions. [2022-04-28 03:58:45,841 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 174 edges. 174 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:58:45,842 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 174 transitions. [2022-04-28 03:58:45,842 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 03:58:45,842 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:58:45,842 INFO L195 NwaCegarLoop]: trace histogram [7, 7, 4, 3, 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 03:58:45,874 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-28 03:58:46,042 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable26,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:58:46,043 INFO L420 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:58:46,043 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:58:46,043 INFO L85 PathProgramCache]: Analyzing trace with hash -8347459, now seen corresponding path program 19 times [2022-04-28 03:58:46,043 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:58:46,043 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2033502971] [2022-04-28 03:58:46,265 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:58:50,383 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:58:50,489 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:58:50,491 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:58:50,493 INFO L85 PathProgramCache]: Analyzing trace with hash 1558604609, now seen corresponding path program 1 times [2022-04-28 03:58:50,494 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:58:50,494 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [639308612] [2022-04-28 03:58:50,494 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:58:50,494 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:58:50,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:50,652 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:58:50,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:50,658 INFO L290 TraceCheckUtils]: 0: Hoare triple {24375#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:50,658 INFO L290 TraceCheckUtils]: 1: Hoare triple {24362#(<= 20 ~SIZE~0)} assume true; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:50,659 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {24362#(<= 20 ~SIZE~0)} {24357#true} #90#return; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:50,659 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:58:50,659 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:50,661 INFO L290 TraceCheckUtils]: 0: Hoare triple {24357#true} ~cond := #in~cond; {24357#true} is VALID [2022-04-28 03:58:50,661 INFO L290 TraceCheckUtils]: 1: Hoare triple {24357#true} assume !(0 == ~cond); {24357#true} is VALID [2022-04-28 03:58:50,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {24357#true} assume true; {24357#true} is VALID [2022-04-28 03:58:50,662 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24357#true} {24362#(<= 20 ~SIZE~0)} #86#return; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:50,662 INFO L272 TraceCheckUtils]: 0: Hoare triple {24357#true} call ULTIMATE.init(); {24375#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:58:50,663 INFO L290 TraceCheckUtils]: 1: Hoare triple {24375#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:50,663 INFO L290 TraceCheckUtils]: 2: Hoare triple {24362#(<= 20 ~SIZE~0)} assume true; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:50,663 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24362#(<= 20 ~SIZE~0)} {24357#true} #90#return; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:50,663 INFO L272 TraceCheckUtils]: 4: Hoare triple {24362#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:50,664 INFO L290 TraceCheckUtils]: 5: Hoare triple {24362#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:50,664 INFO L272 TraceCheckUtils]: 6: Hoare triple {24362#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {24357#true} is VALID [2022-04-28 03:58:50,664 INFO L290 TraceCheckUtils]: 7: Hoare triple {24357#true} ~cond := #in~cond; {24357#true} is VALID [2022-04-28 03:58:50,664 INFO L290 TraceCheckUtils]: 8: Hoare triple {24357#true} assume !(0 == ~cond); {24357#true} is VALID [2022-04-28 03:58:50,664 INFO L290 TraceCheckUtils]: 9: Hoare triple {24357#true} assume true; {24357#true} is VALID [2022-04-28 03:58:50,664 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24357#true} {24362#(<= 20 ~SIZE~0)} #86#return; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:50,665 INFO L290 TraceCheckUtils]: 11: Hoare triple {24362#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {24367#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:58:50,665 INFO L290 TraceCheckUtils]: 12: Hoare triple {24367#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {24368#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:58:50,666 INFO L290 TraceCheckUtils]: 13: Hoare triple {24368#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [182] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_218 v_main_~c~0_474)) (.cse1 (= v_main_~c~0_474 v_main_~c~0_473)) (.cse2 (= v_main_~st~0_255 v_main_~st~0_254))) (or (and (or (not (< v_main_~c~0_474 v_~SIZE~0_195)) (not .cse0)) .cse1 (= |v_main_#t~post5_279| |v_main_#t~post5_281|) .cse2) (and (= v_main_~st~0_254 0) .cse0 (< v_main_~c~0_474 v_main_~c~0_473) (< v_main_~c~0_473 (+ v_~SIZE~0_195 1))) (and (= |v_main_#t~post5_281| |v_main_#t~post5_279|) (= v_~last~0_218 v_~last~0_218) .cse1 .cse2 (= v_~SIZE~0_195 v_~SIZE~0_195)))) InVars {~SIZE~0=v_~SIZE~0_195, main_~c~0=v_main_~c~0_474, main_#t~post5=|v_main_#t~post5_281|, main_~st~0=v_main_~st~0_255, ~last~0=v_~last~0_218} OutVars{~SIZE~0=v_~SIZE~0_195, main_#t~post5=|v_main_#t~post5_279|, main_~c~0=v_main_~c~0_473, main_~st~0=v_main_~st~0_254, ~last~0=v_~last~0_218} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {24369#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:50,666 INFO L290 TraceCheckUtils]: 14: Hoare triple {24369#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [183] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {24369#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:50,667 INFO L290 TraceCheckUtils]: 15: Hoare triple {24369#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [184] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_476 v_main_~c~0_475)) (.cse1 (= |v_main_#t~post5_284| |v_main_#t~post5_280|))) (or (and (< v_main_~c~0_475 (+ v_~last~0_219 1)) (< v_main_~c~0_475 (+ v_~SIZE~0_196 1)) (< v_main_~c~0_476 v_main_~c~0_475)) (and .cse0 .cse1 (= v_~SIZE~0_196 v_~SIZE~0_196) (= v_~last~0_219 v_~last~0_219)) (and (or (not (< v_main_~c~0_476 v_~SIZE~0_196)) (not (< v_main_~c~0_476 v_~last~0_219))) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_196, main_~c~0=v_main_~c~0_476, main_#t~post5=|v_main_#t~post5_284|, ~last~0=v_~last~0_219} OutVars{~SIZE~0=v_~SIZE~0_196, main_#t~post5=|v_main_#t~post5_280|, main_~c~0=v_main_~c~0_475, ~last~0=v_~last~0_219} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {24369#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:50,668 INFO L290 TraceCheckUtils]: 16: Hoare triple {24369#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [181] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {24370#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:58:50,668 INFO L290 TraceCheckUtils]: 17: Hoare triple {24370#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {24371#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:50,669 INFO L290 TraceCheckUtils]: 18: Hoare triple {24371#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {24371#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:50,669 INFO L290 TraceCheckUtils]: 19: Hoare triple {24371#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {24372#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:50,670 INFO L290 TraceCheckUtils]: 20: Hoare triple {24372#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {24372#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:50,670 INFO L272 TraceCheckUtils]: 21: Hoare triple {24372#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {24373#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:58:50,671 INFO L290 TraceCheckUtils]: 22: Hoare triple {24373#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {24374#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:58:50,671 INFO L290 TraceCheckUtils]: 23: Hoare triple {24374#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {24358#false} is VALID [2022-04-28 03:58:50,671 INFO L290 TraceCheckUtils]: 24: Hoare triple {24358#false} assume !false; {24358#false} is VALID [2022-04-28 03:58:50,671 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:50,671 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:58:50,671 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [639308612] [2022-04-28 03:58:50,672 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [639308612] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:58:50,672 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [438227801] [2022-04-28 03:58:50,672 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:58:50,672 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:58:50,672 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:58:50,673 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:58:50,673 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 03:58:50,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:50,704 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:58:50,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:50,711 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:58:51,000 INFO L272 TraceCheckUtils]: 0: Hoare triple {24357#true} call ULTIMATE.init(); {24357#true} is VALID [2022-04-28 03:58:51,001 INFO L290 TraceCheckUtils]: 1: Hoare triple {24357#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:51,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {24362#(<= 20 ~SIZE~0)} assume true; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:51,001 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24362#(<= 20 ~SIZE~0)} {24357#true} #90#return; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:51,002 INFO L272 TraceCheckUtils]: 4: Hoare triple {24362#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:51,002 INFO L290 TraceCheckUtils]: 5: Hoare triple {24362#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:51,002 INFO L272 TraceCheckUtils]: 6: Hoare triple {24362#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:51,003 INFO L290 TraceCheckUtils]: 7: Hoare triple {24362#(<= 20 ~SIZE~0)} ~cond := #in~cond; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:51,003 INFO L290 TraceCheckUtils]: 8: Hoare triple {24362#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:51,003 INFO L290 TraceCheckUtils]: 9: Hoare triple {24362#(<= 20 ~SIZE~0)} assume true; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:51,004 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24362#(<= 20 ~SIZE~0)} {24362#(<= 20 ~SIZE~0)} #86#return; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:51,004 INFO L290 TraceCheckUtils]: 11: Hoare triple {24362#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:51,004 INFO L290 TraceCheckUtils]: 12: Hoare triple {24362#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {24415#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:58:51,005 INFO L290 TraceCheckUtils]: 13: Hoare triple {24415#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [182] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_218 v_main_~c~0_474)) (.cse1 (= v_main_~c~0_474 v_main_~c~0_473)) (.cse2 (= v_main_~st~0_255 v_main_~st~0_254))) (or (and (or (not (< v_main_~c~0_474 v_~SIZE~0_195)) (not .cse0)) .cse1 (= |v_main_#t~post5_279| |v_main_#t~post5_281|) .cse2) (and (= v_main_~st~0_254 0) .cse0 (< v_main_~c~0_474 v_main_~c~0_473) (< v_main_~c~0_473 (+ v_~SIZE~0_195 1))) (and (= |v_main_#t~post5_281| |v_main_#t~post5_279|) (= v_~last~0_218 v_~last~0_218) .cse1 .cse2 (= v_~SIZE~0_195 v_~SIZE~0_195)))) InVars {~SIZE~0=v_~SIZE~0_195, main_~c~0=v_main_~c~0_474, main_#t~post5=|v_main_#t~post5_281|, main_~st~0=v_main_~st~0_255, ~last~0=v_~last~0_218} OutVars{~SIZE~0=v_~SIZE~0_195, main_#t~post5=|v_main_#t~post5_279|, main_~c~0=v_main_~c~0_473, main_~st~0=v_main_~st~0_254, ~last~0=v_~last~0_218} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {24419#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:51,006 INFO L290 TraceCheckUtils]: 14: Hoare triple {24419#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [183] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {24419#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:51,006 INFO L290 TraceCheckUtils]: 15: Hoare triple {24419#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [184] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_476 v_main_~c~0_475)) (.cse1 (= |v_main_#t~post5_284| |v_main_#t~post5_280|))) (or (and (< v_main_~c~0_475 (+ v_~last~0_219 1)) (< v_main_~c~0_475 (+ v_~SIZE~0_196 1)) (< v_main_~c~0_476 v_main_~c~0_475)) (and .cse0 .cse1 (= v_~SIZE~0_196 v_~SIZE~0_196) (= v_~last~0_219 v_~last~0_219)) (and (or (not (< v_main_~c~0_476 v_~SIZE~0_196)) (not (< v_main_~c~0_476 v_~last~0_219))) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_196, main_~c~0=v_main_~c~0_476, main_#t~post5=|v_main_#t~post5_284|, ~last~0=v_~last~0_219} OutVars{~SIZE~0=v_~SIZE~0_196, main_#t~post5=|v_main_#t~post5_280|, main_~c~0=v_main_~c~0_475, ~last~0=v_~last~0_219} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {24419#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:51,007 INFO L290 TraceCheckUtils]: 16: Hoare triple {24419#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [181] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {24429#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:58:51,007 INFO L290 TraceCheckUtils]: 17: Hoare triple {24429#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {24358#false} is VALID [2022-04-28 03:58:51,007 INFO L290 TraceCheckUtils]: 18: Hoare triple {24358#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {24358#false} is VALID [2022-04-28 03:58:51,007 INFO L290 TraceCheckUtils]: 19: Hoare triple {24358#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {24358#false} is VALID [2022-04-28 03:58:51,007 INFO L290 TraceCheckUtils]: 20: Hoare triple {24358#false} assume !(~d~0 == ~SIZE~0); {24358#false} is VALID [2022-04-28 03:58:51,008 INFO L272 TraceCheckUtils]: 21: Hoare triple {24358#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {24358#false} is VALID [2022-04-28 03:58:51,008 INFO L290 TraceCheckUtils]: 22: Hoare triple {24358#false} ~cond := #in~cond; {24358#false} is VALID [2022-04-28 03:58:51,008 INFO L290 TraceCheckUtils]: 23: Hoare triple {24358#false} assume 0 == ~cond; {24358#false} is VALID [2022-04-28 03:58:51,008 INFO L290 TraceCheckUtils]: 24: Hoare triple {24358#false} assume !false; {24358#false} is VALID [2022-04-28 03:58:51,008 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:51,008 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:58:51,312 INFO L290 TraceCheckUtils]: 24: Hoare triple {24358#false} assume !false; {24358#false} is VALID [2022-04-28 03:58:51,312 INFO L290 TraceCheckUtils]: 23: Hoare triple {24358#false} assume 0 == ~cond; {24358#false} is VALID [2022-04-28 03:58:51,312 INFO L290 TraceCheckUtils]: 22: Hoare triple {24358#false} ~cond := #in~cond; {24358#false} is VALID [2022-04-28 03:58:51,312 INFO L272 TraceCheckUtils]: 21: Hoare triple {24358#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {24358#false} is VALID [2022-04-28 03:58:51,313 INFO L290 TraceCheckUtils]: 20: Hoare triple {24358#false} assume !(~d~0 == ~SIZE~0); {24358#false} is VALID [2022-04-28 03:58:51,313 INFO L290 TraceCheckUtils]: 19: Hoare triple {24358#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {24358#false} is VALID [2022-04-28 03:58:51,313 INFO L290 TraceCheckUtils]: 18: Hoare triple {24358#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {24358#false} is VALID [2022-04-28 03:58:51,313 INFO L290 TraceCheckUtils]: 17: Hoare triple {24475#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {24358#false} is VALID [2022-04-28 03:58:51,313 INFO L290 TraceCheckUtils]: 16: Hoare triple {24479#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [181] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {24475#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:58:51,314 INFO L290 TraceCheckUtils]: 15: Hoare triple {24479#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [184] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_476 v_main_~c~0_475)) (.cse1 (= |v_main_#t~post5_284| |v_main_#t~post5_280|))) (or (and (< v_main_~c~0_475 (+ v_~last~0_219 1)) (< v_main_~c~0_475 (+ v_~SIZE~0_196 1)) (< v_main_~c~0_476 v_main_~c~0_475)) (and .cse0 .cse1 (= v_~SIZE~0_196 v_~SIZE~0_196) (= v_~last~0_219 v_~last~0_219)) (and (or (not (< v_main_~c~0_476 v_~SIZE~0_196)) (not (< v_main_~c~0_476 v_~last~0_219))) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_196, main_~c~0=v_main_~c~0_476, main_#t~post5=|v_main_#t~post5_284|, ~last~0=v_~last~0_219} OutVars{~SIZE~0=v_~SIZE~0_196, main_#t~post5=|v_main_#t~post5_280|, main_~c~0=v_main_~c~0_475, ~last~0=v_~last~0_219} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {24479#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:51,314 INFO L290 TraceCheckUtils]: 14: Hoare triple {24479#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [183] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {24479#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:51,315 INFO L290 TraceCheckUtils]: 13: Hoare triple {24489#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [182] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_218 v_main_~c~0_474)) (.cse1 (= v_main_~c~0_474 v_main_~c~0_473)) (.cse2 (= v_main_~st~0_255 v_main_~st~0_254))) (or (and (or (not (< v_main_~c~0_474 v_~SIZE~0_195)) (not .cse0)) .cse1 (= |v_main_#t~post5_279| |v_main_#t~post5_281|) .cse2) (and (= v_main_~st~0_254 0) .cse0 (< v_main_~c~0_474 v_main_~c~0_473) (< v_main_~c~0_473 (+ v_~SIZE~0_195 1))) (and (= |v_main_#t~post5_281| |v_main_#t~post5_279|) (= v_~last~0_218 v_~last~0_218) .cse1 .cse2 (= v_~SIZE~0_195 v_~SIZE~0_195)))) InVars {~SIZE~0=v_~SIZE~0_195, main_~c~0=v_main_~c~0_474, main_#t~post5=|v_main_#t~post5_281|, main_~st~0=v_main_~st~0_255, ~last~0=v_~last~0_218} OutVars{~SIZE~0=v_~SIZE~0_195, main_#t~post5=|v_main_#t~post5_279|, main_~c~0=v_main_~c~0_473, main_~st~0=v_main_~st~0_254, ~last~0=v_~last~0_218} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {24479#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:51,315 INFO L290 TraceCheckUtils]: 12: Hoare triple {24493#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {24489#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:58:51,315 INFO L290 TraceCheckUtils]: 11: Hoare triple {24493#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {24493#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:51,315 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24357#true} {24493#(< 1 ~SIZE~0)} #86#return; {24493#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:51,315 INFO L290 TraceCheckUtils]: 9: Hoare triple {24357#true} assume true; {24357#true} is VALID [2022-04-28 03:58:51,316 INFO L290 TraceCheckUtils]: 8: Hoare triple {24357#true} assume !(0 == ~cond); {24357#true} is VALID [2022-04-28 03:58:51,316 INFO L290 TraceCheckUtils]: 7: Hoare triple {24357#true} ~cond := #in~cond; {24357#true} is VALID [2022-04-28 03:58:51,316 INFO L272 TraceCheckUtils]: 6: Hoare triple {24493#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {24357#true} is VALID [2022-04-28 03:58:51,316 INFO L290 TraceCheckUtils]: 5: Hoare triple {24493#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {24493#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:51,316 INFO L272 TraceCheckUtils]: 4: Hoare triple {24493#(< 1 ~SIZE~0)} call #t~ret7 := main(); {24493#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:51,316 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24493#(< 1 ~SIZE~0)} {24357#true} #90#return; {24493#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:51,317 INFO L290 TraceCheckUtils]: 2: Hoare triple {24493#(< 1 ~SIZE~0)} assume true; {24493#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:51,317 INFO L290 TraceCheckUtils]: 1: Hoare triple {24357#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {24493#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:51,317 INFO L272 TraceCheckUtils]: 0: Hoare triple {24357#true} call ULTIMATE.init(); {24357#true} is VALID [2022-04-28 03:58:51,317 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:51,317 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [438227801] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:58:51,317 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:58:51,317 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:58:51,862 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:58:51,862 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2033502971] [2022-04-28 03:58:51,862 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2033502971] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:58:51,862 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:58:51,862 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [24] imperfect sequences [] total 24 [2022-04-28 03:58:51,862 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [78669729] [2022-04-28 03:58:51,862 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:58:51,863 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 1.5416666666666667) internal successors, (37), 22 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 43 [2022-04-28 03:58:51,863 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:58:51,863 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 24 states, 24 states have (on average 1.5416666666666667) internal successors, (37), 22 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:51,883 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 03:58:51,883 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-28 03:58:51,884 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:58:51,884 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-28 03:58:51,884 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=196, Invalid=860, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 03:58:51,884 INFO L87 Difference]: Start difference. First operand 142 states and 174 transitions. Second operand has 24 states, 24 states have (on average 1.5416666666666667) internal successors, (37), 22 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:53,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:53,404 INFO L93 Difference]: Finished difference Result 227 states and 283 transitions. [2022-04-28 03:58:53,404 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-28 03:58:53,404 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 1.5416666666666667) internal successors, (37), 22 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 43 [2022-04-28 03:58:53,404 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:58:53,404 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 1.5416666666666667) internal successors, (37), 22 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:53,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 91 transitions. [2022-04-28 03:58:53,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 1.5416666666666667) internal successors, (37), 22 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:53,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 91 transitions. [2022-04-28 03:58:53,406 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 91 transitions. [2022-04-28 03:58:53,446 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:58:53,448 INFO L225 Difference]: With dead ends: 227 [2022-04-28 03:58:53,448 INFO L226 Difference]: Without dead ends: 158 [2022-04-28 03:58:53,448 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 48 SyntacticMatches, 8 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 444 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=208, Invalid=982, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 03:58:53,448 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 56 mSDsluCounter, 46 mSDsCounter, 0 mSdLazyCounter, 968 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 57 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 979 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 968 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 03:58:53,448 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [57 Valid, 66 Invalid, 979 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 968 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 03:58:53,449 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 158 states. [2022-04-28 03:58:53,783 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 158 to 142. [2022-04-28 03:58:53,784 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:58:53,784 INFO L82 GeneralOperation]: Start isEquivalent. First operand 158 states. Second operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:53,784 INFO L74 IsIncluded]: Start isIncluded. First operand 158 states. Second operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:53,784 INFO L87 Difference]: Start difference. First operand 158 states. Second operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:53,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:53,786 INFO L93 Difference]: Finished difference Result 158 states and 192 transitions. [2022-04-28 03:58:53,786 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 192 transitions. [2022-04-28 03:58:53,786 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:58:53,786 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:58:53,786 INFO L74 IsIncluded]: Start isIncluded. First operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 158 states. [2022-04-28 03:58:53,786 INFO L87 Difference]: Start difference. First operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 158 states. [2022-04-28 03:58:53,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:53,788 INFO L93 Difference]: Finished difference Result 158 states and 192 transitions. [2022-04-28 03:58:53,788 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 192 transitions. [2022-04-28 03:58:53,788 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:58:53,788 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:58:53,788 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:58:53,788 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:58:53,788 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:53,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 174 transitions. [2022-04-28 03:58:53,790 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 174 transitions. Word has length 43 [2022-04-28 03:58:53,790 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:58:53,790 INFO L495 AbstractCegarLoop]: Abstraction has 142 states and 174 transitions. [2022-04-28 03:58:53,790 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 24 states, 24 states have (on average 1.5416666666666667) internal successors, (37), 22 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:53,790 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 142 states and 174 transitions. [2022-04-28 03:58:54,036 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 174 edges. 174 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:58:54,036 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 174 transitions. [2022-04-28 03:58:54,036 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 03:58:54,036 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:58:54,036 INFO L195 NwaCegarLoop]: trace histogram [7, 7, 5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:58:54,053 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Ended with exit code 0 [2022-04-28 03:58:54,252 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-04-28 03:58:54,253 INFO L420 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:58:54,253 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:58:54,253 INFO L85 PathProgramCache]: Analyzing trace with hash -1596695361, now seen corresponding path program 20 times [2022-04-28 03:58:54,253 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:58:54,253 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1685962475] [2022-04-28 03:58:54,454 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:58:54,682 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:58:54,683 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:58:54,686 INFO L85 PathProgramCache]: Analyzing trace with hash -243839935, now seen corresponding path program 1 times [2022-04-28 03:58:54,686 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:58:54,686 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1610859328] [2022-04-28 03:58:54,686 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:58:54,686 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:58:54,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:54,846 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:58:54,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:54,855 INFO L290 TraceCheckUtils]: 0: Hoare triple {25623#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:54,855 INFO L290 TraceCheckUtils]: 1: Hoare triple {25610#(<= 20 ~SIZE~0)} assume true; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:54,855 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {25610#(<= 20 ~SIZE~0)} {25605#true} #90#return; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:54,855 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:58:54,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:54,858 INFO L290 TraceCheckUtils]: 0: Hoare triple {25605#true} ~cond := #in~cond; {25605#true} is VALID [2022-04-28 03:58:54,858 INFO L290 TraceCheckUtils]: 1: Hoare triple {25605#true} assume !(0 == ~cond); {25605#true} is VALID [2022-04-28 03:58:54,858 INFO L290 TraceCheckUtils]: 2: Hoare triple {25605#true} assume true; {25605#true} is VALID [2022-04-28 03:58:54,858 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25605#true} {25610#(<= 20 ~SIZE~0)} #86#return; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:54,859 INFO L272 TraceCheckUtils]: 0: Hoare triple {25605#true} call ULTIMATE.init(); {25623#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:58:54,859 INFO L290 TraceCheckUtils]: 1: Hoare triple {25623#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:54,860 INFO L290 TraceCheckUtils]: 2: Hoare triple {25610#(<= 20 ~SIZE~0)} assume true; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:54,860 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25610#(<= 20 ~SIZE~0)} {25605#true} #90#return; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:54,860 INFO L272 TraceCheckUtils]: 4: Hoare triple {25610#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:54,861 INFO L290 TraceCheckUtils]: 5: Hoare triple {25610#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:54,861 INFO L272 TraceCheckUtils]: 6: Hoare triple {25610#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {25605#true} is VALID [2022-04-28 03:58:54,861 INFO L290 TraceCheckUtils]: 7: Hoare triple {25605#true} ~cond := #in~cond; {25605#true} is VALID [2022-04-28 03:58:54,861 INFO L290 TraceCheckUtils]: 8: Hoare triple {25605#true} assume !(0 == ~cond); {25605#true} is VALID [2022-04-28 03:58:54,861 INFO L290 TraceCheckUtils]: 9: Hoare triple {25605#true} assume true; {25605#true} is VALID [2022-04-28 03:58:54,861 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25605#true} {25610#(<= 20 ~SIZE~0)} #86#return; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:54,862 INFO L290 TraceCheckUtils]: 11: Hoare triple {25610#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {25615#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:58:54,862 INFO L290 TraceCheckUtils]: 12: Hoare triple {25615#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {25616#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:58:54,863 INFO L290 TraceCheckUtils]: 13: Hoare triple {25616#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [186] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_498 v_main_~c~0_497)) (.cse1 (= v_main_~st~0_267 v_main_~st~0_266)) (.cse2 (= |v_main_#t~post5_294| |v_main_#t~post5_292|)) (.cse3 (<= v_~last~0_228 v_main_~c~0_498))) (or (and (= v_~last~0_228 v_~last~0_228) (= v_~SIZE~0_204 v_~SIZE~0_204) .cse0 .cse1 .cse2) (and .cse0 (or (not .cse3) (not (< v_main_~c~0_498 v_~SIZE~0_204))) .cse1 .cse2) (and (< v_main_~c~0_498 v_main_~c~0_497) (< v_main_~c~0_497 (+ v_~SIZE~0_204 1)) (= v_main_~st~0_266 0) .cse3))) InVars {~SIZE~0=v_~SIZE~0_204, main_~c~0=v_main_~c~0_498, main_#t~post5=|v_main_#t~post5_294|, main_~st~0=v_main_~st~0_267, ~last~0=v_~last~0_228} OutVars{~SIZE~0=v_~SIZE~0_204, main_#t~post5=|v_main_#t~post5_292|, main_~c~0=v_main_~c~0_497, main_~st~0=v_main_~st~0_266, ~last~0=v_~last~0_228} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {25617#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:54,863 INFO L290 TraceCheckUtils]: 14: Hoare triple {25617#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [187] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {25617#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:54,864 INFO L290 TraceCheckUtils]: 15: Hoare triple {25617#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [188] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_297| |v_main_#t~post5_293|)) (.cse1 (= v_main_~c~0_500 v_main_~c~0_499))) (or (and (< v_main_~c~0_499 (+ v_~last~0_229 1)) (< v_main_~c~0_500 v_main_~c~0_499) (< v_main_~c~0_499 (+ v_~SIZE~0_205 1))) (and .cse0 (or (not (< v_main_~c~0_500 v_~SIZE~0_205)) (not (< v_main_~c~0_500 v_~last~0_229))) .cse1) (and .cse0 (= v_~last~0_229 v_~last~0_229) (= v_~SIZE~0_205 v_~SIZE~0_205) .cse1))) InVars {~SIZE~0=v_~SIZE~0_205, main_~c~0=v_main_~c~0_500, main_#t~post5=|v_main_#t~post5_297|, ~last~0=v_~last~0_229} OutVars{~SIZE~0=v_~SIZE~0_205, main_#t~post5=|v_main_#t~post5_293|, main_~c~0=v_main_~c~0_499, ~last~0=v_~last~0_229} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {25617#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:58:54,865 INFO L290 TraceCheckUtils]: 16: Hoare triple {25617#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [185] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {25618#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:58:54,865 INFO L290 TraceCheckUtils]: 17: Hoare triple {25618#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {25619#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:54,866 INFO L290 TraceCheckUtils]: 18: Hoare triple {25619#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {25619#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:54,866 INFO L290 TraceCheckUtils]: 19: Hoare triple {25619#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {25620#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:54,867 INFO L290 TraceCheckUtils]: 20: Hoare triple {25620#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {25620#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:58:54,867 INFO L272 TraceCheckUtils]: 21: Hoare triple {25620#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {25621#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:58:54,868 INFO L290 TraceCheckUtils]: 22: Hoare triple {25621#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {25622#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:58:54,868 INFO L290 TraceCheckUtils]: 23: Hoare triple {25622#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {25606#false} is VALID [2022-04-28 03:58:54,868 INFO L290 TraceCheckUtils]: 24: Hoare triple {25606#false} assume !false; {25606#false} is VALID [2022-04-28 03:58:54,868 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:54,868 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:58:54,869 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1610859328] [2022-04-28 03:58:54,869 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1610859328] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:58:54,869 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1517271871] [2022-04-28 03:58:54,869 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:58:54,869 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:58:54,869 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:58:54,870 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:58:54,871 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 03:58:54,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:54,904 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:58:54,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:58:54,913 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:58:55,205 INFO L272 TraceCheckUtils]: 0: Hoare triple {25605#true} call ULTIMATE.init(); {25605#true} is VALID [2022-04-28 03:58:55,205 INFO L290 TraceCheckUtils]: 1: Hoare triple {25605#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:55,206 INFO L290 TraceCheckUtils]: 2: Hoare triple {25610#(<= 20 ~SIZE~0)} assume true; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:55,206 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25610#(<= 20 ~SIZE~0)} {25605#true} #90#return; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:55,206 INFO L272 TraceCheckUtils]: 4: Hoare triple {25610#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:55,207 INFO L290 TraceCheckUtils]: 5: Hoare triple {25610#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:55,207 INFO L272 TraceCheckUtils]: 6: Hoare triple {25610#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:55,207 INFO L290 TraceCheckUtils]: 7: Hoare triple {25610#(<= 20 ~SIZE~0)} ~cond := #in~cond; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:55,208 INFO L290 TraceCheckUtils]: 8: Hoare triple {25610#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:55,208 INFO L290 TraceCheckUtils]: 9: Hoare triple {25610#(<= 20 ~SIZE~0)} assume true; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:55,208 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25610#(<= 20 ~SIZE~0)} {25610#(<= 20 ~SIZE~0)} #86#return; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:55,209 INFO L290 TraceCheckUtils]: 11: Hoare triple {25610#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:58:55,209 INFO L290 TraceCheckUtils]: 12: Hoare triple {25610#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {25663#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:58:55,210 INFO L290 TraceCheckUtils]: 13: Hoare triple {25663#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [186] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_498 v_main_~c~0_497)) (.cse1 (= v_main_~st~0_267 v_main_~st~0_266)) (.cse2 (= |v_main_#t~post5_294| |v_main_#t~post5_292|)) (.cse3 (<= v_~last~0_228 v_main_~c~0_498))) (or (and (= v_~last~0_228 v_~last~0_228) (= v_~SIZE~0_204 v_~SIZE~0_204) .cse0 .cse1 .cse2) (and .cse0 (or (not .cse3) (not (< v_main_~c~0_498 v_~SIZE~0_204))) .cse1 .cse2) (and (< v_main_~c~0_498 v_main_~c~0_497) (< v_main_~c~0_497 (+ v_~SIZE~0_204 1)) (= v_main_~st~0_266 0) .cse3))) InVars {~SIZE~0=v_~SIZE~0_204, main_~c~0=v_main_~c~0_498, main_#t~post5=|v_main_#t~post5_294|, main_~st~0=v_main_~st~0_267, ~last~0=v_~last~0_228} OutVars{~SIZE~0=v_~SIZE~0_204, main_#t~post5=|v_main_#t~post5_292|, main_~c~0=v_main_~c~0_497, main_~st~0=v_main_~st~0_266, ~last~0=v_~last~0_228} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {25667#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:55,210 INFO L290 TraceCheckUtils]: 14: Hoare triple {25667#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [187] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {25667#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:55,211 INFO L290 TraceCheckUtils]: 15: Hoare triple {25667#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [188] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_297| |v_main_#t~post5_293|)) (.cse1 (= v_main_~c~0_500 v_main_~c~0_499))) (or (and (< v_main_~c~0_499 (+ v_~last~0_229 1)) (< v_main_~c~0_500 v_main_~c~0_499) (< v_main_~c~0_499 (+ v_~SIZE~0_205 1))) (and .cse0 (or (not (< v_main_~c~0_500 v_~SIZE~0_205)) (not (< v_main_~c~0_500 v_~last~0_229))) .cse1) (and .cse0 (= v_~last~0_229 v_~last~0_229) (= v_~SIZE~0_205 v_~SIZE~0_205) .cse1))) InVars {~SIZE~0=v_~SIZE~0_205, main_~c~0=v_main_~c~0_500, main_#t~post5=|v_main_#t~post5_297|, ~last~0=v_~last~0_229} OutVars{~SIZE~0=v_~SIZE~0_205, main_#t~post5=|v_main_#t~post5_293|, main_~c~0=v_main_~c~0_499, ~last~0=v_~last~0_229} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {25667#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:58:55,212 INFO L290 TraceCheckUtils]: 16: Hoare triple {25667#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [185] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {25677#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:58:55,212 INFO L290 TraceCheckUtils]: 17: Hoare triple {25677#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {25606#false} is VALID [2022-04-28 03:58:55,212 INFO L290 TraceCheckUtils]: 18: Hoare triple {25606#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {25606#false} is VALID [2022-04-28 03:58:55,212 INFO L290 TraceCheckUtils]: 19: Hoare triple {25606#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {25606#false} is VALID [2022-04-28 03:58:55,212 INFO L290 TraceCheckUtils]: 20: Hoare triple {25606#false} assume !(~d~0 == ~SIZE~0); {25606#false} is VALID [2022-04-28 03:58:55,212 INFO L272 TraceCheckUtils]: 21: Hoare triple {25606#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {25606#false} is VALID [2022-04-28 03:58:55,212 INFO L290 TraceCheckUtils]: 22: Hoare triple {25606#false} ~cond := #in~cond; {25606#false} is VALID [2022-04-28 03:58:55,212 INFO L290 TraceCheckUtils]: 23: Hoare triple {25606#false} assume 0 == ~cond; {25606#false} is VALID [2022-04-28 03:58:55,213 INFO L290 TraceCheckUtils]: 24: Hoare triple {25606#false} assume !false; {25606#false} is VALID [2022-04-28 03:58:55,213 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:55,213 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:58:55,541 INFO L290 TraceCheckUtils]: 24: Hoare triple {25606#false} assume !false; {25606#false} is VALID [2022-04-28 03:58:55,541 INFO L290 TraceCheckUtils]: 23: Hoare triple {25606#false} assume 0 == ~cond; {25606#false} is VALID [2022-04-28 03:58:55,542 INFO L290 TraceCheckUtils]: 22: Hoare triple {25606#false} ~cond := #in~cond; {25606#false} is VALID [2022-04-28 03:58:55,542 INFO L272 TraceCheckUtils]: 21: Hoare triple {25606#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {25606#false} is VALID [2022-04-28 03:58:55,542 INFO L290 TraceCheckUtils]: 20: Hoare triple {25606#false} assume !(~d~0 == ~SIZE~0); {25606#false} is VALID [2022-04-28 03:58:55,542 INFO L290 TraceCheckUtils]: 19: Hoare triple {25606#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {25606#false} is VALID [2022-04-28 03:58:55,542 INFO L290 TraceCheckUtils]: 18: Hoare triple {25606#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {25606#false} is VALID [2022-04-28 03:58:55,542 INFO L290 TraceCheckUtils]: 17: Hoare triple {25723#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {25606#false} is VALID [2022-04-28 03:58:55,543 INFO L290 TraceCheckUtils]: 16: Hoare triple {25727#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [185] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {25723#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:58:55,543 INFO L290 TraceCheckUtils]: 15: Hoare triple {25727#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [188] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_297| |v_main_#t~post5_293|)) (.cse1 (= v_main_~c~0_500 v_main_~c~0_499))) (or (and (< v_main_~c~0_499 (+ v_~last~0_229 1)) (< v_main_~c~0_500 v_main_~c~0_499) (< v_main_~c~0_499 (+ v_~SIZE~0_205 1))) (and .cse0 (or (not (< v_main_~c~0_500 v_~SIZE~0_205)) (not (< v_main_~c~0_500 v_~last~0_229))) .cse1) (and .cse0 (= v_~last~0_229 v_~last~0_229) (= v_~SIZE~0_205 v_~SIZE~0_205) .cse1))) InVars {~SIZE~0=v_~SIZE~0_205, main_~c~0=v_main_~c~0_500, main_#t~post5=|v_main_#t~post5_297|, ~last~0=v_~last~0_229} OutVars{~SIZE~0=v_~SIZE~0_205, main_#t~post5=|v_main_#t~post5_293|, main_~c~0=v_main_~c~0_499, ~last~0=v_~last~0_229} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {25727#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:55,543 INFO L290 TraceCheckUtils]: 14: Hoare triple {25727#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [187] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {25727#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:55,544 INFO L290 TraceCheckUtils]: 13: Hoare triple {25737#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [186] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_498 v_main_~c~0_497)) (.cse1 (= v_main_~st~0_267 v_main_~st~0_266)) (.cse2 (= |v_main_#t~post5_294| |v_main_#t~post5_292|)) (.cse3 (<= v_~last~0_228 v_main_~c~0_498))) (or (and (= v_~last~0_228 v_~last~0_228) (= v_~SIZE~0_204 v_~SIZE~0_204) .cse0 .cse1 .cse2) (and .cse0 (or (not .cse3) (not (< v_main_~c~0_498 v_~SIZE~0_204))) .cse1 .cse2) (and (< v_main_~c~0_498 v_main_~c~0_497) (< v_main_~c~0_497 (+ v_~SIZE~0_204 1)) (= v_main_~st~0_266 0) .cse3))) InVars {~SIZE~0=v_~SIZE~0_204, main_~c~0=v_main_~c~0_498, main_#t~post5=|v_main_#t~post5_294|, main_~st~0=v_main_~st~0_267, ~last~0=v_~last~0_228} OutVars{~SIZE~0=v_~SIZE~0_204, main_#t~post5=|v_main_#t~post5_292|, main_~c~0=v_main_~c~0_497, main_~st~0=v_main_~st~0_266, ~last~0=v_~last~0_228} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {25727#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:58:55,544 INFO L290 TraceCheckUtils]: 12: Hoare triple {25741#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {25737#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:58:55,544 INFO L290 TraceCheckUtils]: 11: Hoare triple {25741#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {25741#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:55,545 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25605#true} {25741#(< 1 ~SIZE~0)} #86#return; {25741#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:55,545 INFO L290 TraceCheckUtils]: 9: Hoare triple {25605#true} assume true; {25605#true} is VALID [2022-04-28 03:58:55,545 INFO L290 TraceCheckUtils]: 8: Hoare triple {25605#true} assume !(0 == ~cond); {25605#true} is VALID [2022-04-28 03:58:55,545 INFO L290 TraceCheckUtils]: 7: Hoare triple {25605#true} ~cond := #in~cond; {25605#true} is VALID [2022-04-28 03:58:55,545 INFO L272 TraceCheckUtils]: 6: Hoare triple {25741#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {25605#true} is VALID [2022-04-28 03:58:55,545 INFO L290 TraceCheckUtils]: 5: Hoare triple {25741#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {25741#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:55,546 INFO L272 TraceCheckUtils]: 4: Hoare triple {25741#(< 1 ~SIZE~0)} call #t~ret7 := main(); {25741#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:55,546 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25741#(< 1 ~SIZE~0)} {25605#true} #90#return; {25741#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:55,546 INFO L290 TraceCheckUtils]: 2: Hoare triple {25741#(< 1 ~SIZE~0)} assume true; {25741#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:55,547 INFO L290 TraceCheckUtils]: 1: Hoare triple {25605#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {25741#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:58:55,547 INFO L272 TraceCheckUtils]: 0: Hoare triple {25605#true} call ULTIMATE.init(); {25605#true} is VALID [2022-04-28 03:58:55,547 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:58:55,547 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1517271871] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:58:55,547 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:58:55,547 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:58:56,034 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:58:56,034 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1685962475] [2022-04-28 03:58:56,034 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1685962475] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:58:56,034 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:58:56,034 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-28 03:58:56,034 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2094081510] [2022-04-28 03:58:56,034 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:58:56,035 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 43 [2022-04-28 03:58:56,035 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:58:56,035 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:56,057 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 03:58:56,057 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-28 03:58:56,057 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:58:56,058 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-28 03:58:56,058 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=210, Invalid=912, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 03:58:56,058 INFO L87 Difference]: Start difference. First operand 142 states and 174 transitions. Second operand has 25 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:57,277 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:57,277 INFO L93 Difference]: Finished difference Result 225 states and 281 transitions. [2022-04-28 03:58:57,277 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-28 03:58:57,277 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 43 [2022-04-28 03:58:57,277 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:58:57,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:57,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 92 transitions. [2022-04-28 03:58:57,278 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:57,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 92 transitions. [2022-04-28 03:58:57,279 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 92 transitions. [2022-04-28 03:58:57,322 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:58:57,324 INFO L225 Difference]: With dead ends: 225 [2022-04-28 03:58:57,324 INFO L226 Difference]: Without dead ends: 156 [2022-04-28 03:58:57,324 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 48 SyntacticMatches, 7 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 446 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=222, Invalid=1038, Unknown=0, NotChecked=0, Total=1260 [2022-04-28 03:58:57,325 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 52 mSDsluCounter, 48 mSDsCounter, 0 mSdLazyCounter, 885 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 68 SdHoareTripleChecker+Invalid, 895 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 885 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 03:58:57,325 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [53 Valid, 68 Invalid, 895 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 885 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 03:58:57,325 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2022-04-28 03:58:57,665 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 142. [2022-04-28 03:58:57,666 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:58:57,666 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:57,666 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:57,666 INFO L87 Difference]: Start difference. First operand 156 states. Second operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:57,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:57,668 INFO L93 Difference]: Finished difference Result 156 states and 190 transitions. [2022-04-28 03:58:57,668 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 190 transitions. [2022-04-28 03:58:57,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:58:57,668 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:58:57,668 INFO L74 IsIncluded]: Start isIncluded. First operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 156 states. [2022-04-28 03:58:57,668 INFO L87 Difference]: Start difference. First operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 156 states. [2022-04-28 03:58:57,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:58:57,670 INFO L93 Difference]: Finished difference Result 156 states and 190 transitions. [2022-04-28 03:58:57,670 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 190 transitions. [2022-04-28 03:58:57,670 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:58:57,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:58:57,670 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:58:57,670 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:58:57,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 142 states, 127 states have (on average 1.236220472440945) internal successors, (157), 130 states have internal predecessors, (157), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:58:57,672 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 174 transitions. [2022-04-28 03:58:57,672 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 174 transitions. Word has length 43 [2022-04-28 03:58:57,672 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:58:57,672 INFO L495 AbstractCegarLoop]: Abstraction has 142 states and 174 transitions. [2022-04-28 03:58:57,672 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 25 states have (on average 1.48) internal successors, (37), 23 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:58:57,672 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 142 states and 174 transitions. [2022-04-28 03:58:57,892 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 174 edges. 174 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:58:57,892 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 174 transitions. [2022-04-28 03:58:57,892 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 03:58:57,893 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:58:57,893 INFO L195 NwaCegarLoop]: trace histogram [7, 7, 6, 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 03:58:57,911 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Ended with exit code 0 [2022-04-28 03:58:58,111 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-04-28 03:58:58,112 INFO L420 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:58:58,112 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:58:58,112 INFO L85 PathProgramCache]: Analyzing trace with hash 1687154685, now seen corresponding path program 21 times [2022-04-28 03:58:58,112 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:58:58,112 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1278135192] [2022-04-28 03:58:58,269 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:59:02,367 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:59:02,477 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:59:02,478 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:59:02,481 INFO L85 PathProgramCache]: Analyzing trace with hash -2046284479, now seen corresponding path program 1 times [2022-04-28 03:59:02,481 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:59:02,481 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2079659585] [2022-04-28 03:59:02,481 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:59:02,481 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:59:02,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:02,647 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:59:02,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:02,656 INFO L290 TraceCheckUtils]: 0: Hoare triple {26864#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,657 INFO L290 TraceCheckUtils]: 1: Hoare triple {26851#(<= 20 ~SIZE~0)} assume true; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,657 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {26851#(<= 20 ~SIZE~0)} {26846#true} #90#return; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,657 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:59:02,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:02,660 INFO L290 TraceCheckUtils]: 0: Hoare triple {26846#true} ~cond := #in~cond; {26846#true} is VALID [2022-04-28 03:59:02,660 INFO L290 TraceCheckUtils]: 1: Hoare triple {26846#true} assume !(0 == ~cond); {26846#true} is VALID [2022-04-28 03:59:02,660 INFO L290 TraceCheckUtils]: 2: Hoare triple {26846#true} assume true; {26846#true} is VALID [2022-04-28 03:59:02,660 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26846#true} {26851#(<= 20 ~SIZE~0)} #86#return; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,667 INFO L272 TraceCheckUtils]: 0: Hoare triple {26846#true} call ULTIMATE.init(); {26864#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:59:02,668 INFO L290 TraceCheckUtils]: 1: Hoare triple {26864#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,668 INFO L290 TraceCheckUtils]: 2: Hoare triple {26851#(<= 20 ~SIZE~0)} assume true; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,668 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26851#(<= 20 ~SIZE~0)} {26846#true} #90#return; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,669 INFO L272 TraceCheckUtils]: 4: Hoare triple {26851#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,669 INFO L290 TraceCheckUtils]: 5: Hoare triple {26851#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,669 INFO L272 TraceCheckUtils]: 6: Hoare triple {26851#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {26846#true} is VALID [2022-04-28 03:59:02,669 INFO L290 TraceCheckUtils]: 7: Hoare triple {26846#true} ~cond := #in~cond; {26846#true} is VALID [2022-04-28 03:59:02,669 INFO L290 TraceCheckUtils]: 8: Hoare triple {26846#true} assume !(0 == ~cond); {26846#true} is VALID [2022-04-28 03:59:02,669 INFO L290 TraceCheckUtils]: 9: Hoare triple {26846#true} assume true; {26846#true} is VALID [2022-04-28 03:59:02,670 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26846#true} {26851#(<= 20 ~SIZE~0)} #86#return; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,670 INFO L290 TraceCheckUtils]: 11: Hoare triple {26851#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {26856#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:59:02,670 INFO L290 TraceCheckUtils]: 12: Hoare triple {26856#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {26857#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:59:02,671 INFO L290 TraceCheckUtils]: 13: Hoare triple {26857#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [190] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_278 v_main_~st~0_277)) (.cse0 (<= v_~last~0_238 v_main_~c~0_522)) (.cse2 (= v_main_~c~0_522 v_main_~c~0_521)) (.cse3 (= |v_main_#t~post5_307| |v_main_#t~post5_305|))) (or (and (< v_main_~c~0_521 (+ v_~SIZE~0_213 1)) (< v_main_~c~0_522 v_main_~c~0_521) .cse0 (= v_main_~st~0_277 0)) (and (= v_~last~0_238 v_~last~0_238) (= v_~SIZE~0_213 v_~SIZE~0_213) .cse1 .cse2 .cse3) (and .cse1 (or (not (< v_main_~c~0_522 v_~SIZE~0_213)) (not .cse0)) .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_213, main_~c~0=v_main_~c~0_522, main_#t~post5=|v_main_#t~post5_307|, main_~st~0=v_main_~st~0_278, ~last~0=v_~last~0_238} OutVars{~SIZE~0=v_~SIZE~0_213, main_#t~post5=|v_main_#t~post5_305|, main_~c~0=v_main_~c~0_521, main_~st~0=v_main_~st~0_277, ~last~0=v_~last~0_238} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {26858#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:02,672 INFO L290 TraceCheckUtils]: 14: Hoare triple {26858#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [191] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {26858#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:02,672 INFO L290 TraceCheckUtils]: 15: Hoare triple {26858#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [192] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_524 v_main_~c~0_523)) (.cse1 (= |v_main_#t~post5_310| |v_main_#t~post5_306|))) (or (and .cse0 .cse1 (= v_~SIZE~0_214 v_~SIZE~0_214) (= v_~last~0_239 v_~last~0_239)) (and .cse0 .cse1 (or (not (< v_main_~c~0_524 v_~last~0_239)) (not (< v_main_~c~0_524 v_~SIZE~0_214)))) (and (< v_main_~c~0_524 v_main_~c~0_523) (< v_main_~c~0_523 (+ v_~last~0_239 1)) (< v_main_~c~0_523 (+ v_~SIZE~0_214 1))))) InVars {~SIZE~0=v_~SIZE~0_214, main_~c~0=v_main_~c~0_524, main_#t~post5=|v_main_#t~post5_310|, ~last~0=v_~last~0_239} OutVars{~SIZE~0=v_~SIZE~0_214, main_#t~post5=|v_main_#t~post5_306|, main_~c~0=v_main_~c~0_523, ~last~0=v_~last~0_239} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {26858#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:02,673 INFO L290 TraceCheckUtils]: 16: Hoare triple {26858#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [189] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {26859#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:59:02,673 INFO L290 TraceCheckUtils]: 17: Hoare triple {26859#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {26860#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:02,674 INFO L290 TraceCheckUtils]: 18: Hoare triple {26860#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {26860#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:02,674 INFO L290 TraceCheckUtils]: 19: Hoare triple {26860#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {26861#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:02,675 INFO L290 TraceCheckUtils]: 20: Hoare triple {26861#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {26861#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:02,676 INFO L272 TraceCheckUtils]: 21: Hoare triple {26861#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {26862#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:59:02,676 INFO L290 TraceCheckUtils]: 22: Hoare triple {26862#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {26863#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:59:02,676 INFO L290 TraceCheckUtils]: 23: Hoare triple {26863#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {26847#false} is VALID [2022-04-28 03:59:02,676 INFO L290 TraceCheckUtils]: 24: Hoare triple {26847#false} assume !false; {26847#false} is VALID [2022-04-28 03:59:02,676 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:02,677 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:59:02,677 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2079659585] [2022-04-28 03:59:02,677 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2079659585] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:59:02,677 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [890105978] [2022-04-28 03:59:02,677 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:59:02,677 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:59:02,677 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:59:02,679 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:59:02,688 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-28 03:59:02,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:02,725 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:59:02,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:02,732 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:59:02,963 INFO L272 TraceCheckUtils]: 0: Hoare triple {26846#true} call ULTIMATE.init(); {26846#true} is VALID [2022-04-28 03:59:02,964 INFO L290 TraceCheckUtils]: 1: Hoare triple {26846#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,964 INFO L290 TraceCheckUtils]: 2: Hoare triple {26851#(<= 20 ~SIZE~0)} assume true; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,965 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26851#(<= 20 ~SIZE~0)} {26846#true} #90#return; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,965 INFO L272 TraceCheckUtils]: 4: Hoare triple {26851#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,965 INFO L290 TraceCheckUtils]: 5: Hoare triple {26851#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,966 INFO L272 TraceCheckUtils]: 6: Hoare triple {26851#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,966 INFO L290 TraceCheckUtils]: 7: Hoare triple {26851#(<= 20 ~SIZE~0)} ~cond := #in~cond; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,966 INFO L290 TraceCheckUtils]: 8: Hoare triple {26851#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,967 INFO L290 TraceCheckUtils]: 9: Hoare triple {26851#(<= 20 ~SIZE~0)} assume true; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,967 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26851#(<= 20 ~SIZE~0)} {26851#(<= 20 ~SIZE~0)} #86#return; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,967 INFO L290 TraceCheckUtils]: 11: Hoare triple {26851#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:02,968 INFO L290 TraceCheckUtils]: 12: Hoare triple {26851#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {26904#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:59:02,968 INFO L290 TraceCheckUtils]: 13: Hoare triple {26904#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [190] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_278 v_main_~st~0_277)) (.cse0 (<= v_~last~0_238 v_main_~c~0_522)) (.cse2 (= v_main_~c~0_522 v_main_~c~0_521)) (.cse3 (= |v_main_#t~post5_307| |v_main_#t~post5_305|))) (or (and (< v_main_~c~0_521 (+ v_~SIZE~0_213 1)) (< v_main_~c~0_522 v_main_~c~0_521) .cse0 (= v_main_~st~0_277 0)) (and (= v_~last~0_238 v_~last~0_238) (= v_~SIZE~0_213 v_~SIZE~0_213) .cse1 .cse2 .cse3) (and .cse1 (or (not (< v_main_~c~0_522 v_~SIZE~0_213)) (not .cse0)) .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_213, main_~c~0=v_main_~c~0_522, main_#t~post5=|v_main_#t~post5_307|, main_~st~0=v_main_~st~0_278, ~last~0=v_~last~0_238} OutVars{~SIZE~0=v_~SIZE~0_213, main_#t~post5=|v_main_#t~post5_305|, main_~c~0=v_main_~c~0_521, main_~st~0=v_main_~st~0_277, ~last~0=v_~last~0_238} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {26908#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:02,969 INFO L290 TraceCheckUtils]: 14: Hoare triple {26908#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [191] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {26908#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:02,969 INFO L290 TraceCheckUtils]: 15: Hoare triple {26908#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [192] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_524 v_main_~c~0_523)) (.cse1 (= |v_main_#t~post5_310| |v_main_#t~post5_306|))) (or (and .cse0 .cse1 (= v_~SIZE~0_214 v_~SIZE~0_214) (= v_~last~0_239 v_~last~0_239)) (and .cse0 .cse1 (or (not (< v_main_~c~0_524 v_~last~0_239)) (not (< v_main_~c~0_524 v_~SIZE~0_214)))) (and (< v_main_~c~0_524 v_main_~c~0_523) (< v_main_~c~0_523 (+ v_~last~0_239 1)) (< v_main_~c~0_523 (+ v_~SIZE~0_214 1))))) InVars {~SIZE~0=v_~SIZE~0_214, main_~c~0=v_main_~c~0_524, main_#t~post5=|v_main_#t~post5_310|, ~last~0=v_~last~0_239} OutVars{~SIZE~0=v_~SIZE~0_214, main_#t~post5=|v_main_#t~post5_306|, main_~c~0=v_main_~c~0_523, ~last~0=v_~last~0_239} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {26908#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:02,970 INFO L290 TraceCheckUtils]: 16: Hoare triple {26908#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [189] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {26918#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:59:02,970 INFO L290 TraceCheckUtils]: 17: Hoare triple {26918#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {26847#false} is VALID [2022-04-28 03:59:02,970 INFO L290 TraceCheckUtils]: 18: Hoare triple {26847#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {26847#false} is VALID [2022-04-28 03:59:02,971 INFO L290 TraceCheckUtils]: 19: Hoare triple {26847#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {26847#false} is VALID [2022-04-28 03:59:02,971 INFO L290 TraceCheckUtils]: 20: Hoare triple {26847#false} assume !(~d~0 == ~SIZE~0); {26847#false} is VALID [2022-04-28 03:59:02,971 INFO L272 TraceCheckUtils]: 21: Hoare triple {26847#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {26847#false} is VALID [2022-04-28 03:59:02,971 INFO L290 TraceCheckUtils]: 22: Hoare triple {26847#false} ~cond := #in~cond; {26847#false} is VALID [2022-04-28 03:59:02,971 INFO L290 TraceCheckUtils]: 23: Hoare triple {26847#false} assume 0 == ~cond; {26847#false} is VALID [2022-04-28 03:59:02,971 INFO L290 TraceCheckUtils]: 24: Hoare triple {26847#false} assume !false; {26847#false} is VALID [2022-04-28 03:59:02,971 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:02,971 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:59:03,313 INFO L290 TraceCheckUtils]: 24: Hoare triple {26847#false} assume !false; {26847#false} is VALID [2022-04-28 03:59:03,313 INFO L290 TraceCheckUtils]: 23: Hoare triple {26847#false} assume 0 == ~cond; {26847#false} is VALID [2022-04-28 03:59:03,313 INFO L290 TraceCheckUtils]: 22: Hoare triple {26847#false} ~cond := #in~cond; {26847#false} is VALID [2022-04-28 03:59:03,313 INFO L272 TraceCheckUtils]: 21: Hoare triple {26847#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {26847#false} is VALID [2022-04-28 03:59:03,313 INFO L290 TraceCheckUtils]: 20: Hoare triple {26847#false} assume !(~d~0 == ~SIZE~0); {26847#false} is VALID [2022-04-28 03:59:03,313 INFO L290 TraceCheckUtils]: 19: Hoare triple {26847#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {26847#false} is VALID [2022-04-28 03:59:03,314 INFO L290 TraceCheckUtils]: 18: Hoare triple {26847#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {26847#false} is VALID [2022-04-28 03:59:03,314 INFO L290 TraceCheckUtils]: 17: Hoare triple {26964#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {26847#false} is VALID [2022-04-28 03:59:03,314 INFO L290 TraceCheckUtils]: 16: Hoare triple {26968#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [189] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {26964#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:59:03,315 INFO L290 TraceCheckUtils]: 15: Hoare triple {26968#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [192] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_524 v_main_~c~0_523)) (.cse1 (= |v_main_#t~post5_310| |v_main_#t~post5_306|))) (or (and .cse0 .cse1 (= v_~SIZE~0_214 v_~SIZE~0_214) (= v_~last~0_239 v_~last~0_239)) (and .cse0 .cse1 (or (not (< v_main_~c~0_524 v_~last~0_239)) (not (< v_main_~c~0_524 v_~SIZE~0_214)))) (and (< v_main_~c~0_524 v_main_~c~0_523) (< v_main_~c~0_523 (+ v_~last~0_239 1)) (< v_main_~c~0_523 (+ v_~SIZE~0_214 1))))) InVars {~SIZE~0=v_~SIZE~0_214, main_~c~0=v_main_~c~0_524, main_#t~post5=|v_main_#t~post5_310|, ~last~0=v_~last~0_239} OutVars{~SIZE~0=v_~SIZE~0_214, main_#t~post5=|v_main_#t~post5_306|, main_~c~0=v_main_~c~0_523, ~last~0=v_~last~0_239} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {26968#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:03,315 INFO L290 TraceCheckUtils]: 14: Hoare triple {26968#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [191] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {26968#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:03,316 INFO L290 TraceCheckUtils]: 13: Hoare triple {26978#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [190] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_278 v_main_~st~0_277)) (.cse0 (<= v_~last~0_238 v_main_~c~0_522)) (.cse2 (= v_main_~c~0_522 v_main_~c~0_521)) (.cse3 (= |v_main_#t~post5_307| |v_main_#t~post5_305|))) (or (and (< v_main_~c~0_521 (+ v_~SIZE~0_213 1)) (< v_main_~c~0_522 v_main_~c~0_521) .cse0 (= v_main_~st~0_277 0)) (and (= v_~last~0_238 v_~last~0_238) (= v_~SIZE~0_213 v_~SIZE~0_213) .cse1 .cse2 .cse3) (and .cse1 (or (not (< v_main_~c~0_522 v_~SIZE~0_213)) (not .cse0)) .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_213, main_~c~0=v_main_~c~0_522, main_#t~post5=|v_main_#t~post5_307|, main_~st~0=v_main_~st~0_278, ~last~0=v_~last~0_238} OutVars{~SIZE~0=v_~SIZE~0_213, main_#t~post5=|v_main_#t~post5_305|, main_~c~0=v_main_~c~0_521, main_~st~0=v_main_~st~0_277, ~last~0=v_~last~0_238} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {26968#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:03,316 INFO L290 TraceCheckUtils]: 12: Hoare triple {26982#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {26978#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:59:03,316 INFO L290 TraceCheckUtils]: 11: Hoare triple {26982#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {26982#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:03,316 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26846#true} {26982#(< 1 ~SIZE~0)} #86#return; {26982#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:03,316 INFO L290 TraceCheckUtils]: 9: Hoare triple {26846#true} assume true; {26846#true} is VALID [2022-04-28 03:59:03,320 INFO L290 TraceCheckUtils]: 8: Hoare triple {26846#true} assume !(0 == ~cond); {26846#true} is VALID [2022-04-28 03:59:03,321 INFO L290 TraceCheckUtils]: 7: Hoare triple {26846#true} ~cond := #in~cond; {26846#true} is VALID [2022-04-28 03:59:03,322 INFO L272 TraceCheckUtils]: 6: Hoare triple {26982#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {26846#true} is VALID [2022-04-28 03:59:03,322 INFO L290 TraceCheckUtils]: 5: Hoare triple {26982#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {26982#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:03,322 INFO L272 TraceCheckUtils]: 4: Hoare triple {26982#(< 1 ~SIZE~0)} call #t~ret7 := main(); {26982#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:03,323 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26982#(< 1 ~SIZE~0)} {26846#true} #90#return; {26982#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:03,323 INFO L290 TraceCheckUtils]: 2: Hoare triple {26982#(< 1 ~SIZE~0)} assume true; {26982#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:03,323 INFO L290 TraceCheckUtils]: 1: Hoare triple {26846#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {26982#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:03,323 INFO L272 TraceCheckUtils]: 0: Hoare triple {26846#true} call ULTIMATE.init(); {26846#true} is VALID [2022-04-28 03:59:03,323 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:03,324 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [890105978] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:59:03,324 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:59:03,324 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:59:03,844 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:59:03,844 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1278135192] [2022-04-28 03:59:03,844 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1278135192] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:59:03,844 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:59:03,844 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-28 03:59:03,844 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1512449084] [2022-04-28 03:59:03,844 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:59:03,845 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 1.4230769230769231) internal successors, (37), 24 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 43 [2022-04-28 03:59:03,845 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:59:03,845 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 26 states have (on average 1.4230769230769231) internal successors, (37), 24 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:03,867 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 03:59:03,867 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-28 03:59:03,867 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:59:03,869 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-28 03:59:03,870 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=224, Invalid=966, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 03:59:03,870 INFO L87 Difference]: Start difference. First operand 142 states and 174 transitions. Second operand has 26 states, 26 states have (on average 1.4230769230769231) internal successors, (37), 24 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:05,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:05,340 INFO L93 Difference]: Finished difference Result 236 states and 296 transitions. [2022-04-28 03:59:05,340 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 03:59:05,340 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 1.4230769230769231) internal successors, (37), 24 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 43 [2022-04-28 03:59:05,341 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:59:05,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 1.4230769230769231) internal successors, (37), 24 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:05,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 94 transitions. [2022-04-28 03:59:05,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 1.4230769230769231) internal successors, (37), 24 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:05,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 94 transitions. [2022-04-28 03:59:05,342 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 94 transitions. [2022-04-28 03:59:05,408 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 03:59:05,409 INFO L225 Difference]: With dead ends: 236 [2022-04-28 03:59:05,409 INFO L226 Difference]: Without dead ends: 156 [2022-04-28 03:59:05,410 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 48 SyntacticMatches, 6 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 437 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=236, Invalid=1096, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 03:59:05,410 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 56 mSDsluCounter, 38 mSDsCounter, 0 mSdLazyCounter, 872 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 57 SdHoareTripleChecker+Valid, 59 SdHoareTripleChecker+Invalid, 882 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 872 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 03:59:05,411 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [57 Valid, 59 Invalid, 882 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 872 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 03:59:05,411 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2022-04-28 03:59:05,855 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 145. [2022-04-28 03:59:05,856 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:59:05,856 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand has 145 states, 130 states have (on average 1.2384615384615385) internal successors, (161), 133 states have internal predecessors, (161), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:05,856 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand has 145 states, 130 states have (on average 1.2384615384615385) internal successors, (161), 133 states have internal predecessors, (161), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:05,856 INFO L87 Difference]: Start difference. First operand 156 states. Second operand has 145 states, 130 states have (on average 1.2384615384615385) internal successors, (161), 133 states have internal predecessors, (161), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:05,858 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:05,858 INFO L93 Difference]: Finished difference Result 156 states and 191 transitions. [2022-04-28 03:59:05,858 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 191 transitions. [2022-04-28 03:59:05,858 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:59:05,858 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:59:05,858 INFO L74 IsIncluded]: Start isIncluded. First operand has 145 states, 130 states have (on average 1.2384615384615385) internal successors, (161), 133 states have internal predecessors, (161), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 156 states. [2022-04-28 03:59:05,858 INFO L87 Difference]: Start difference. First operand has 145 states, 130 states have (on average 1.2384615384615385) internal successors, (161), 133 states have internal predecessors, (161), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 156 states. [2022-04-28 03:59:05,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:05,860 INFO L93 Difference]: Finished difference Result 156 states and 191 transitions. [2022-04-28 03:59:05,860 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 191 transitions. [2022-04-28 03:59:05,860 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:59:05,860 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:59:05,860 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:59:05,860 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:59:05,860 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 145 states, 130 states have (on average 1.2384615384615385) internal successors, (161), 133 states have internal predecessors, (161), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:05,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 145 states to 145 states and 178 transitions. [2022-04-28 03:59:05,862 INFO L78 Accepts]: Start accepts. Automaton has 145 states and 178 transitions. Word has length 43 [2022-04-28 03:59:05,862 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:59:05,862 INFO L495 AbstractCegarLoop]: Abstraction has 145 states and 178 transitions. [2022-04-28 03:59:05,862 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 26 states have (on average 1.4230769230769231) internal successors, (37), 24 states have internal predecessors, (37), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:05,862 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 145 states and 178 transitions. [2022-04-28 03:59:06,134 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 178 edges. 178 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:59:06,134 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 178 transitions. [2022-04-28 03:59:06,135 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-28 03:59:06,135 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:59:06,135 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:59:06,155 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-28 03:59:06,339 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:59:06,339 INFO L420 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:59:06,340 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:59:06,340 INFO L85 PathProgramCache]: Analyzing trace with hash -1308477019, now seen corresponding path program 2 times [2022-04-28 03:59:06,340 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:59:06,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1619887923] [2022-04-28 03:59:06,733 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 4 AssignedVariables, 1 ReadonlyVariables, Eigenvalues: {0={1=2}, 1={1=2, 2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:59:06,927 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 4 AssignedVariables, 1 ReadonlyVariables, Eigenvalues: {0={1=2}, 1={1=2, 2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:59:06,928 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:59:06,929 INFO L85 PathProgramCache]: Analyzing trace with hash -1372748949, now seen corresponding path program 1 times [2022-04-28 03:59:06,929 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:59:06,929 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [119039953] [2022-04-28 03:59:06,929 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:59:06,929 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:59:06,939 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:06,972 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:59:06,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:06,980 INFO L290 TraceCheckUtils]: 0: Hoare triple {28129#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:06,980 INFO L290 TraceCheckUtils]: 1: Hoare triple {28121#(<= 20 ~SIZE~0)} assume true; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:06,980 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28121#(<= 20 ~SIZE~0)} {28116#true} #90#return; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:06,980 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:59:06,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:06,983 INFO L290 TraceCheckUtils]: 0: Hoare triple {28116#true} ~cond := #in~cond; {28116#true} is VALID [2022-04-28 03:59:06,986 INFO L290 TraceCheckUtils]: 1: Hoare triple {28116#true} assume !(0 == ~cond); {28116#true} is VALID [2022-04-28 03:59:06,987 INFO L290 TraceCheckUtils]: 2: Hoare triple {28116#true} assume true; {28116#true} is VALID [2022-04-28 03:59:06,987 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28116#true} {28121#(<= 20 ~SIZE~0)} #86#return; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:06,988 INFO L272 TraceCheckUtils]: 0: Hoare triple {28116#true} call ULTIMATE.init(); {28129#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:59:06,988 INFO L290 TraceCheckUtils]: 1: Hoare triple {28129#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:06,988 INFO L290 TraceCheckUtils]: 2: Hoare triple {28121#(<= 20 ~SIZE~0)} assume true; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:06,989 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28121#(<= 20 ~SIZE~0)} {28116#true} #90#return; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:06,989 INFO L272 TraceCheckUtils]: 4: Hoare triple {28121#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:06,989 INFO L290 TraceCheckUtils]: 5: Hoare triple {28121#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:06,989 INFO L272 TraceCheckUtils]: 6: Hoare triple {28121#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {28116#true} is VALID [2022-04-28 03:59:06,989 INFO L290 TraceCheckUtils]: 7: Hoare triple {28116#true} ~cond := #in~cond; {28116#true} is VALID [2022-04-28 03:59:06,989 INFO L290 TraceCheckUtils]: 8: Hoare triple {28116#true} assume !(0 == ~cond); {28116#true} is VALID [2022-04-28 03:59:06,990 INFO L290 TraceCheckUtils]: 9: Hoare triple {28116#true} assume true; {28116#true} is VALID [2022-04-28 03:59:06,990 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {28116#true} {28121#(<= 20 ~SIZE~0)} #86#return; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:06,990 INFO L290 TraceCheckUtils]: 11: Hoare triple {28121#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:06,991 INFO L290 TraceCheckUtils]: 12: Hoare triple {28121#(<= 20 ~SIZE~0)} [194] L42-->L25-3_primed: Formula: (let ((.cse5 (= v_~SIZE~0_223 v_main_~d~0_31)) (.cse2 (= v_main_~a~0_74 v_main_~b~0_70)) (.cse4 (<= (+ v_~last~0_248 2) v_~SIZE~0_223)) (.cse3 (= 2 v_~SIZE~0_223)) (.cse0 (= v_main_~b~0_70 v_main_~b~0_69)) (.cse1 (= v_main_~a~0_74 v_main_~a~0_73))) (or (and (= v_main_~c~0_550 v_main_~c~0_547) (= |v_main_#t~post5_320| |v_main_#t~post5_318|) (= v_main_~st~0_290 v_main_~st~0_287) .cse0 .cse1 (= v_~SIZE~0_223 v_~SIZE~0_223) (= v_main_~d~0_31 v_main_~d~0_31) (= v_~last~0_248 v_~last~0_248)) (and (< 0 (div (+ (* (- 1) v_main_~b~0_70) v_main_~b~0_69) 2)) (= v_main_~st~0_287 0) (= (+ (* 2 (div (+ (- v_main_~b~0_70) v_main_~b~0_69) 2)) v_main_~a~0_74) v_main_~a~0_73) (= v_~SIZE~0_223 v_main_~c~0_547) (= (mod (+ v_main_~b~0_70 v_main_~b~0_69) 2) 0) .cse2 .cse3 .cse4 (not .cse5)) (and (= v_main_~st~0_287 v_main_~st~0_290) (or .cse5 (not .cse2) (not .cse4) (not .cse3)) .cse0 .cse1 (= v_main_~c~0_547 v_main_~c~0_550) (= |v_main_#t~post5_318| |v_main_#t~post5_320|)))) InVars {~SIZE~0=v_~SIZE~0_223, main_~c~0=v_main_~c~0_550, main_#t~post5=|v_main_#t~post5_320|, main_~d~0=v_main_~d~0_31, main_~st~0=v_main_~st~0_290, main_~b~0=v_main_~b~0_70, ~last~0=v_~last~0_248, main_~a~0=v_main_~a~0_74} OutVars{~SIZE~0=v_~SIZE~0_223, main_~c~0=v_main_~c~0_547, main_#t~post5=|v_main_#t~post5_318|, main_~d~0=v_main_~d~0_31, main_~st~0=v_main_~st~0_287, main_~b~0=v_main_~b~0_69, ~last~0=v_~last~0_248, main_~a~0=v_main_~a~0_73} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:06,991 INFO L290 TraceCheckUtils]: 13: Hoare triple {28121#(<= 20 ~SIZE~0)} [195] L25-3_primed-->L42: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:06,991 INFO L290 TraceCheckUtils]: 14: Hoare triple {28121#(<= 20 ~SIZE~0)} [196] L42-->L25-3_primed: Formula: (let ((.cse4 (= v_main_~st~0_293 v_main_~st~0_287)) (.cse3 (= v_~SIZE~0_223 v_main_~d~0_31)) (.cse0 (= v_main_~a~0_74 v_main_~b~0_70)) (.cse2 (<= (+ v_~last~0_248 2) v_~SIZE~0_223)) (.cse1 (= 2 v_~SIZE~0_223)) (.cse5 (= v_main_~b~0_70 v_main_~b~0_69)) (.cse6 (= v_main_~a~0_74 v_main_~a~0_73))) (or (and (< 0 (div (+ (* (- 1) v_main_~b~0_70) v_main_~b~0_69) 2)) (= v_main_~st~0_287 0) (= (+ (* 2 (div (+ (- v_main_~b~0_70) v_main_~b~0_69) 2)) v_main_~a~0_74) v_main_~a~0_73) (= v_~SIZE~0_223 v_main_~c~0_547) (= (mod (+ v_main_~b~0_70 v_main_~b~0_69) 2) 0) .cse0 .cse1 .cse2 (not .cse3)) (and .cse4 .cse5 (= v_main_~c~0_553 v_main_~c~0_547) (= |v_main_#t~post5_323| |v_main_#t~post5_318|) .cse6 (= v_~SIZE~0_223 v_~SIZE~0_223) (= v_main_~d~0_31 v_main_~d~0_31) (= v_~last~0_248 v_~last~0_248)) (and .cse4 (or .cse3 (not .cse0) (not .cse2) (not .cse1)) .cse5 (= v_main_~c~0_547 v_main_~c~0_553) (= |v_main_#t~post5_318| |v_main_#t~post5_323|) .cse6))) InVars {~SIZE~0=v_~SIZE~0_223, main_~c~0=v_main_~c~0_553, main_#t~post5=|v_main_#t~post5_323|, main_~d~0=v_main_~d~0_31, main_~st~0=v_main_~st~0_293, main_~b~0=v_main_~b~0_70, ~last~0=v_~last~0_248, main_~a~0=v_main_~a~0_74} OutVars{~SIZE~0=v_~SIZE~0_223, main_~c~0=v_main_~c~0_547, main_#t~post5=|v_main_#t~post5_318|, main_~d~0=v_main_~d~0_31, main_~st~0=v_main_~st~0_287, main_~b~0=v_main_~b~0_69, ~last~0=v_~last~0_248, main_~a~0=v_main_~a~0_73} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:06,991 INFO L290 TraceCheckUtils]: 15: Hoare triple {28121#(<= 20 ~SIZE~0)} [193] L25-3_primed-->L25-3: Formula: (and (= 0 v_main_~c~0_10) (= v_main_~st~0_7 1)) InVars {} OutVars{main_~c~0=v_main_~c~0_10, main_~st~0=v_main_~st~0_7} AuxVars[] AssignedVars[main_~c~0, main_~st~0] {28126#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:59:06,992 INFO L290 TraceCheckUtils]: 16: Hoare triple {28126#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} assume !!(~c~0 < ~SIZE~0); {28126#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:59:06,992 INFO L290 TraceCheckUtils]: 17: Hoare triple {28126#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} assume ~c~0 >= ~last~0;~st~0 := 0; {28126#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:59:06,992 INFO L290 TraceCheckUtils]: 18: Hoare triple {28126#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {28127#(<= (+ 19 main_~c~0) ~SIZE~0)} is VALID [2022-04-28 03:59:06,993 INFO L290 TraceCheckUtils]: 19: Hoare triple {28127#(<= (+ 19 main_~c~0) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {28127#(<= (+ 19 main_~c~0) ~SIZE~0)} is VALID [2022-04-28 03:59:06,993 INFO L290 TraceCheckUtils]: 20: Hoare triple {28127#(<= (+ 19 main_~c~0) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {28127#(<= (+ 19 main_~c~0) ~SIZE~0)} is VALID [2022-04-28 03:59:06,993 INFO L290 TraceCheckUtils]: 21: Hoare triple {28127#(<= (+ 19 main_~c~0) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {28128#(<= (+ main_~c~0 18) ~SIZE~0)} is VALID [2022-04-28 03:59:06,994 INFO L290 TraceCheckUtils]: 22: Hoare triple {28128#(<= (+ main_~c~0 18) ~SIZE~0)} assume !(~c~0 < ~SIZE~0); {28117#false} is VALID [2022-04-28 03:59:06,994 INFO L290 TraceCheckUtils]: 23: Hoare triple {28117#false} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {28117#false} is VALID [2022-04-28 03:59:06,994 INFO L290 TraceCheckUtils]: 24: Hoare triple {28117#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {28117#false} is VALID [2022-04-28 03:59:06,994 INFO L290 TraceCheckUtils]: 25: Hoare triple {28117#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {28117#false} is VALID [2022-04-28 03:59:06,994 INFO L290 TraceCheckUtils]: 26: Hoare triple {28117#false} assume !(~d~0 == ~SIZE~0); {28117#false} is VALID [2022-04-28 03:59:06,994 INFO L272 TraceCheckUtils]: 27: Hoare triple {28117#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {28117#false} is VALID [2022-04-28 03:59:06,994 INFO L290 TraceCheckUtils]: 28: Hoare triple {28117#false} ~cond := #in~cond; {28117#false} is VALID [2022-04-28 03:59:06,994 INFO L290 TraceCheckUtils]: 29: Hoare triple {28117#false} assume 0 == ~cond; {28117#false} is VALID [2022-04-28 03:59:06,994 INFO L290 TraceCheckUtils]: 30: Hoare triple {28117#false} assume !false; {28117#false} is VALID [2022-04-28 03:59:06,995 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 03:59:06,995 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:59:06,995 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [119039953] [2022-04-28 03:59:06,995 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [119039953] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:59:06,995 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [147858291] [2022-04-28 03:59:06,995 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:59:06,995 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:59:06,995 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:59:07,016 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:59:07,046 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-28 03:59:07,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:07,065 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 03:59:07,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:07,071 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:59:07,174 INFO L272 TraceCheckUtils]: 0: Hoare triple {28116#true} call ULTIMATE.init(); {28116#true} is VALID [2022-04-28 03:59:07,174 INFO L290 TraceCheckUtils]: 1: Hoare triple {28116#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:07,175 INFO L290 TraceCheckUtils]: 2: Hoare triple {28121#(<= 20 ~SIZE~0)} assume true; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:07,175 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28121#(<= 20 ~SIZE~0)} {28116#true} #90#return; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:07,175 INFO L272 TraceCheckUtils]: 4: Hoare triple {28121#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:07,175 INFO L290 TraceCheckUtils]: 5: Hoare triple {28121#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:07,176 INFO L272 TraceCheckUtils]: 6: Hoare triple {28121#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:07,176 INFO L290 TraceCheckUtils]: 7: Hoare triple {28121#(<= 20 ~SIZE~0)} ~cond := #in~cond; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:07,176 INFO L290 TraceCheckUtils]: 8: Hoare triple {28121#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:07,176 INFO L290 TraceCheckUtils]: 9: Hoare triple {28121#(<= 20 ~SIZE~0)} assume true; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:07,176 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {28121#(<= 20 ~SIZE~0)} {28121#(<= 20 ~SIZE~0)} #86#return; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:07,177 INFO L290 TraceCheckUtils]: 11: Hoare triple {28121#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:07,177 INFO L290 TraceCheckUtils]: 12: Hoare triple {28121#(<= 20 ~SIZE~0)} [194] L42-->L25-3_primed: Formula: (let ((.cse5 (= v_~SIZE~0_223 v_main_~d~0_31)) (.cse2 (= v_main_~a~0_74 v_main_~b~0_70)) (.cse4 (<= (+ v_~last~0_248 2) v_~SIZE~0_223)) (.cse3 (= 2 v_~SIZE~0_223)) (.cse0 (= v_main_~b~0_70 v_main_~b~0_69)) (.cse1 (= v_main_~a~0_74 v_main_~a~0_73))) (or (and (= v_main_~c~0_550 v_main_~c~0_547) (= |v_main_#t~post5_320| |v_main_#t~post5_318|) (= v_main_~st~0_290 v_main_~st~0_287) .cse0 .cse1 (= v_~SIZE~0_223 v_~SIZE~0_223) (= v_main_~d~0_31 v_main_~d~0_31) (= v_~last~0_248 v_~last~0_248)) (and (< 0 (div (+ (* (- 1) v_main_~b~0_70) v_main_~b~0_69) 2)) (= v_main_~st~0_287 0) (= (+ (* 2 (div (+ (- v_main_~b~0_70) v_main_~b~0_69) 2)) v_main_~a~0_74) v_main_~a~0_73) (= v_~SIZE~0_223 v_main_~c~0_547) (= (mod (+ v_main_~b~0_70 v_main_~b~0_69) 2) 0) .cse2 .cse3 .cse4 (not .cse5)) (and (= v_main_~st~0_287 v_main_~st~0_290) (or .cse5 (not .cse2) (not .cse4) (not .cse3)) .cse0 .cse1 (= v_main_~c~0_547 v_main_~c~0_550) (= |v_main_#t~post5_318| |v_main_#t~post5_320|)))) InVars {~SIZE~0=v_~SIZE~0_223, main_~c~0=v_main_~c~0_550, main_#t~post5=|v_main_#t~post5_320|, main_~d~0=v_main_~d~0_31, main_~st~0=v_main_~st~0_290, main_~b~0=v_main_~b~0_70, ~last~0=v_~last~0_248, main_~a~0=v_main_~a~0_74} OutVars{~SIZE~0=v_~SIZE~0_223, main_~c~0=v_main_~c~0_547, main_#t~post5=|v_main_#t~post5_318|, main_~d~0=v_main_~d~0_31, main_~st~0=v_main_~st~0_287, main_~b~0=v_main_~b~0_69, ~last~0=v_~last~0_248, main_~a~0=v_main_~a~0_73} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:07,177 INFO L290 TraceCheckUtils]: 13: Hoare triple {28121#(<= 20 ~SIZE~0)} [195] L25-3_primed-->L42: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:07,177 INFO L290 TraceCheckUtils]: 14: Hoare triple {28121#(<= 20 ~SIZE~0)} [196] L42-->L25-3_primed: Formula: (let ((.cse4 (= v_main_~st~0_293 v_main_~st~0_287)) (.cse3 (= v_~SIZE~0_223 v_main_~d~0_31)) (.cse0 (= v_main_~a~0_74 v_main_~b~0_70)) (.cse2 (<= (+ v_~last~0_248 2) v_~SIZE~0_223)) (.cse1 (= 2 v_~SIZE~0_223)) (.cse5 (= v_main_~b~0_70 v_main_~b~0_69)) (.cse6 (= v_main_~a~0_74 v_main_~a~0_73))) (or (and (< 0 (div (+ (* (- 1) v_main_~b~0_70) v_main_~b~0_69) 2)) (= v_main_~st~0_287 0) (= (+ (* 2 (div (+ (- v_main_~b~0_70) v_main_~b~0_69) 2)) v_main_~a~0_74) v_main_~a~0_73) (= v_~SIZE~0_223 v_main_~c~0_547) (= (mod (+ v_main_~b~0_70 v_main_~b~0_69) 2) 0) .cse0 .cse1 .cse2 (not .cse3)) (and .cse4 .cse5 (= v_main_~c~0_553 v_main_~c~0_547) (= |v_main_#t~post5_323| |v_main_#t~post5_318|) .cse6 (= v_~SIZE~0_223 v_~SIZE~0_223) (= v_main_~d~0_31 v_main_~d~0_31) (= v_~last~0_248 v_~last~0_248)) (and .cse4 (or .cse3 (not .cse0) (not .cse2) (not .cse1)) .cse5 (= v_main_~c~0_547 v_main_~c~0_553) (= |v_main_#t~post5_318| |v_main_#t~post5_323|) .cse6))) InVars {~SIZE~0=v_~SIZE~0_223, main_~c~0=v_main_~c~0_553, main_#t~post5=|v_main_#t~post5_323|, main_~d~0=v_main_~d~0_31, main_~st~0=v_main_~st~0_293, main_~b~0=v_main_~b~0_70, ~last~0=v_~last~0_248, main_~a~0=v_main_~a~0_74} OutVars{~SIZE~0=v_~SIZE~0_223, main_~c~0=v_main_~c~0_547, main_#t~post5=|v_main_#t~post5_318|, main_~d~0=v_main_~d~0_31, main_~st~0=v_main_~st~0_287, main_~b~0=v_main_~b~0_69, ~last~0=v_~last~0_248, main_~a~0=v_main_~a~0_73} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:07,178 INFO L290 TraceCheckUtils]: 15: Hoare triple {28121#(<= 20 ~SIZE~0)} [193] L25-3_primed-->L25-3: Formula: (and (= 0 v_main_~c~0_10) (= v_main_~st~0_7 1)) InVars {} OutVars{main_~c~0=v_main_~c~0_10, main_~st~0=v_main_~st~0_7} AuxVars[] AssignedVars[main_~c~0, main_~st~0] {28178#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:59:07,178 INFO L290 TraceCheckUtils]: 16: Hoare triple {28178#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} assume !!(~c~0 < ~SIZE~0); {28178#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:59:07,178 INFO L290 TraceCheckUtils]: 17: Hoare triple {28178#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} assume ~c~0 >= ~last~0;~st~0 := 0; {28178#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:59:07,179 INFO L290 TraceCheckUtils]: 18: Hoare triple {28178#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {28188#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} is VALID [2022-04-28 03:59:07,179 INFO L290 TraceCheckUtils]: 19: Hoare triple {28188#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} assume !!(~c~0 < ~SIZE~0); {28188#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} is VALID [2022-04-28 03:59:07,179 INFO L290 TraceCheckUtils]: 20: Hoare triple {28188#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} assume ~c~0 >= ~last~0;~st~0 := 0; {28188#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} is VALID [2022-04-28 03:59:07,179 INFO L290 TraceCheckUtils]: 21: Hoare triple {28188#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {28198#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} is VALID [2022-04-28 03:59:07,180 INFO L290 TraceCheckUtils]: 22: Hoare triple {28198#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} assume !(~c~0 < ~SIZE~0); {28117#false} is VALID [2022-04-28 03:59:07,180 INFO L290 TraceCheckUtils]: 23: Hoare triple {28117#false} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {28117#false} is VALID [2022-04-28 03:59:07,180 INFO L290 TraceCheckUtils]: 24: Hoare triple {28117#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {28117#false} is VALID [2022-04-28 03:59:07,180 INFO L290 TraceCheckUtils]: 25: Hoare triple {28117#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {28117#false} is VALID [2022-04-28 03:59:07,180 INFO L290 TraceCheckUtils]: 26: Hoare triple {28117#false} assume !(~d~0 == ~SIZE~0); {28117#false} is VALID [2022-04-28 03:59:07,180 INFO L272 TraceCheckUtils]: 27: Hoare triple {28117#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {28117#false} is VALID [2022-04-28 03:59:07,180 INFO L290 TraceCheckUtils]: 28: Hoare triple {28117#false} ~cond := #in~cond; {28117#false} is VALID [2022-04-28 03:59:07,180 INFO L290 TraceCheckUtils]: 29: Hoare triple {28117#false} assume 0 == ~cond; {28117#false} is VALID [2022-04-28 03:59:07,180 INFO L290 TraceCheckUtils]: 30: Hoare triple {28117#false} assume !false; {28117#false} is VALID [2022-04-28 03:59:07,180 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 03:59:07,181 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:59:07,285 INFO L290 TraceCheckUtils]: 30: Hoare triple {28117#false} assume !false; {28117#false} is VALID [2022-04-28 03:59:07,285 INFO L290 TraceCheckUtils]: 29: Hoare triple {28117#false} assume 0 == ~cond; {28117#false} is VALID [2022-04-28 03:59:07,285 INFO L290 TraceCheckUtils]: 28: Hoare triple {28117#false} ~cond := #in~cond; {28117#false} is VALID [2022-04-28 03:59:07,285 INFO L272 TraceCheckUtils]: 27: Hoare triple {28117#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {28117#false} is VALID [2022-04-28 03:59:07,285 INFO L290 TraceCheckUtils]: 26: Hoare triple {28117#false} assume !(~d~0 == ~SIZE~0); {28117#false} is VALID [2022-04-28 03:59:07,286 INFO L290 TraceCheckUtils]: 25: Hoare triple {28117#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {28117#false} is VALID [2022-04-28 03:59:07,286 INFO L290 TraceCheckUtils]: 24: Hoare triple {28117#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {28117#false} is VALID [2022-04-28 03:59:07,286 INFO L290 TraceCheckUtils]: 23: Hoare triple {28117#false} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {28117#false} is VALID [2022-04-28 03:59:07,286 INFO L290 TraceCheckUtils]: 22: Hoare triple {28250#(< main_~c~0 ~SIZE~0)} assume !(~c~0 < ~SIZE~0); {28117#false} is VALID [2022-04-28 03:59:07,286 INFO L290 TraceCheckUtils]: 21: Hoare triple {28254#(< (+ main_~c~0 1) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {28250#(< main_~c~0 ~SIZE~0)} is VALID [2022-04-28 03:59:07,286 INFO L290 TraceCheckUtils]: 20: Hoare triple {28254#(< (+ main_~c~0 1) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {28254#(< (+ main_~c~0 1) ~SIZE~0)} is VALID [2022-04-28 03:59:07,287 INFO L290 TraceCheckUtils]: 19: Hoare triple {28254#(< (+ main_~c~0 1) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {28254#(< (+ main_~c~0 1) ~SIZE~0)} is VALID [2022-04-28 03:59:07,287 INFO L290 TraceCheckUtils]: 18: Hoare triple {28264#(< (+ main_~c~0 2) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {28254#(< (+ main_~c~0 1) ~SIZE~0)} is VALID [2022-04-28 03:59:07,287 INFO L290 TraceCheckUtils]: 17: Hoare triple {28264#(< (+ main_~c~0 2) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {28264#(< (+ main_~c~0 2) ~SIZE~0)} is VALID [2022-04-28 03:59:07,287 INFO L290 TraceCheckUtils]: 16: Hoare triple {28264#(< (+ main_~c~0 2) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {28264#(< (+ main_~c~0 2) ~SIZE~0)} is VALID [2022-04-28 03:59:07,288 INFO L290 TraceCheckUtils]: 15: Hoare triple {28274#(< 2 ~SIZE~0)} [193] L25-3_primed-->L25-3: Formula: (and (= 0 v_main_~c~0_10) (= v_main_~st~0_7 1)) InVars {} OutVars{main_~c~0=v_main_~c~0_10, main_~st~0=v_main_~st~0_7} AuxVars[] AssignedVars[main_~c~0, main_~st~0] {28264#(< (+ main_~c~0 2) ~SIZE~0)} is VALID [2022-04-28 03:59:07,288 INFO L290 TraceCheckUtils]: 14: Hoare triple {28274#(< 2 ~SIZE~0)} [196] L42-->L25-3_primed: Formula: (let ((.cse4 (= v_main_~st~0_293 v_main_~st~0_287)) (.cse3 (= v_~SIZE~0_223 v_main_~d~0_31)) (.cse0 (= v_main_~a~0_74 v_main_~b~0_70)) (.cse2 (<= (+ v_~last~0_248 2) v_~SIZE~0_223)) (.cse1 (= 2 v_~SIZE~0_223)) (.cse5 (= v_main_~b~0_70 v_main_~b~0_69)) (.cse6 (= v_main_~a~0_74 v_main_~a~0_73))) (or (and (< 0 (div (+ (* (- 1) v_main_~b~0_70) v_main_~b~0_69) 2)) (= v_main_~st~0_287 0) (= (+ (* 2 (div (+ (- v_main_~b~0_70) v_main_~b~0_69) 2)) v_main_~a~0_74) v_main_~a~0_73) (= v_~SIZE~0_223 v_main_~c~0_547) (= (mod (+ v_main_~b~0_70 v_main_~b~0_69) 2) 0) .cse0 .cse1 .cse2 (not .cse3)) (and .cse4 .cse5 (= v_main_~c~0_553 v_main_~c~0_547) (= |v_main_#t~post5_323| |v_main_#t~post5_318|) .cse6 (= v_~SIZE~0_223 v_~SIZE~0_223) (= v_main_~d~0_31 v_main_~d~0_31) (= v_~last~0_248 v_~last~0_248)) (and .cse4 (or .cse3 (not .cse0) (not .cse2) (not .cse1)) .cse5 (= v_main_~c~0_547 v_main_~c~0_553) (= |v_main_#t~post5_318| |v_main_#t~post5_323|) .cse6))) InVars {~SIZE~0=v_~SIZE~0_223, main_~c~0=v_main_~c~0_553, main_#t~post5=|v_main_#t~post5_323|, main_~d~0=v_main_~d~0_31, main_~st~0=v_main_~st~0_293, main_~b~0=v_main_~b~0_70, ~last~0=v_~last~0_248, main_~a~0=v_main_~a~0_74} OutVars{~SIZE~0=v_~SIZE~0_223, main_~c~0=v_main_~c~0_547, main_#t~post5=|v_main_#t~post5_318|, main_~d~0=v_main_~d~0_31, main_~st~0=v_main_~st~0_287, main_~b~0=v_main_~b~0_69, ~last~0=v_~last~0_248, main_~a~0=v_main_~a~0_73} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {28274#(< 2 ~SIZE~0)} is VALID [2022-04-28 03:59:07,289 INFO L290 TraceCheckUtils]: 13: Hoare triple {28274#(< 2 ~SIZE~0)} [195] L25-3_primed-->L42: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {28274#(< 2 ~SIZE~0)} is VALID [2022-04-28 03:59:07,289 INFO L290 TraceCheckUtils]: 12: Hoare triple {28274#(< 2 ~SIZE~0)} [194] L42-->L25-3_primed: Formula: (let ((.cse5 (= v_~SIZE~0_223 v_main_~d~0_31)) (.cse2 (= v_main_~a~0_74 v_main_~b~0_70)) (.cse4 (<= (+ v_~last~0_248 2) v_~SIZE~0_223)) (.cse3 (= 2 v_~SIZE~0_223)) (.cse0 (= v_main_~b~0_70 v_main_~b~0_69)) (.cse1 (= v_main_~a~0_74 v_main_~a~0_73))) (or (and (= v_main_~c~0_550 v_main_~c~0_547) (= |v_main_#t~post5_320| |v_main_#t~post5_318|) (= v_main_~st~0_290 v_main_~st~0_287) .cse0 .cse1 (= v_~SIZE~0_223 v_~SIZE~0_223) (= v_main_~d~0_31 v_main_~d~0_31) (= v_~last~0_248 v_~last~0_248)) (and (< 0 (div (+ (* (- 1) v_main_~b~0_70) v_main_~b~0_69) 2)) (= v_main_~st~0_287 0) (= (+ (* 2 (div (+ (- v_main_~b~0_70) v_main_~b~0_69) 2)) v_main_~a~0_74) v_main_~a~0_73) (= v_~SIZE~0_223 v_main_~c~0_547) (= (mod (+ v_main_~b~0_70 v_main_~b~0_69) 2) 0) .cse2 .cse3 .cse4 (not .cse5)) (and (= v_main_~st~0_287 v_main_~st~0_290) (or .cse5 (not .cse2) (not .cse4) (not .cse3)) .cse0 .cse1 (= v_main_~c~0_547 v_main_~c~0_550) (= |v_main_#t~post5_318| |v_main_#t~post5_320|)))) InVars {~SIZE~0=v_~SIZE~0_223, main_~c~0=v_main_~c~0_550, main_#t~post5=|v_main_#t~post5_320|, main_~d~0=v_main_~d~0_31, main_~st~0=v_main_~st~0_290, main_~b~0=v_main_~b~0_70, ~last~0=v_~last~0_248, main_~a~0=v_main_~a~0_74} OutVars{~SIZE~0=v_~SIZE~0_223, main_~c~0=v_main_~c~0_547, main_#t~post5=|v_main_#t~post5_318|, main_~d~0=v_main_~d~0_31, main_~st~0=v_main_~st~0_287, main_~b~0=v_main_~b~0_69, ~last~0=v_~last~0_248, main_~a~0=v_main_~a~0_73} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {28274#(< 2 ~SIZE~0)} is VALID [2022-04-28 03:59:07,289 INFO L290 TraceCheckUtils]: 11: Hoare triple {28274#(< 2 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {28274#(< 2 ~SIZE~0)} is VALID [2022-04-28 03:59:07,289 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {28116#true} {28274#(< 2 ~SIZE~0)} #86#return; {28274#(< 2 ~SIZE~0)} is VALID [2022-04-28 03:59:07,290 INFO L290 TraceCheckUtils]: 9: Hoare triple {28116#true} assume true; {28116#true} is VALID [2022-04-28 03:59:07,290 INFO L290 TraceCheckUtils]: 8: Hoare triple {28116#true} assume !(0 == ~cond); {28116#true} is VALID [2022-04-28 03:59:07,290 INFO L290 TraceCheckUtils]: 7: Hoare triple {28116#true} ~cond := #in~cond; {28116#true} is VALID [2022-04-28 03:59:07,290 INFO L272 TraceCheckUtils]: 6: Hoare triple {28274#(< 2 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {28116#true} is VALID [2022-04-28 03:59:07,290 INFO L290 TraceCheckUtils]: 5: Hoare triple {28274#(< 2 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {28274#(< 2 ~SIZE~0)} is VALID [2022-04-28 03:59:07,290 INFO L272 TraceCheckUtils]: 4: Hoare triple {28274#(< 2 ~SIZE~0)} call #t~ret7 := main(); {28274#(< 2 ~SIZE~0)} is VALID [2022-04-28 03:59:07,290 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28274#(< 2 ~SIZE~0)} {28116#true} #90#return; {28274#(< 2 ~SIZE~0)} is VALID [2022-04-28 03:59:07,291 INFO L290 TraceCheckUtils]: 2: Hoare triple {28274#(< 2 ~SIZE~0)} assume true; {28274#(< 2 ~SIZE~0)} is VALID [2022-04-28 03:59:07,291 INFO L290 TraceCheckUtils]: 1: Hoare triple {28116#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {28274#(< 2 ~SIZE~0)} is VALID [2022-04-28 03:59:07,291 INFO L272 TraceCheckUtils]: 0: Hoare triple {28116#true} call ULTIMATE.init(); {28116#true} is VALID [2022-04-28 03:59:07,291 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 03:59:07,291 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [147858291] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:59:07,291 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:59:07,292 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 14 [2022-04-28 03:59:07,368 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:59:07,368 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1619887923] [2022-04-28 03:59:07,368 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1619887923] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:59:07,368 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:59:07,368 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 03:59:07,368 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [916223610] [2022-04-28 03:59:07,368 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:59:07,369 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 45 [2022-04-28 03:59:07,369 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:59:07,369 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:59:07,386 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 03:59:07,386 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 03:59:07,387 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:59:07,387 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 03:59:07,387 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=115, Invalid=191, Unknown=0, NotChecked=0, Total=306 [2022-04-28 03:59:07,387 INFO L87 Difference]: Start difference. First operand 145 states and 178 transitions. Second operand has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:59:08,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:08,011 INFO L93 Difference]: Finished difference Result 272 states and 342 transitions. [2022-04-28 03:59:08,011 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 03:59:08,011 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 45 [2022-04-28 03:59:08,011 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:59:08,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:59:08,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 74 transitions. [2022-04-28 03:59:08,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:59:08,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 74 transitions. [2022-04-28 03:59:08,012 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 74 transitions. [2022-04-28 03:59:08,053 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 03:59:08,055 INFO L225 Difference]: With dead ends: 272 [2022-04-28 03:59:08,056 INFO L226 Difference]: Without dead ends: 194 [2022-04-28 03:59:08,056 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 78 SyntacticMatches, 4 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 199 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=152, Invalid=268, Unknown=0, NotChecked=0, Total=420 [2022-04-28 03:59:08,056 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 49 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 208 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 33 SdHoareTripleChecker+Invalid, 225 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 208 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 03:59:08,056 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 33 Invalid, 225 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 208 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 03:59:08,057 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 194 states. [2022-04-28 03:59:08,339 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 194 to 163. [2022-04-28 03:59:08,340 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:59:08,340 INFO L82 GeneralOperation]: Start isEquivalent. First operand 194 states. Second operand has 163 states, 148 states have (on average 1.2297297297297298) internal successors, (182), 151 states have internal predecessors, (182), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:08,340 INFO L74 IsIncluded]: Start isIncluded. First operand 194 states. Second operand has 163 states, 148 states have (on average 1.2297297297297298) internal successors, (182), 151 states have internal predecessors, (182), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:08,340 INFO L87 Difference]: Start difference. First operand 194 states. Second operand has 163 states, 148 states have (on average 1.2297297297297298) internal successors, (182), 151 states have internal predecessors, (182), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:08,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:08,343 INFO L93 Difference]: Finished difference Result 194 states and 233 transitions. [2022-04-28 03:59:08,343 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 233 transitions. [2022-04-28 03:59:08,343 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:59:08,343 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:59:08,343 INFO L74 IsIncluded]: Start isIncluded. First operand has 163 states, 148 states have (on average 1.2297297297297298) internal successors, (182), 151 states have internal predecessors, (182), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 194 states. [2022-04-28 03:59:08,343 INFO L87 Difference]: Start difference. First operand has 163 states, 148 states have (on average 1.2297297297297298) internal successors, (182), 151 states have internal predecessors, (182), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 194 states. [2022-04-28 03:59:08,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:08,365 INFO L93 Difference]: Finished difference Result 194 states and 233 transitions. [2022-04-28 03:59:08,365 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 233 transitions. [2022-04-28 03:59:08,365 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:59:08,365 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:59:08,365 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:59:08,365 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:59:08,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 163 states, 148 states have (on average 1.2297297297297298) internal successors, (182), 151 states have internal predecessors, (182), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:08,367 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 163 states to 163 states and 199 transitions. [2022-04-28 03:59:08,367 INFO L78 Accepts]: Start accepts. Automaton has 163 states and 199 transitions. Word has length 45 [2022-04-28 03:59:08,367 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:59:08,368 INFO L495 AbstractCegarLoop]: Abstraction has 163 states and 199 transitions. [2022-04-28 03:59:08,368 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 03:59:08,368 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 163 states and 199 transitions. [2022-04-28 03:59:08,695 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 199 edges. 199 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:59:08,695 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 199 transitions. [2022-04-28 03:59:08,695 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 03:59:08,695 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:59:08,696 INFO L195 NwaCegarLoop]: trace histogram [8, 8, 7, 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 03:59:08,728 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-28 03:59:08,896 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable30,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:59:08,896 INFO L420 AbstractCegarLoop]: === Iteration 32 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:59:08,897 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:59:08,897 INFO L85 PathProgramCache]: Analyzing trace with hash 1569322332, now seen corresponding path program 22 times [2022-04-28 03:59:08,897 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:59:08,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [691795574] [2022-04-28 03:59:09,048 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:59:09,197 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:59:09,198 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:59:09,200 INFO L85 PathProgramCache]: Analyzing trace with hash -1356206271, now seen corresponding path program 1 times [2022-04-28 03:59:09,200 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:59:09,200 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [17037982] [2022-04-28 03:59:09,200 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:59:09,200 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:59:09,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:09,390 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:59:09,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:09,395 INFO L290 TraceCheckUtils]: 0: Hoare triple {29609#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,395 INFO L290 TraceCheckUtils]: 1: Hoare triple {29596#(<= 20 ~SIZE~0)} assume true; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,396 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {29596#(<= 20 ~SIZE~0)} {29591#true} #90#return; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,396 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:59:09,396 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:09,399 INFO L290 TraceCheckUtils]: 0: Hoare triple {29591#true} ~cond := #in~cond; {29591#true} is VALID [2022-04-28 03:59:09,399 INFO L290 TraceCheckUtils]: 1: Hoare triple {29591#true} assume !(0 == ~cond); {29591#true} is VALID [2022-04-28 03:59:09,400 INFO L290 TraceCheckUtils]: 2: Hoare triple {29591#true} assume true; {29591#true} is VALID [2022-04-28 03:59:09,400 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29591#true} {29596#(<= 20 ~SIZE~0)} #86#return; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,400 INFO L272 TraceCheckUtils]: 0: Hoare triple {29591#true} call ULTIMATE.init(); {29609#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:59:09,401 INFO L290 TraceCheckUtils]: 1: Hoare triple {29609#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,401 INFO L290 TraceCheckUtils]: 2: Hoare triple {29596#(<= 20 ~SIZE~0)} assume true; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,401 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29596#(<= 20 ~SIZE~0)} {29591#true} #90#return; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,401 INFO L272 TraceCheckUtils]: 4: Hoare triple {29596#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,402 INFO L290 TraceCheckUtils]: 5: Hoare triple {29596#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,402 INFO L272 TraceCheckUtils]: 6: Hoare triple {29596#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {29591#true} is VALID [2022-04-28 03:59:09,402 INFO L290 TraceCheckUtils]: 7: Hoare triple {29591#true} ~cond := #in~cond; {29591#true} is VALID [2022-04-28 03:59:09,402 INFO L290 TraceCheckUtils]: 8: Hoare triple {29591#true} assume !(0 == ~cond); {29591#true} is VALID [2022-04-28 03:59:09,402 INFO L290 TraceCheckUtils]: 9: Hoare triple {29591#true} assume true; {29591#true} is VALID [2022-04-28 03:59:09,402 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29591#true} {29596#(<= 20 ~SIZE~0)} #86#return; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,403 INFO L290 TraceCheckUtils]: 11: Hoare triple {29596#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {29601#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:59:09,403 INFO L290 TraceCheckUtils]: 12: Hoare triple {29601#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {29602#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:59:09,404 INFO L290 TraceCheckUtils]: 13: Hoare triple {29602#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [198] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_334| |v_main_#t~post5_332|)) (.cse2 (= v_main_~st~0_307 v_main_~st~0_306)) (.cse3 (= v_main_~c~0_569 v_main_~c~0_568)) (.cse1 (<= v_~last~0_257 v_main_~c~0_569))) (or (and .cse0 (or (not .cse1) (not (< v_main_~c~0_569 v_~SIZE~0_231))) .cse2 .cse3) (and .cse0 (= v_~SIZE~0_231 v_~SIZE~0_231) .cse2 .cse3 (= v_~last~0_257 v_~last~0_257)) (and (< v_main_~c~0_569 v_main_~c~0_568) (< v_main_~c~0_568 (+ v_~SIZE~0_231 1)) .cse1 (= v_main_~st~0_306 0)))) InVars {~SIZE~0=v_~SIZE~0_231, main_~c~0=v_main_~c~0_569, main_#t~post5=|v_main_#t~post5_334|, main_~st~0=v_main_~st~0_307, ~last~0=v_~last~0_257} OutVars{~SIZE~0=v_~SIZE~0_231, main_#t~post5=|v_main_#t~post5_332|, main_~c~0=v_main_~c~0_568, main_~st~0=v_main_~st~0_306, ~last~0=v_~last~0_257} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {29603#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:09,404 INFO L290 TraceCheckUtils]: 14: Hoare triple {29603#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [199] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {29603#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:09,405 INFO L290 TraceCheckUtils]: 15: Hoare triple {29603#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [200] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_571 v_main_~c~0_570)) (.cse1 (= |v_main_#t~post5_337| |v_main_#t~post5_333|))) (or (and .cse0 (or (not (< v_main_~c~0_571 v_~last~0_258)) (not (< v_main_~c~0_571 v_~SIZE~0_232))) .cse1) (and (< v_main_~c~0_571 v_main_~c~0_570) (< v_main_~c~0_570 (+ v_~SIZE~0_232 1)) (< v_main_~c~0_570 (+ v_~last~0_258 1))) (and .cse0 (= v_~last~0_258 v_~last~0_258) (= v_~SIZE~0_232 v_~SIZE~0_232) .cse1))) InVars {~SIZE~0=v_~SIZE~0_232, main_~c~0=v_main_~c~0_571, main_#t~post5=|v_main_#t~post5_337|, ~last~0=v_~last~0_258} OutVars{~SIZE~0=v_~SIZE~0_232, main_#t~post5=|v_main_#t~post5_333|, main_~c~0=v_main_~c~0_570, ~last~0=v_~last~0_258} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {29603#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:09,405 INFO L290 TraceCheckUtils]: 16: Hoare triple {29603#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [197] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {29604#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:59:09,406 INFO L290 TraceCheckUtils]: 17: Hoare triple {29604#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {29605#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:09,406 INFO L290 TraceCheckUtils]: 18: Hoare triple {29605#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {29605#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:09,407 INFO L290 TraceCheckUtils]: 19: Hoare triple {29605#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {29606#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:09,407 INFO L290 TraceCheckUtils]: 20: Hoare triple {29606#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {29606#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:09,407 INFO L272 TraceCheckUtils]: 21: Hoare triple {29606#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {29607#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:59:09,408 INFO L290 TraceCheckUtils]: 22: Hoare triple {29607#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {29608#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:59:09,408 INFO L290 TraceCheckUtils]: 23: Hoare triple {29608#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {29592#false} is VALID [2022-04-28 03:59:09,408 INFO L290 TraceCheckUtils]: 24: Hoare triple {29592#false} assume !false; {29592#false} is VALID [2022-04-28 03:59:09,408 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:09,408 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:59:09,408 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [17037982] [2022-04-28 03:59:09,408 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [17037982] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:59:09,409 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [307875315] [2022-04-28 03:59:09,409 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:59:09,409 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:59:09,409 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:59:09,424 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:59:09,424 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-28 03:59:09,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:09,461 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:59:09,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:09,467 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:59:09,707 INFO L272 TraceCheckUtils]: 0: Hoare triple {29591#true} call ULTIMATE.init(); {29591#true} is VALID [2022-04-28 03:59:09,707 INFO L290 TraceCheckUtils]: 1: Hoare triple {29591#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,708 INFO L290 TraceCheckUtils]: 2: Hoare triple {29596#(<= 20 ~SIZE~0)} assume true; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,708 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29596#(<= 20 ~SIZE~0)} {29591#true} #90#return; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,708 INFO L272 TraceCheckUtils]: 4: Hoare triple {29596#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,708 INFO L290 TraceCheckUtils]: 5: Hoare triple {29596#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,709 INFO L272 TraceCheckUtils]: 6: Hoare triple {29596#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,709 INFO L290 TraceCheckUtils]: 7: Hoare triple {29596#(<= 20 ~SIZE~0)} ~cond := #in~cond; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,709 INFO L290 TraceCheckUtils]: 8: Hoare triple {29596#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,709 INFO L290 TraceCheckUtils]: 9: Hoare triple {29596#(<= 20 ~SIZE~0)} assume true; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,710 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29596#(<= 20 ~SIZE~0)} {29596#(<= 20 ~SIZE~0)} #86#return; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,710 INFO L290 TraceCheckUtils]: 11: Hoare triple {29596#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:09,710 INFO L290 TraceCheckUtils]: 12: Hoare triple {29596#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {29649#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:59:09,711 INFO L290 TraceCheckUtils]: 13: Hoare triple {29649#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [198] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_334| |v_main_#t~post5_332|)) (.cse2 (= v_main_~st~0_307 v_main_~st~0_306)) (.cse3 (= v_main_~c~0_569 v_main_~c~0_568)) (.cse1 (<= v_~last~0_257 v_main_~c~0_569))) (or (and .cse0 (or (not .cse1) (not (< v_main_~c~0_569 v_~SIZE~0_231))) .cse2 .cse3) (and .cse0 (= v_~SIZE~0_231 v_~SIZE~0_231) .cse2 .cse3 (= v_~last~0_257 v_~last~0_257)) (and (< v_main_~c~0_569 v_main_~c~0_568) (< v_main_~c~0_568 (+ v_~SIZE~0_231 1)) .cse1 (= v_main_~st~0_306 0)))) InVars {~SIZE~0=v_~SIZE~0_231, main_~c~0=v_main_~c~0_569, main_#t~post5=|v_main_#t~post5_334|, main_~st~0=v_main_~st~0_307, ~last~0=v_~last~0_257} OutVars{~SIZE~0=v_~SIZE~0_231, main_#t~post5=|v_main_#t~post5_332|, main_~c~0=v_main_~c~0_568, main_~st~0=v_main_~st~0_306, ~last~0=v_~last~0_257} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {29653#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:09,711 INFO L290 TraceCheckUtils]: 14: Hoare triple {29653#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [199] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {29653#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:09,712 INFO L290 TraceCheckUtils]: 15: Hoare triple {29653#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [200] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_571 v_main_~c~0_570)) (.cse1 (= |v_main_#t~post5_337| |v_main_#t~post5_333|))) (or (and .cse0 (or (not (< v_main_~c~0_571 v_~last~0_258)) (not (< v_main_~c~0_571 v_~SIZE~0_232))) .cse1) (and (< v_main_~c~0_571 v_main_~c~0_570) (< v_main_~c~0_570 (+ v_~SIZE~0_232 1)) (< v_main_~c~0_570 (+ v_~last~0_258 1))) (and .cse0 (= v_~last~0_258 v_~last~0_258) (= v_~SIZE~0_232 v_~SIZE~0_232) .cse1))) InVars {~SIZE~0=v_~SIZE~0_232, main_~c~0=v_main_~c~0_571, main_#t~post5=|v_main_#t~post5_337|, ~last~0=v_~last~0_258} OutVars{~SIZE~0=v_~SIZE~0_232, main_#t~post5=|v_main_#t~post5_333|, main_~c~0=v_main_~c~0_570, ~last~0=v_~last~0_258} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {29653#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:09,712 INFO L290 TraceCheckUtils]: 16: Hoare triple {29653#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [197] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {29663#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:59:09,713 INFO L290 TraceCheckUtils]: 17: Hoare triple {29663#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {29592#false} is VALID [2022-04-28 03:59:09,713 INFO L290 TraceCheckUtils]: 18: Hoare triple {29592#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {29592#false} is VALID [2022-04-28 03:59:09,713 INFO L290 TraceCheckUtils]: 19: Hoare triple {29592#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {29592#false} is VALID [2022-04-28 03:59:09,713 INFO L290 TraceCheckUtils]: 20: Hoare triple {29592#false} assume !(~d~0 == ~SIZE~0); {29592#false} is VALID [2022-04-28 03:59:09,713 INFO L272 TraceCheckUtils]: 21: Hoare triple {29592#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {29592#false} is VALID [2022-04-28 03:59:09,713 INFO L290 TraceCheckUtils]: 22: Hoare triple {29592#false} ~cond := #in~cond; {29592#false} is VALID [2022-04-28 03:59:09,713 INFO L290 TraceCheckUtils]: 23: Hoare triple {29592#false} assume 0 == ~cond; {29592#false} is VALID [2022-04-28 03:59:09,713 INFO L290 TraceCheckUtils]: 24: Hoare triple {29592#false} assume !false; {29592#false} is VALID [2022-04-28 03:59:09,714 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:09,714 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:59:09,986 INFO L290 TraceCheckUtils]: 24: Hoare triple {29592#false} assume !false; {29592#false} is VALID [2022-04-28 03:59:09,986 INFO L290 TraceCheckUtils]: 23: Hoare triple {29592#false} assume 0 == ~cond; {29592#false} is VALID [2022-04-28 03:59:09,986 INFO L290 TraceCheckUtils]: 22: Hoare triple {29592#false} ~cond := #in~cond; {29592#false} is VALID [2022-04-28 03:59:09,986 INFO L272 TraceCheckUtils]: 21: Hoare triple {29592#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {29592#false} is VALID [2022-04-28 03:59:09,986 INFO L290 TraceCheckUtils]: 20: Hoare triple {29592#false} assume !(~d~0 == ~SIZE~0); {29592#false} is VALID [2022-04-28 03:59:09,986 INFO L290 TraceCheckUtils]: 19: Hoare triple {29592#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {29592#false} is VALID [2022-04-28 03:59:09,986 INFO L290 TraceCheckUtils]: 18: Hoare triple {29592#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {29592#false} is VALID [2022-04-28 03:59:09,987 INFO L290 TraceCheckUtils]: 17: Hoare triple {29709#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {29592#false} is VALID [2022-04-28 03:59:09,988 INFO L290 TraceCheckUtils]: 16: Hoare triple {29713#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [197] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {29709#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:59:09,988 INFO L290 TraceCheckUtils]: 15: Hoare triple {29713#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [200] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_571 v_main_~c~0_570)) (.cse1 (= |v_main_#t~post5_337| |v_main_#t~post5_333|))) (or (and .cse0 (or (not (< v_main_~c~0_571 v_~last~0_258)) (not (< v_main_~c~0_571 v_~SIZE~0_232))) .cse1) (and (< v_main_~c~0_571 v_main_~c~0_570) (< v_main_~c~0_570 (+ v_~SIZE~0_232 1)) (< v_main_~c~0_570 (+ v_~last~0_258 1))) (and .cse0 (= v_~last~0_258 v_~last~0_258) (= v_~SIZE~0_232 v_~SIZE~0_232) .cse1))) InVars {~SIZE~0=v_~SIZE~0_232, main_~c~0=v_main_~c~0_571, main_#t~post5=|v_main_#t~post5_337|, ~last~0=v_~last~0_258} OutVars{~SIZE~0=v_~SIZE~0_232, main_#t~post5=|v_main_#t~post5_333|, main_~c~0=v_main_~c~0_570, ~last~0=v_~last~0_258} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {29713#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:09,988 INFO L290 TraceCheckUtils]: 14: Hoare triple {29713#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [199] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {29713#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:09,989 INFO L290 TraceCheckUtils]: 13: Hoare triple {29723#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [198] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_334| |v_main_#t~post5_332|)) (.cse2 (= v_main_~st~0_307 v_main_~st~0_306)) (.cse3 (= v_main_~c~0_569 v_main_~c~0_568)) (.cse1 (<= v_~last~0_257 v_main_~c~0_569))) (or (and .cse0 (or (not .cse1) (not (< v_main_~c~0_569 v_~SIZE~0_231))) .cse2 .cse3) (and .cse0 (= v_~SIZE~0_231 v_~SIZE~0_231) .cse2 .cse3 (= v_~last~0_257 v_~last~0_257)) (and (< v_main_~c~0_569 v_main_~c~0_568) (< v_main_~c~0_568 (+ v_~SIZE~0_231 1)) .cse1 (= v_main_~st~0_306 0)))) InVars {~SIZE~0=v_~SIZE~0_231, main_~c~0=v_main_~c~0_569, main_#t~post5=|v_main_#t~post5_334|, main_~st~0=v_main_~st~0_307, ~last~0=v_~last~0_257} OutVars{~SIZE~0=v_~SIZE~0_231, main_#t~post5=|v_main_#t~post5_332|, main_~c~0=v_main_~c~0_568, main_~st~0=v_main_~st~0_306, ~last~0=v_~last~0_257} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {29713#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:09,989 INFO L290 TraceCheckUtils]: 12: Hoare triple {29727#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {29723#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:59:09,989 INFO L290 TraceCheckUtils]: 11: Hoare triple {29727#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {29727#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:09,990 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29591#true} {29727#(< 1 ~SIZE~0)} #86#return; {29727#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:09,990 INFO L290 TraceCheckUtils]: 9: Hoare triple {29591#true} assume true; {29591#true} is VALID [2022-04-28 03:59:09,990 INFO L290 TraceCheckUtils]: 8: Hoare triple {29591#true} assume !(0 == ~cond); {29591#true} is VALID [2022-04-28 03:59:09,990 INFO L290 TraceCheckUtils]: 7: Hoare triple {29591#true} ~cond := #in~cond; {29591#true} is VALID [2022-04-28 03:59:09,990 INFO L272 TraceCheckUtils]: 6: Hoare triple {29727#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {29591#true} is VALID [2022-04-28 03:59:09,990 INFO L290 TraceCheckUtils]: 5: Hoare triple {29727#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {29727#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:09,990 INFO L272 TraceCheckUtils]: 4: Hoare triple {29727#(< 1 ~SIZE~0)} call #t~ret7 := main(); {29727#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:09,991 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29727#(< 1 ~SIZE~0)} {29591#true} #90#return; {29727#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:09,991 INFO L290 TraceCheckUtils]: 2: Hoare triple {29727#(< 1 ~SIZE~0)} assume true; {29727#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:09,991 INFO L290 TraceCheckUtils]: 1: Hoare triple {29591#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {29727#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:09,991 INFO L272 TraceCheckUtils]: 0: Hoare triple {29591#true} call ULTIMATE.init(); {29591#true} is VALID [2022-04-28 03:59:09,991 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:09,992 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [307875315] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:59:09,992 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:59:09,992 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:59:10,535 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:59:10,535 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [691795574] [2022-04-28 03:59:10,536 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [691795574] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:59:10,536 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:59:10,536 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-28 03:59:10,536 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [318125493] [2022-04-28 03:59:10,536 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:59:10,536 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 1.8181818181818181) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 46 [2022-04-28 03:59:10,536 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:59:10,536 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 22 states have (on average 1.8181818181818181) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:10,560 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 03:59:10,560 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-28 03:59:10,560 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:59:10,560 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-28 03:59:10,561 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=161, Invalid=769, Unknown=0, NotChecked=0, Total=930 [2022-04-28 03:59:10,561 INFO L87 Difference]: Start difference. First operand 163 states and 199 transitions. Second operand has 22 states, 22 states have (on average 1.8181818181818181) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:12,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:12,298 INFO L93 Difference]: Finished difference Result 278 states and 341 transitions. [2022-04-28 03:59:12,299 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 03:59:12,299 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 1.8181818181818181) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 46 [2022-04-28 03:59:12,299 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:59:12,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 1.8181818181818181) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:12,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 91 transitions. [2022-04-28 03:59:12,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 1.8181818181818181) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:12,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 91 transitions. [2022-04-28 03:59:12,300 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 91 transitions. [2022-04-28 03:59:12,345 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:59:12,346 INFO L225 Difference]: With dead ends: 278 [2022-04-28 03:59:12,347 INFO L226 Difference]: Without dead ends: 191 [2022-04-28 03:59:12,347 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 48 SyntacticMatches, 13 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 428 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=173, Invalid=883, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 03:59:12,347 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 50 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 961 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 71 SdHoareTripleChecker+Invalid, 972 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 961 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 03:59:12,347 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [51 Valid, 71 Invalid, 972 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 961 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 03:59:12,348 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 191 states. [2022-04-28 03:59:12,667 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 191 to 166. [2022-04-28 03:59:12,667 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:59:12,668 INFO L82 GeneralOperation]: Start isEquivalent. First operand 191 states. Second operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:12,668 INFO L74 IsIncluded]: Start isIncluded. First operand 191 states. Second operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:12,668 INFO L87 Difference]: Start difference. First operand 191 states. Second operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:12,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:12,670 INFO L93 Difference]: Finished difference Result 191 states and 229 transitions. [2022-04-28 03:59:12,670 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 229 transitions. [2022-04-28 03:59:12,670 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:59:12,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:59:12,670 INFO L74 IsIncluded]: Start isIncluded. First operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 191 states. [2022-04-28 03:59:12,671 INFO L87 Difference]: Start difference. First operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 191 states. [2022-04-28 03:59:12,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:12,672 INFO L93 Difference]: Finished difference Result 191 states and 229 transitions. [2022-04-28 03:59:12,672 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 229 transitions. [2022-04-28 03:59:12,673 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:59:12,673 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:59:12,673 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:59:12,673 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:59:12,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:12,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 202 transitions. [2022-04-28 03:59:12,675 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 202 transitions. Word has length 46 [2022-04-28 03:59:12,675 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:59:12,675 INFO L495 AbstractCegarLoop]: Abstraction has 166 states and 202 transitions. [2022-04-28 03:59:12,675 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 22 states have (on average 1.8181818181818181) internal successors, (40), 20 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:12,675 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 166 states and 202 transitions. [2022-04-28 03:59:12,980 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 202 edges. 202 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:59:12,980 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 202 transitions. [2022-04-28 03:59:12,981 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 03:59:12,981 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:59:12,981 INFO L195 NwaCegarLoop]: trace histogram [8, 8, 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:59:12,998 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Ended with exit code 0 [2022-04-28 03:59:13,181 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable31,25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:59:13,182 INFO L420 AbstractCegarLoop]: === Iteration 33 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:59:13,182 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:59:13,182 INFO L85 PathProgramCache]: Analyzing trace with hash -1339441570, now seen corresponding path program 23 times [2022-04-28 03:59:13,182 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:59:13,182 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2011119600] [2022-04-28 03:59:17,266 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:59:17,372 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:59:17,552 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:59:17,553 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:59:17,556 INFO L85 PathProgramCache]: Analyzing trace with hash 1136316481, now seen corresponding path program 1 times [2022-04-28 03:59:17,556 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:59:17,556 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1637772117] [2022-04-28 03:59:17,556 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:59:17,556 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:59:17,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:17,682 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:59:17,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:17,692 INFO L290 TraceCheckUtils]: 0: Hoare triple {31071#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:17,692 INFO L290 TraceCheckUtils]: 1: Hoare triple {31058#(<= 20 ~SIZE~0)} assume true; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:17,696 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {31058#(<= 20 ~SIZE~0)} {31053#true} #90#return; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:17,696 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:59:17,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:17,706 INFO L290 TraceCheckUtils]: 0: Hoare triple {31053#true} ~cond := #in~cond; {31053#true} is VALID [2022-04-28 03:59:17,707 INFO L290 TraceCheckUtils]: 1: Hoare triple {31053#true} assume !(0 == ~cond); {31053#true} is VALID [2022-04-28 03:59:17,707 INFO L290 TraceCheckUtils]: 2: Hoare triple {31053#true} assume true; {31053#true} is VALID [2022-04-28 03:59:17,707 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31053#true} {31058#(<= 20 ~SIZE~0)} #86#return; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:17,707 INFO L272 TraceCheckUtils]: 0: Hoare triple {31053#true} call ULTIMATE.init(); {31071#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:59:17,708 INFO L290 TraceCheckUtils]: 1: Hoare triple {31071#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:17,708 INFO L290 TraceCheckUtils]: 2: Hoare triple {31058#(<= 20 ~SIZE~0)} assume true; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:17,708 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31058#(<= 20 ~SIZE~0)} {31053#true} #90#return; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:17,709 INFO L272 TraceCheckUtils]: 4: Hoare triple {31058#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:17,709 INFO L290 TraceCheckUtils]: 5: Hoare triple {31058#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:17,709 INFO L272 TraceCheckUtils]: 6: Hoare triple {31058#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {31053#true} is VALID [2022-04-28 03:59:17,709 INFO L290 TraceCheckUtils]: 7: Hoare triple {31053#true} ~cond := #in~cond; {31053#true} is VALID [2022-04-28 03:59:17,709 INFO L290 TraceCheckUtils]: 8: Hoare triple {31053#true} assume !(0 == ~cond); {31053#true} is VALID [2022-04-28 03:59:17,709 INFO L290 TraceCheckUtils]: 9: Hoare triple {31053#true} assume true; {31053#true} is VALID [2022-04-28 03:59:17,709 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31053#true} {31058#(<= 20 ~SIZE~0)} #86#return; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:17,710 INFO L290 TraceCheckUtils]: 11: Hoare triple {31058#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {31063#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:59:17,710 INFO L290 TraceCheckUtils]: 12: Hoare triple {31063#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {31064#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:59:17,711 INFO L290 TraceCheckUtils]: 13: Hoare triple {31064#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [202] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_267 v_main_~c~0_594)) (.cse1 (= v_main_~c~0_594 v_main_~c~0_593)) (.cse2 (= |v_main_#t~post5_347| |v_main_#t~post5_345|)) (.cse3 (= v_main_~st~0_323 v_main_~st~0_322))) (or (and (= v_main_~st~0_322 0) .cse0 (< v_main_~c~0_594 v_main_~c~0_593) (< v_main_~c~0_593 (+ v_~SIZE~0_240 1))) (and .cse1 (or (not (< v_main_~c~0_594 v_~SIZE~0_240)) (not .cse0)) .cse2 .cse3) (and (= v_~last~0_267 v_~last~0_267) .cse1 .cse2 .cse3 (= v_~SIZE~0_240 v_~SIZE~0_240)))) InVars {~SIZE~0=v_~SIZE~0_240, main_~c~0=v_main_~c~0_594, main_#t~post5=|v_main_#t~post5_347|, main_~st~0=v_main_~st~0_323, ~last~0=v_~last~0_267} OutVars{~SIZE~0=v_~SIZE~0_240, main_#t~post5=|v_main_#t~post5_345|, main_~c~0=v_main_~c~0_593, main_~st~0=v_main_~st~0_322, ~last~0=v_~last~0_267} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {31065#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:17,711 INFO L290 TraceCheckUtils]: 14: Hoare triple {31065#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [203] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {31065#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:17,712 INFO L290 TraceCheckUtils]: 15: Hoare triple {31065#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [204] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_596 v_main_~c~0_595)) (.cse1 (= |v_main_#t~post5_350| |v_main_#t~post5_346|))) (or (and (= v_~SIZE~0_241 v_~SIZE~0_241) .cse0 .cse1 (= v_~last~0_268 v_~last~0_268)) (and (< v_main_~c~0_595 (+ v_~last~0_268 1)) (< v_main_~c~0_595 (+ v_~SIZE~0_241 1)) (< v_main_~c~0_596 v_main_~c~0_595)) (and .cse0 .cse1 (or (not (< v_main_~c~0_596 v_~SIZE~0_241)) (not (< v_main_~c~0_596 v_~last~0_268)))))) InVars {~SIZE~0=v_~SIZE~0_241, main_~c~0=v_main_~c~0_596, main_#t~post5=|v_main_#t~post5_350|, ~last~0=v_~last~0_268} OutVars{~SIZE~0=v_~SIZE~0_241, main_#t~post5=|v_main_#t~post5_346|, main_~c~0=v_main_~c~0_595, ~last~0=v_~last~0_268} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {31065#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:17,712 INFO L290 TraceCheckUtils]: 16: Hoare triple {31065#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [201] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {31066#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:59:17,713 INFO L290 TraceCheckUtils]: 17: Hoare triple {31066#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {31067#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:17,713 INFO L290 TraceCheckUtils]: 18: Hoare triple {31067#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {31067#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:17,714 INFO L290 TraceCheckUtils]: 19: Hoare triple {31067#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {31068#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:17,714 INFO L290 TraceCheckUtils]: 20: Hoare triple {31068#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {31068#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:17,715 INFO L272 TraceCheckUtils]: 21: Hoare triple {31068#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {31069#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:59:17,715 INFO L290 TraceCheckUtils]: 22: Hoare triple {31069#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {31070#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:59:17,715 INFO L290 TraceCheckUtils]: 23: Hoare triple {31070#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {31054#false} is VALID [2022-04-28 03:59:17,715 INFO L290 TraceCheckUtils]: 24: Hoare triple {31054#false} assume !false; {31054#false} is VALID [2022-04-28 03:59:17,715 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:17,716 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:59:17,716 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1637772117] [2022-04-28 03:59:17,716 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1637772117] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:59:17,716 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [672227825] [2022-04-28 03:59:17,716 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:59:17,716 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:59:17,716 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:59:17,736 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:59:17,738 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-28 03:59:17,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:17,766 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:59:17,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:17,772 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:59:18,010 INFO L272 TraceCheckUtils]: 0: Hoare triple {31053#true} call ULTIMATE.init(); {31053#true} is VALID [2022-04-28 03:59:18,011 INFO L290 TraceCheckUtils]: 1: Hoare triple {31053#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:18,011 INFO L290 TraceCheckUtils]: 2: Hoare triple {31058#(<= 20 ~SIZE~0)} assume true; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:18,011 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31058#(<= 20 ~SIZE~0)} {31053#true} #90#return; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:18,011 INFO L272 TraceCheckUtils]: 4: Hoare triple {31058#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:18,012 INFO L290 TraceCheckUtils]: 5: Hoare triple {31058#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:18,012 INFO L272 TraceCheckUtils]: 6: Hoare triple {31058#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:18,012 INFO L290 TraceCheckUtils]: 7: Hoare triple {31058#(<= 20 ~SIZE~0)} ~cond := #in~cond; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:18,013 INFO L290 TraceCheckUtils]: 8: Hoare triple {31058#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:18,013 INFO L290 TraceCheckUtils]: 9: Hoare triple {31058#(<= 20 ~SIZE~0)} assume true; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:18,013 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31058#(<= 20 ~SIZE~0)} {31058#(<= 20 ~SIZE~0)} #86#return; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:18,013 INFO L290 TraceCheckUtils]: 11: Hoare triple {31058#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:18,014 INFO L290 TraceCheckUtils]: 12: Hoare triple {31058#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {31111#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:59:18,015 INFO L290 TraceCheckUtils]: 13: Hoare triple {31111#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [202] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_267 v_main_~c~0_594)) (.cse1 (= v_main_~c~0_594 v_main_~c~0_593)) (.cse2 (= |v_main_#t~post5_347| |v_main_#t~post5_345|)) (.cse3 (= v_main_~st~0_323 v_main_~st~0_322))) (or (and (= v_main_~st~0_322 0) .cse0 (< v_main_~c~0_594 v_main_~c~0_593) (< v_main_~c~0_593 (+ v_~SIZE~0_240 1))) (and .cse1 (or (not (< v_main_~c~0_594 v_~SIZE~0_240)) (not .cse0)) .cse2 .cse3) (and (= v_~last~0_267 v_~last~0_267) .cse1 .cse2 .cse3 (= v_~SIZE~0_240 v_~SIZE~0_240)))) InVars {~SIZE~0=v_~SIZE~0_240, main_~c~0=v_main_~c~0_594, main_#t~post5=|v_main_#t~post5_347|, main_~st~0=v_main_~st~0_323, ~last~0=v_~last~0_267} OutVars{~SIZE~0=v_~SIZE~0_240, main_#t~post5=|v_main_#t~post5_345|, main_~c~0=v_main_~c~0_593, main_~st~0=v_main_~st~0_322, ~last~0=v_~last~0_267} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {31115#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:18,015 INFO L290 TraceCheckUtils]: 14: Hoare triple {31115#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [203] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {31115#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:18,016 INFO L290 TraceCheckUtils]: 15: Hoare triple {31115#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [204] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_596 v_main_~c~0_595)) (.cse1 (= |v_main_#t~post5_350| |v_main_#t~post5_346|))) (or (and (= v_~SIZE~0_241 v_~SIZE~0_241) .cse0 .cse1 (= v_~last~0_268 v_~last~0_268)) (and (< v_main_~c~0_595 (+ v_~last~0_268 1)) (< v_main_~c~0_595 (+ v_~SIZE~0_241 1)) (< v_main_~c~0_596 v_main_~c~0_595)) (and .cse0 .cse1 (or (not (< v_main_~c~0_596 v_~SIZE~0_241)) (not (< v_main_~c~0_596 v_~last~0_268)))))) InVars {~SIZE~0=v_~SIZE~0_241, main_~c~0=v_main_~c~0_596, main_#t~post5=|v_main_#t~post5_350|, ~last~0=v_~last~0_268} OutVars{~SIZE~0=v_~SIZE~0_241, main_#t~post5=|v_main_#t~post5_346|, main_~c~0=v_main_~c~0_595, ~last~0=v_~last~0_268} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {31115#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:18,016 INFO L290 TraceCheckUtils]: 16: Hoare triple {31115#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [201] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {31125#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:59:18,017 INFO L290 TraceCheckUtils]: 17: Hoare triple {31125#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {31054#false} is VALID [2022-04-28 03:59:18,017 INFO L290 TraceCheckUtils]: 18: Hoare triple {31054#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {31054#false} is VALID [2022-04-28 03:59:18,017 INFO L290 TraceCheckUtils]: 19: Hoare triple {31054#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {31054#false} is VALID [2022-04-28 03:59:18,017 INFO L290 TraceCheckUtils]: 20: Hoare triple {31054#false} assume !(~d~0 == ~SIZE~0); {31054#false} is VALID [2022-04-28 03:59:18,017 INFO L272 TraceCheckUtils]: 21: Hoare triple {31054#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {31054#false} is VALID [2022-04-28 03:59:18,017 INFO L290 TraceCheckUtils]: 22: Hoare triple {31054#false} ~cond := #in~cond; {31054#false} is VALID [2022-04-28 03:59:18,017 INFO L290 TraceCheckUtils]: 23: Hoare triple {31054#false} assume 0 == ~cond; {31054#false} is VALID [2022-04-28 03:59:18,017 INFO L290 TraceCheckUtils]: 24: Hoare triple {31054#false} assume !false; {31054#false} is VALID [2022-04-28 03:59:18,017 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:18,017 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:59:18,300 INFO L290 TraceCheckUtils]: 24: Hoare triple {31054#false} assume !false; {31054#false} is VALID [2022-04-28 03:59:18,301 INFO L290 TraceCheckUtils]: 23: Hoare triple {31054#false} assume 0 == ~cond; {31054#false} is VALID [2022-04-28 03:59:18,301 INFO L290 TraceCheckUtils]: 22: Hoare triple {31054#false} ~cond := #in~cond; {31054#false} is VALID [2022-04-28 03:59:18,301 INFO L272 TraceCheckUtils]: 21: Hoare triple {31054#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {31054#false} is VALID [2022-04-28 03:59:18,301 INFO L290 TraceCheckUtils]: 20: Hoare triple {31054#false} assume !(~d~0 == ~SIZE~0); {31054#false} is VALID [2022-04-28 03:59:18,301 INFO L290 TraceCheckUtils]: 19: Hoare triple {31054#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {31054#false} is VALID [2022-04-28 03:59:18,301 INFO L290 TraceCheckUtils]: 18: Hoare triple {31054#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {31054#false} is VALID [2022-04-28 03:59:18,301 INFO L290 TraceCheckUtils]: 17: Hoare triple {31171#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {31054#false} is VALID [2022-04-28 03:59:18,302 INFO L290 TraceCheckUtils]: 16: Hoare triple {31175#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [201] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {31171#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:59:18,302 INFO L290 TraceCheckUtils]: 15: Hoare triple {31175#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [204] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_596 v_main_~c~0_595)) (.cse1 (= |v_main_#t~post5_350| |v_main_#t~post5_346|))) (or (and (= v_~SIZE~0_241 v_~SIZE~0_241) .cse0 .cse1 (= v_~last~0_268 v_~last~0_268)) (and (< v_main_~c~0_595 (+ v_~last~0_268 1)) (< v_main_~c~0_595 (+ v_~SIZE~0_241 1)) (< v_main_~c~0_596 v_main_~c~0_595)) (and .cse0 .cse1 (or (not (< v_main_~c~0_596 v_~SIZE~0_241)) (not (< v_main_~c~0_596 v_~last~0_268)))))) InVars {~SIZE~0=v_~SIZE~0_241, main_~c~0=v_main_~c~0_596, main_#t~post5=|v_main_#t~post5_350|, ~last~0=v_~last~0_268} OutVars{~SIZE~0=v_~SIZE~0_241, main_#t~post5=|v_main_#t~post5_346|, main_~c~0=v_main_~c~0_595, ~last~0=v_~last~0_268} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {31175#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:18,302 INFO L290 TraceCheckUtils]: 14: Hoare triple {31175#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [203] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {31175#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:18,303 INFO L290 TraceCheckUtils]: 13: Hoare triple {31185#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [202] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_267 v_main_~c~0_594)) (.cse1 (= v_main_~c~0_594 v_main_~c~0_593)) (.cse2 (= |v_main_#t~post5_347| |v_main_#t~post5_345|)) (.cse3 (= v_main_~st~0_323 v_main_~st~0_322))) (or (and (= v_main_~st~0_322 0) .cse0 (< v_main_~c~0_594 v_main_~c~0_593) (< v_main_~c~0_593 (+ v_~SIZE~0_240 1))) (and .cse1 (or (not (< v_main_~c~0_594 v_~SIZE~0_240)) (not .cse0)) .cse2 .cse3) (and (= v_~last~0_267 v_~last~0_267) .cse1 .cse2 .cse3 (= v_~SIZE~0_240 v_~SIZE~0_240)))) InVars {~SIZE~0=v_~SIZE~0_240, main_~c~0=v_main_~c~0_594, main_#t~post5=|v_main_#t~post5_347|, main_~st~0=v_main_~st~0_323, ~last~0=v_~last~0_267} OutVars{~SIZE~0=v_~SIZE~0_240, main_#t~post5=|v_main_#t~post5_345|, main_~c~0=v_main_~c~0_593, main_~st~0=v_main_~st~0_322, ~last~0=v_~last~0_267} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {31175#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:18,303 INFO L290 TraceCheckUtils]: 12: Hoare triple {31189#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {31185#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:59:18,303 INFO L290 TraceCheckUtils]: 11: Hoare triple {31189#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {31189#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:18,304 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31053#true} {31189#(< 1 ~SIZE~0)} #86#return; {31189#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:18,304 INFO L290 TraceCheckUtils]: 9: Hoare triple {31053#true} assume true; {31053#true} is VALID [2022-04-28 03:59:18,304 INFO L290 TraceCheckUtils]: 8: Hoare triple {31053#true} assume !(0 == ~cond); {31053#true} is VALID [2022-04-28 03:59:18,304 INFO L290 TraceCheckUtils]: 7: Hoare triple {31053#true} ~cond := #in~cond; {31053#true} is VALID [2022-04-28 03:59:18,304 INFO L272 TraceCheckUtils]: 6: Hoare triple {31189#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {31053#true} is VALID [2022-04-28 03:59:18,304 INFO L290 TraceCheckUtils]: 5: Hoare triple {31189#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {31189#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:18,304 INFO L272 TraceCheckUtils]: 4: Hoare triple {31189#(< 1 ~SIZE~0)} call #t~ret7 := main(); {31189#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:18,305 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31189#(< 1 ~SIZE~0)} {31053#true} #90#return; {31189#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:18,305 INFO L290 TraceCheckUtils]: 2: Hoare triple {31189#(< 1 ~SIZE~0)} assume true; {31189#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:18,305 INFO L290 TraceCheckUtils]: 1: Hoare triple {31053#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {31189#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:18,305 INFO L272 TraceCheckUtils]: 0: Hoare triple {31053#true} call ULTIMATE.init(); {31053#true} is VALID [2022-04-28 03:59:18,305 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:18,306 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [672227825] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:59:18,306 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:59:18,306 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:59:18,855 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:59:18,855 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2011119600] [2022-04-28 03:59:18,855 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2011119600] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:59:18,855 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:59:18,855 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 03:59:18,855 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [675521336] [2022-04-28 03:59:18,855 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:59:18,856 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 1.7391304347826086) internal successors, (40), 21 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 46 [2022-04-28 03:59:18,856 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:59:18,856 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 23 states have (on average 1.7391304347826086) internal successors, (40), 21 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:18,878 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 03:59:18,878 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 03:59:18,878 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:59:18,878 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 03:59:18,879 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=175, Invalid=817, Unknown=0, NotChecked=0, Total=992 [2022-04-28 03:59:18,879 INFO L87 Difference]: Start difference. First operand 166 states and 202 transitions. Second operand has 23 states, 23 states have (on average 1.7391304347826086) internal successors, (40), 21 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:20,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:20,256 INFO L93 Difference]: Finished difference Result 281 states and 344 transitions. [2022-04-28 03:59:20,256 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 03:59:20,256 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 1.7391304347826086) internal successors, (40), 21 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 46 [2022-04-28 03:59:20,256 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:59:20,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.7391304347826086) internal successors, (40), 21 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:20,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 92 transitions. [2022-04-28 03:59:20,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.7391304347826086) internal successors, (40), 21 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:20,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 92 transitions. [2022-04-28 03:59:20,260 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 92 transitions. [2022-04-28 03:59:20,302 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:59:20,309 INFO L225 Difference]: With dead ends: 281 [2022-04-28 03:59:20,309 INFO L226 Difference]: Without dead ends: 194 [2022-04-28 03:59:20,310 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 48 SyntacticMatches, 12 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 463 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=187, Invalid=935, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 03:59:20,310 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 47 mSDsluCounter, 38 mSDsCounter, 0 mSdLazyCounter, 797 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 58 SdHoareTripleChecker+Invalid, 807 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 797 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 03:59:20,310 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 58 Invalid, 807 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 797 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 03:59:20,311 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 194 states. [2022-04-28 03:59:20,605 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 194 to 166. [2022-04-28 03:59:20,605 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:59:20,605 INFO L82 GeneralOperation]: Start isEquivalent. First operand 194 states. Second operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:20,605 INFO L74 IsIncluded]: Start isIncluded. First operand 194 states. Second operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:20,606 INFO L87 Difference]: Start difference. First operand 194 states. Second operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:20,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:20,608 INFO L93 Difference]: Finished difference Result 194 states and 232 transitions. [2022-04-28 03:59:20,608 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 232 transitions. [2022-04-28 03:59:20,608 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:59:20,608 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:59:20,608 INFO L74 IsIncluded]: Start isIncluded. First operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 194 states. [2022-04-28 03:59:20,608 INFO L87 Difference]: Start difference. First operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 194 states. [2022-04-28 03:59:20,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:20,623 INFO L93 Difference]: Finished difference Result 194 states and 232 transitions. [2022-04-28 03:59:20,623 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 232 transitions. [2022-04-28 03:59:20,623 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:59:20,624 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:59:20,624 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:59:20,624 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:59:20,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:20,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 202 transitions. [2022-04-28 03:59:20,626 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 202 transitions. Word has length 46 [2022-04-28 03:59:20,626 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:59:20,626 INFO L495 AbstractCegarLoop]: Abstraction has 166 states and 202 transitions. [2022-04-28 03:59:20,626 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 23 states have (on average 1.7391304347826086) internal successors, (40), 21 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:20,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 166 states and 202 transitions. [2022-04-28 03:59:20,946 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 202 edges. 202 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:59:20,946 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 202 transitions. [2022-04-28 03:59:20,946 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 03:59:20,946 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:59:20,946 INFO L195 NwaCegarLoop]: trace histogram [8, 8, 5, 3, 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 03:59:20,962 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Forceful destruction successful, exit code 0 [2022-04-28 03:59:21,162 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable32 [2022-04-28 03:59:21,163 INFO L420 AbstractCegarLoop]: === Iteration 34 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:59:21,163 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:59:21,163 INFO L85 PathProgramCache]: Analyzing trace with hash -1277401956, now seen corresponding path program 24 times [2022-04-28 03:59:21,163 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:59:21,163 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1526658975] [2022-04-28 03:59:25,285 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:59:25,390 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:59:25,576 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:59:25,577 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:59:25,580 INFO L85 PathProgramCache]: Analyzing trace with hash -666128063, now seen corresponding path program 1 times [2022-04-28 03:59:25,580 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:59:25,580 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1562421382] [2022-04-28 03:59:25,580 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:59:25,580 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:59:25,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:25,783 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:59:25,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:25,789 INFO L290 TraceCheckUtils]: 0: Hoare triple {32546#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:25,790 INFO L290 TraceCheckUtils]: 1: Hoare triple {32533#(<= 20 ~SIZE~0)} assume true; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:25,790 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {32533#(<= 20 ~SIZE~0)} {32528#true} #90#return; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:25,790 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:59:25,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:25,793 INFO L290 TraceCheckUtils]: 0: Hoare triple {32528#true} ~cond := #in~cond; {32528#true} is VALID [2022-04-28 03:59:25,793 INFO L290 TraceCheckUtils]: 1: Hoare triple {32528#true} assume !(0 == ~cond); {32528#true} is VALID [2022-04-28 03:59:25,793 INFO L290 TraceCheckUtils]: 2: Hoare triple {32528#true} assume true; {32528#true} is VALID [2022-04-28 03:59:25,793 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32528#true} {32533#(<= 20 ~SIZE~0)} #86#return; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:25,794 INFO L272 TraceCheckUtils]: 0: Hoare triple {32528#true} call ULTIMATE.init(); {32546#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:59:25,794 INFO L290 TraceCheckUtils]: 1: Hoare triple {32546#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:25,795 INFO L290 TraceCheckUtils]: 2: Hoare triple {32533#(<= 20 ~SIZE~0)} assume true; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:25,795 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32533#(<= 20 ~SIZE~0)} {32528#true} #90#return; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:25,795 INFO L272 TraceCheckUtils]: 4: Hoare triple {32533#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:25,795 INFO L290 TraceCheckUtils]: 5: Hoare triple {32533#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:25,796 INFO L272 TraceCheckUtils]: 6: Hoare triple {32533#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {32528#true} is VALID [2022-04-28 03:59:25,796 INFO L290 TraceCheckUtils]: 7: Hoare triple {32528#true} ~cond := #in~cond; {32528#true} is VALID [2022-04-28 03:59:25,796 INFO L290 TraceCheckUtils]: 8: Hoare triple {32528#true} assume !(0 == ~cond); {32528#true} is VALID [2022-04-28 03:59:25,796 INFO L290 TraceCheckUtils]: 9: Hoare triple {32528#true} assume true; {32528#true} is VALID [2022-04-28 03:59:25,796 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32528#true} {32533#(<= 20 ~SIZE~0)} #86#return; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:25,797 INFO L290 TraceCheckUtils]: 11: Hoare triple {32533#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {32538#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:59:25,797 INFO L290 TraceCheckUtils]: 12: Hoare triple {32538#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {32539#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:59:25,798 INFO L290 TraceCheckUtils]: 13: Hoare triple {32539#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [206] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_619 v_main_~c~0_618)) (.cse1 (= v_main_~st~0_338 v_main_~st~0_337)) (.cse2 (<= v_~last~0_277 v_main_~c~0_619))) (or (and (= v_~SIZE~0_249 v_~SIZE~0_249) .cse0 .cse1 (= v_~last~0_277 v_~last~0_277) (= |v_main_#t~post5_360| |v_main_#t~post5_358|)) (and .cse0 (= |v_main_#t~post5_358| |v_main_#t~post5_360|) .cse1 (or (not .cse2) (not (< v_main_~c~0_619 v_~SIZE~0_249)))) (and .cse2 (< v_main_~c~0_619 v_main_~c~0_618) (= v_main_~st~0_337 0) (< v_main_~c~0_618 (+ v_~SIZE~0_249 1))))) InVars {~SIZE~0=v_~SIZE~0_249, main_~c~0=v_main_~c~0_619, main_#t~post5=|v_main_#t~post5_360|, main_~st~0=v_main_~st~0_338, ~last~0=v_~last~0_277} OutVars{~SIZE~0=v_~SIZE~0_249, main_#t~post5=|v_main_#t~post5_358|, main_~c~0=v_main_~c~0_618, main_~st~0=v_main_~st~0_337, ~last~0=v_~last~0_277} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {32540#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:25,798 INFO L290 TraceCheckUtils]: 14: Hoare triple {32540#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [207] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {32540#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:25,799 INFO L290 TraceCheckUtils]: 15: Hoare triple {32540#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [208] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_621 v_main_~c~0_620))) (or (and (< v_main_~c~0_620 (+ v_~last~0_278 1)) (< v_main_~c~0_621 v_main_~c~0_620) (< v_main_~c~0_620 (+ v_~SIZE~0_250 1))) (and (or (not (< v_main_~c~0_621 v_~SIZE~0_250)) (not (< v_main_~c~0_621 v_~last~0_278))) .cse0 (= |v_main_#t~post5_359| |v_main_#t~post5_363|)) (and (= v_~last~0_278 v_~last~0_278) (= |v_main_#t~post5_363| |v_main_#t~post5_359|) .cse0 (= v_~SIZE~0_250 v_~SIZE~0_250)))) InVars {~SIZE~0=v_~SIZE~0_250, main_~c~0=v_main_~c~0_621, main_#t~post5=|v_main_#t~post5_363|, ~last~0=v_~last~0_278} OutVars{~SIZE~0=v_~SIZE~0_250, main_#t~post5=|v_main_#t~post5_359|, main_~c~0=v_main_~c~0_620, ~last~0=v_~last~0_278} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {32540#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:25,799 INFO L290 TraceCheckUtils]: 16: Hoare triple {32540#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [205] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {32541#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:59:25,800 INFO L290 TraceCheckUtils]: 17: Hoare triple {32541#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {32542#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:25,801 INFO L290 TraceCheckUtils]: 18: Hoare triple {32542#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {32542#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:25,801 INFO L290 TraceCheckUtils]: 19: Hoare triple {32542#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {32543#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:25,802 INFO L290 TraceCheckUtils]: 20: Hoare triple {32543#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {32543#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:25,802 INFO L272 TraceCheckUtils]: 21: Hoare triple {32543#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {32544#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:59:25,803 INFO L290 TraceCheckUtils]: 22: Hoare triple {32544#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {32545#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:59:25,803 INFO L290 TraceCheckUtils]: 23: Hoare triple {32545#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {32529#false} is VALID [2022-04-28 03:59:25,803 INFO L290 TraceCheckUtils]: 24: Hoare triple {32529#false} assume !false; {32529#false} is VALID [2022-04-28 03:59:25,803 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:25,803 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:59:25,804 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1562421382] [2022-04-28 03:59:25,804 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1562421382] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:59:25,804 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1626341733] [2022-04-28 03:59:25,804 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:59:25,804 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:59:25,804 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:59:25,805 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:59:25,806 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-28 03:59:25,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:25,840 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:59:25,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:25,847 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:59:26,069 INFO L272 TraceCheckUtils]: 0: Hoare triple {32528#true} call ULTIMATE.init(); {32528#true} is VALID [2022-04-28 03:59:26,069 INFO L290 TraceCheckUtils]: 1: Hoare triple {32528#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:26,070 INFO L290 TraceCheckUtils]: 2: Hoare triple {32533#(<= 20 ~SIZE~0)} assume true; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:26,070 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32533#(<= 20 ~SIZE~0)} {32528#true} #90#return; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:26,070 INFO L272 TraceCheckUtils]: 4: Hoare triple {32533#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:26,077 INFO L290 TraceCheckUtils]: 5: Hoare triple {32533#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:26,078 INFO L272 TraceCheckUtils]: 6: Hoare triple {32533#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:26,079 INFO L290 TraceCheckUtils]: 7: Hoare triple {32533#(<= 20 ~SIZE~0)} ~cond := #in~cond; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:26,079 INFO L290 TraceCheckUtils]: 8: Hoare triple {32533#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:26,079 INFO L290 TraceCheckUtils]: 9: Hoare triple {32533#(<= 20 ~SIZE~0)} assume true; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:26,080 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32533#(<= 20 ~SIZE~0)} {32533#(<= 20 ~SIZE~0)} #86#return; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:26,080 INFO L290 TraceCheckUtils]: 11: Hoare triple {32533#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:26,080 INFO L290 TraceCheckUtils]: 12: Hoare triple {32533#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {32586#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:59:26,081 INFO L290 TraceCheckUtils]: 13: Hoare triple {32586#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [206] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_619 v_main_~c~0_618)) (.cse1 (= v_main_~st~0_338 v_main_~st~0_337)) (.cse2 (<= v_~last~0_277 v_main_~c~0_619))) (or (and (= v_~SIZE~0_249 v_~SIZE~0_249) .cse0 .cse1 (= v_~last~0_277 v_~last~0_277) (= |v_main_#t~post5_360| |v_main_#t~post5_358|)) (and .cse0 (= |v_main_#t~post5_358| |v_main_#t~post5_360|) .cse1 (or (not .cse2) (not (< v_main_~c~0_619 v_~SIZE~0_249)))) (and .cse2 (< v_main_~c~0_619 v_main_~c~0_618) (= v_main_~st~0_337 0) (< v_main_~c~0_618 (+ v_~SIZE~0_249 1))))) InVars {~SIZE~0=v_~SIZE~0_249, main_~c~0=v_main_~c~0_619, main_#t~post5=|v_main_#t~post5_360|, main_~st~0=v_main_~st~0_338, ~last~0=v_~last~0_277} OutVars{~SIZE~0=v_~SIZE~0_249, main_#t~post5=|v_main_#t~post5_358|, main_~c~0=v_main_~c~0_618, main_~st~0=v_main_~st~0_337, ~last~0=v_~last~0_277} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {32590#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:26,082 INFO L290 TraceCheckUtils]: 14: Hoare triple {32590#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [207] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {32590#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:26,082 INFO L290 TraceCheckUtils]: 15: Hoare triple {32590#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [208] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_621 v_main_~c~0_620))) (or (and (< v_main_~c~0_620 (+ v_~last~0_278 1)) (< v_main_~c~0_621 v_main_~c~0_620) (< v_main_~c~0_620 (+ v_~SIZE~0_250 1))) (and (or (not (< v_main_~c~0_621 v_~SIZE~0_250)) (not (< v_main_~c~0_621 v_~last~0_278))) .cse0 (= |v_main_#t~post5_359| |v_main_#t~post5_363|)) (and (= v_~last~0_278 v_~last~0_278) (= |v_main_#t~post5_363| |v_main_#t~post5_359|) .cse0 (= v_~SIZE~0_250 v_~SIZE~0_250)))) InVars {~SIZE~0=v_~SIZE~0_250, main_~c~0=v_main_~c~0_621, main_#t~post5=|v_main_#t~post5_363|, ~last~0=v_~last~0_278} OutVars{~SIZE~0=v_~SIZE~0_250, main_#t~post5=|v_main_#t~post5_359|, main_~c~0=v_main_~c~0_620, ~last~0=v_~last~0_278} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {32590#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:26,083 INFO L290 TraceCheckUtils]: 16: Hoare triple {32590#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [205] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {32600#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:59:26,083 INFO L290 TraceCheckUtils]: 17: Hoare triple {32600#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {32529#false} is VALID [2022-04-28 03:59:26,083 INFO L290 TraceCheckUtils]: 18: Hoare triple {32529#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {32529#false} is VALID [2022-04-28 03:59:26,083 INFO L290 TraceCheckUtils]: 19: Hoare triple {32529#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {32529#false} is VALID [2022-04-28 03:59:26,084 INFO L290 TraceCheckUtils]: 20: Hoare triple {32529#false} assume !(~d~0 == ~SIZE~0); {32529#false} is VALID [2022-04-28 03:59:26,084 INFO L272 TraceCheckUtils]: 21: Hoare triple {32529#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {32529#false} is VALID [2022-04-28 03:59:26,084 INFO L290 TraceCheckUtils]: 22: Hoare triple {32529#false} ~cond := #in~cond; {32529#false} is VALID [2022-04-28 03:59:26,084 INFO L290 TraceCheckUtils]: 23: Hoare triple {32529#false} assume 0 == ~cond; {32529#false} is VALID [2022-04-28 03:59:26,084 INFO L290 TraceCheckUtils]: 24: Hoare triple {32529#false} assume !false; {32529#false} is VALID [2022-04-28 03:59:26,084 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:26,084 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:59:26,374 INFO L290 TraceCheckUtils]: 24: Hoare triple {32529#false} assume !false; {32529#false} is VALID [2022-04-28 03:59:26,374 INFO L290 TraceCheckUtils]: 23: Hoare triple {32529#false} assume 0 == ~cond; {32529#false} is VALID [2022-04-28 03:59:26,374 INFO L290 TraceCheckUtils]: 22: Hoare triple {32529#false} ~cond := #in~cond; {32529#false} is VALID [2022-04-28 03:59:26,374 INFO L272 TraceCheckUtils]: 21: Hoare triple {32529#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {32529#false} is VALID [2022-04-28 03:59:26,374 INFO L290 TraceCheckUtils]: 20: Hoare triple {32529#false} assume !(~d~0 == ~SIZE~0); {32529#false} is VALID [2022-04-28 03:59:26,374 INFO L290 TraceCheckUtils]: 19: Hoare triple {32529#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {32529#false} is VALID [2022-04-28 03:59:26,374 INFO L290 TraceCheckUtils]: 18: Hoare triple {32529#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {32529#false} is VALID [2022-04-28 03:59:26,375 INFO L290 TraceCheckUtils]: 17: Hoare triple {32646#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {32529#false} is VALID [2022-04-28 03:59:26,375 INFO L290 TraceCheckUtils]: 16: Hoare triple {32650#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [205] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {32646#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:59:26,375 INFO L290 TraceCheckUtils]: 15: Hoare triple {32650#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [208] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_621 v_main_~c~0_620))) (or (and (< v_main_~c~0_620 (+ v_~last~0_278 1)) (< v_main_~c~0_621 v_main_~c~0_620) (< v_main_~c~0_620 (+ v_~SIZE~0_250 1))) (and (or (not (< v_main_~c~0_621 v_~SIZE~0_250)) (not (< v_main_~c~0_621 v_~last~0_278))) .cse0 (= |v_main_#t~post5_359| |v_main_#t~post5_363|)) (and (= v_~last~0_278 v_~last~0_278) (= |v_main_#t~post5_363| |v_main_#t~post5_359|) .cse0 (= v_~SIZE~0_250 v_~SIZE~0_250)))) InVars {~SIZE~0=v_~SIZE~0_250, main_~c~0=v_main_~c~0_621, main_#t~post5=|v_main_#t~post5_363|, ~last~0=v_~last~0_278} OutVars{~SIZE~0=v_~SIZE~0_250, main_#t~post5=|v_main_#t~post5_359|, main_~c~0=v_main_~c~0_620, ~last~0=v_~last~0_278} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {32650#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:26,376 INFO L290 TraceCheckUtils]: 14: Hoare triple {32650#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [207] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {32650#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:26,376 INFO L290 TraceCheckUtils]: 13: Hoare triple {32660#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [206] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_619 v_main_~c~0_618)) (.cse1 (= v_main_~st~0_338 v_main_~st~0_337)) (.cse2 (<= v_~last~0_277 v_main_~c~0_619))) (or (and (= v_~SIZE~0_249 v_~SIZE~0_249) .cse0 .cse1 (= v_~last~0_277 v_~last~0_277) (= |v_main_#t~post5_360| |v_main_#t~post5_358|)) (and .cse0 (= |v_main_#t~post5_358| |v_main_#t~post5_360|) .cse1 (or (not .cse2) (not (< v_main_~c~0_619 v_~SIZE~0_249)))) (and .cse2 (< v_main_~c~0_619 v_main_~c~0_618) (= v_main_~st~0_337 0) (< v_main_~c~0_618 (+ v_~SIZE~0_249 1))))) InVars {~SIZE~0=v_~SIZE~0_249, main_~c~0=v_main_~c~0_619, main_#t~post5=|v_main_#t~post5_360|, main_~st~0=v_main_~st~0_338, ~last~0=v_~last~0_277} OutVars{~SIZE~0=v_~SIZE~0_249, main_#t~post5=|v_main_#t~post5_358|, main_~c~0=v_main_~c~0_618, main_~st~0=v_main_~st~0_337, ~last~0=v_~last~0_277} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {32650#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:26,377 INFO L290 TraceCheckUtils]: 12: Hoare triple {32664#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {32660#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:59:26,377 INFO L290 TraceCheckUtils]: 11: Hoare triple {32664#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {32664#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:26,377 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32528#true} {32664#(< 1 ~SIZE~0)} #86#return; {32664#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:26,377 INFO L290 TraceCheckUtils]: 9: Hoare triple {32528#true} assume true; {32528#true} is VALID [2022-04-28 03:59:26,377 INFO L290 TraceCheckUtils]: 8: Hoare triple {32528#true} assume !(0 == ~cond); {32528#true} is VALID [2022-04-28 03:59:26,377 INFO L290 TraceCheckUtils]: 7: Hoare triple {32528#true} ~cond := #in~cond; {32528#true} is VALID [2022-04-28 03:59:26,378 INFO L272 TraceCheckUtils]: 6: Hoare triple {32664#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {32528#true} is VALID [2022-04-28 03:59:26,378 INFO L290 TraceCheckUtils]: 5: Hoare triple {32664#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {32664#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:26,378 INFO L272 TraceCheckUtils]: 4: Hoare triple {32664#(< 1 ~SIZE~0)} call #t~ret7 := main(); {32664#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:26,378 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32664#(< 1 ~SIZE~0)} {32528#true} #90#return; {32664#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:26,378 INFO L290 TraceCheckUtils]: 2: Hoare triple {32664#(< 1 ~SIZE~0)} assume true; {32664#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:26,379 INFO L290 TraceCheckUtils]: 1: Hoare triple {32528#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {32664#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:26,379 INFO L272 TraceCheckUtils]: 0: Hoare triple {32528#true} call ULTIMATE.init(); {32528#true} is VALID [2022-04-28 03:59:26,379 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:26,379 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1626341733] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:59:26,379 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:59:26,379 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:59:26,938 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:59:26,938 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1526658975] [2022-04-28 03:59:26,938 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1526658975] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:59:26,938 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:59:26,939 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [24] imperfect sequences [] total 24 [2022-04-28 03:59:26,939 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2015500250] [2022-04-28 03:59:26,939 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:59:26,939 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 1.6666666666666667) internal successors, (40), 22 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 46 [2022-04-28 03:59:26,939 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:59:26,939 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 24 states, 24 states have (on average 1.6666666666666667) internal successors, (40), 22 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:26,962 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 03:59:26,962 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-28 03:59:26,962 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:59:26,962 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-28 03:59:26,963 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=189, Invalid=867, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 03:59:26,963 INFO L87 Difference]: Start difference. First operand 166 states and 202 transitions. Second operand has 24 states, 24 states have (on average 1.6666666666666667) internal successors, (40), 22 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:28,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:28,796 INFO L93 Difference]: Finished difference Result 278 states and 341 transitions. [2022-04-28 03:59:28,796 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-28 03:59:28,796 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 1.6666666666666667) internal successors, (40), 22 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 46 [2022-04-28 03:59:28,796 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:59:28,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 1.6666666666666667) internal successors, (40), 22 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:28,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 93 transitions. [2022-04-28 03:59:28,807 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 1.6666666666666667) internal successors, (40), 22 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:28,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 93 transitions. [2022-04-28 03:59:28,808 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 93 transitions. [2022-04-28 03:59:28,875 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 03:59:28,877 INFO L225 Difference]: With dead ends: 278 [2022-04-28 03:59:28,877 INFO L226 Difference]: Without dead ends: 191 [2022-04-28 03:59:28,878 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 48 SyntacticMatches, 11 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 489 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=201, Invalid=989, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 03:59:28,878 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 58 mSDsluCounter, 45 mSDsCounter, 0 mSdLazyCounter, 946 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 957 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 946 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 03:59:28,878 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [59 Valid, 65 Invalid, 957 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 946 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 03:59:28,879 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 191 states. [2022-04-28 03:59:29,206 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 191 to 166. [2022-04-28 03:59:29,206 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:59:29,207 INFO L82 GeneralOperation]: Start isEquivalent. First operand 191 states. Second operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:29,207 INFO L74 IsIncluded]: Start isIncluded. First operand 191 states. Second operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:29,207 INFO L87 Difference]: Start difference. First operand 191 states. Second operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:29,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:29,209 INFO L93 Difference]: Finished difference Result 191 states and 229 transitions. [2022-04-28 03:59:29,209 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 229 transitions. [2022-04-28 03:59:29,209 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:59:29,209 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:59:29,209 INFO L74 IsIncluded]: Start isIncluded. First operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 191 states. [2022-04-28 03:59:29,210 INFO L87 Difference]: Start difference. First operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 191 states. [2022-04-28 03:59:29,211 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:29,212 INFO L93 Difference]: Finished difference Result 191 states and 229 transitions. [2022-04-28 03:59:29,212 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 229 transitions. [2022-04-28 03:59:29,212 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:59:29,212 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:59:29,212 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:59:29,212 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:59:29,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:29,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 202 transitions. [2022-04-28 03:59:29,214 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 202 transitions. Word has length 46 [2022-04-28 03:59:29,214 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:59:29,214 INFO L495 AbstractCegarLoop]: Abstraction has 166 states and 202 transitions. [2022-04-28 03:59:29,214 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 24 states, 24 states have (on average 1.6666666666666667) internal successors, (40), 22 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:29,214 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 166 states and 202 transitions. [2022-04-28 03:59:29,546 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 202 edges. 202 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:59:29,546 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 202 transitions. [2022-04-28 03:59:29,546 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 03:59:29,547 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:59:29,547 INFO L195 NwaCegarLoop]: trace histogram [8, 8, 4, 4, 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 03:59:29,565 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Forceful destruction successful, exit code 0 [2022-04-28 03:59:29,747 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable33 [2022-04-28 03:59:29,747 INFO L420 AbstractCegarLoop]: === Iteration 35 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:59:29,747 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:59:29,747 INFO L85 PathProgramCache]: Analyzing trace with hash 1212127006, now seen corresponding path program 25 times [2022-04-28 03:59:29,748 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:59:29,748 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [416914284] [2022-04-28 03:59:33,873 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:59:33,964 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:59:37,070 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:59:37,178 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:59:37,179 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:59:37,182 INFO L85 PathProgramCache]: Analyzing trace with hash 1826394689, now seen corresponding path program 1 times [2022-04-28 03:59:37,182 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:59:37,182 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1049087903] [2022-04-28 03:59:37,183 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:59:37,183 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:59:37,190 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:37,369 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:59:37,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:37,375 INFO L290 TraceCheckUtils]: 0: Hoare triple {34010#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,375 INFO L290 TraceCheckUtils]: 1: Hoare triple {33997#(<= 20 ~SIZE~0)} assume true; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,375 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33997#(<= 20 ~SIZE~0)} {33992#true} #90#return; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,376 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:59:37,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:37,377 INFO L290 TraceCheckUtils]: 0: Hoare triple {33992#true} ~cond := #in~cond; {33992#true} is VALID [2022-04-28 03:59:37,378 INFO L290 TraceCheckUtils]: 1: Hoare triple {33992#true} assume !(0 == ~cond); {33992#true} is VALID [2022-04-28 03:59:37,378 INFO L290 TraceCheckUtils]: 2: Hoare triple {33992#true} assume true; {33992#true} is VALID [2022-04-28 03:59:37,378 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33992#true} {33997#(<= 20 ~SIZE~0)} #86#return; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,379 INFO L272 TraceCheckUtils]: 0: Hoare triple {33992#true} call ULTIMATE.init(); {34010#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:59:37,379 INFO L290 TraceCheckUtils]: 1: Hoare triple {34010#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {33997#(<= 20 ~SIZE~0)} assume true; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,380 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33997#(<= 20 ~SIZE~0)} {33992#true} #90#return; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,380 INFO L272 TraceCheckUtils]: 4: Hoare triple {33997#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,380 INFO L290 TraceCheckUtils]: 5: Hoare triple {33997#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,380 INFO L272 TraceCheckUtils]: 6: Hoare triple {33997#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {33992#true} is VALID [2022-04-28 03:59:37,380 INFO L290 TraceCheckUtils]: 7: Hoare triple {33992#true} ~cond := #in~cond; {33992#true} is VALID [2022-04-28 03:59:37,381 INFO L290 TraceCheckUtils]: 8: Hoare triple {33992#true} assume !(0 == ~cond); {33992#true} is VALID [2022-04-28 03:59:37,381 INFO L290 TraceCheckUtils]: 9: Hoare triple {33992#true} assume true; {33992#true} is VALID [2022-04-28 03:59:37,381 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33992#true} {33997#(<= 20 ~SIZE~0)} #86#return; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,381 INFO L290 TraceCheckUtils]: 11: Hoare triple {33997#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {34002#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:59:37,382 INFO L290 TraceCheckUtils]: 12: Hoare triple {34002#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {34003#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:59:37,382 INFO L290 TraceCheckUtils]: 13: Hoare triple {34003#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [210] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_287 v_main_~c~0_644)) (.cse1 (= |v_main_#t~post5_373| |v_main_#t~post5_371|)) (.cse2 (= v_main_~st~0_352 v_main_~st~0_351)) (.cse3 (= v_main_~c~0_644 v_main_~c~0_643))) (or (and (or (not .cse0) (not (< v_main_~c~0_644 v_~SIZE~0_258))) .cse1 .cse2 .cse3) (and (< v_main_~c~0_644 v_main_~c~0_643) .cse0 (= v_main_~st~0_351 0) (< v_main_~c~0_643 (+ v_~SIZE~0_258 1))) (and .cse1 (= v_~last~0_287 v_~last~0_287) .cse2 (= v_~SIZE~0_258 v_~SIZE~0_258) .cse3))) InVars {~SIZE~0=v_~SIZE~0_258, main_~c~0=v_main_~c~0_644, main_#t~post5=|v_main_#t~post5_373|, main_~st~0=v_main_~st~0_352, ~last~0=v_~last~0_287} OutVars{~SIZE~0=v_~SIZE~0_258, main_#t~post5=|v_main_#t~post5_371|, main_~c~0=v_main_~c~0_643, main_~st~0=v_main_~st~0_351, ~last~0=v_~last~0_287} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {34004#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:37,383 INFO L290 TraceCheckUtils]: 14: Hoare triple {34004#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [211] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {34004#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:37,384 INFO L290 TraceCheckUtils]: 15: Hoare triple {34004#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [212] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_646 v_main_~c~0_645)) (.cse1 (= |v_main_#t~post5_376| |v_main_#t~post5_372|))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_646 v_~last~0_288)) (not (< v_main_~c~0_646 v_~SIZE~0_259)))) (and (< v_main_~c~0_645 (+ v_~SIZE~0_259 1)) (< v_main_~c~0_645 (+ v_~last~0_288 1)) (< v_main_~c~0_646 v_main_~c~0_645)) (and .cse0 (= v_~last~0_288 v_~last~0_288) .cse1 (= v_~SIZE~0_259 v_~SIZE~0_259)))) InVars {~SIZE~0=v_~SIZE~0_259, main_~c~0=v_main_~c~0_646, main_#t~post5=|v_main_#t~post5_376|, ~last~0=v_~last~0_288} OutVars{~SIZE~0=v_~SIZE~0_259, main_#t~post5=|v_main_#t~post5_372|, main_~c~0=v_main_~c~0_645, ~last~0=v_~last~0_288} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {34004#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:37,384 INFO L290 TraceCheckUtils]: 16: Hoare triple {34004#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [209] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {34005#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:59:37,385 INFO L290 TraceCheckUtils]: 17: Hoare triple {34005#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {34006#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:37,385 INFO L290 TraceCheckUtils]: 18: Hoare triple {34006#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {34006#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:37,386 INFO L290 TraceCheckUtils]: 19: Hoare triple {34006#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {34007#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:37,386 INFO L290 TraceCheckUtils]: 20: Hoare triple {34007#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {34007#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:37,387 INFO L272 TraceCheckUtils]: 21: Hoare triple {34007#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {34008#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:59:37,387 INFO L290 TraceCheckUtils]: 22: Hoare triple {34008#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {34009#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:59:37,388 INFO L290 TraceCheckUtils]: 23: Hoare triple {34009#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {33993#false} is VALID [2022-04-28 03:59:37,388 INFO L290 TraceCheckUtils]: 24: Hoare triple {33993#false} assume !false; {33993#false} is VALID [2022-04-28 03:59:37,388 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:37,388 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:59:37,388 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1049087903] [2022-04-28 03:59:37,388 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1049087903] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:59:37,388 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1608787699] [2022-04-28 03:59:37,388 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:59:37,388 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:59:37,388 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:59:37,389 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:59:37,390 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-04-28 03:59:37,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:37,427 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:59:37,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:37,436 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:59:37,723 INFO L272 TraceCheckUtils]: 0: Hoare triple {33992#true} call ULTIMATE.init(); {33992#true} is VALID [2022-04-28 03:59:37,724 INFO L290 TraceCheckUtils]: 1: Hoare triple {33992#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,724 INFO L290 TraceCheckUtils]: 2: Hoare triple {33997#(<= 20 ~SIZE~0)} assume true; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,724 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33997#(<= 20 ~SIZE~0)} {33992#true} #90#return; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,725 INFO L272 TraceCheckUtils]: 4: Hoare triple {33997#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,725 INFO L290 TraceCheckUtils]: 5: Hoare triple {33997#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,725 INFO L272 TraceCheckUtils]: 6: Hoare triple {33997#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,726 INFO L290 TraceCheckUtils]: 7: Hoare triple {33997#(<= 20 ~SIZE~0)} ~cond := #in~cond; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,726 INFO L290 TraceCheckUtils]: 8: Hoare triple {33997#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,726 INFO L290 TraceCheckUtils]: 9: Hoare triple {33997#(<= 20 ~SIZE~0)} assume true; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,727 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33997#(<= 20 ~SIZE~0)} {33997#(<= 20 ~SIZE~0)} #86#return; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,727 INFO L290 TraceCheckUtils]: 11: Hoare triple {33997#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:37,727 INFO L290 TraceCheckUtils]: 12: Hoare triple {33997#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {34050#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:59:37,728 INFO L290 TraceCheckUtils]: 13: Hoare triple {34050#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [210] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_287 v_main_~c~0_644)) (.cse1 (= |v_main_#t~post5_373| |v_main_#t~post5_371|)) (.cse2 (= v_main_~st~0_352 v_main_~st~0_351)) (.cse3 (= v_main_~c~0_644 v_main_~c~0_643))) (or (and (or (not .cse0) (not (< v_main_~c~0_644 v_~SIZE~0_258))) .cse1 .cse2 .cse3) (and (< v_main_~c~0_644 v_main_~c~0_643) .cse0 (= v_main_~st~0_351 0) (< v_main_~c~0_643 (+ v_~SIZE~0_258 1))) (and .cse1 (= v_~last~0_287 v_~last~0_287) .cse2 (= v_~SIZE~0_258 v_~SIZE~0_258) .cse3))) InVars {~SIZE~0=v_~SIZE~0_258, main_~c~0=v_main_~c~0_644, main_#t~post5=|v_main_#t~post5_373|, main_~st~0=v_main_~st~0_352, ~last~0=v_~last~0_287} OutVars{~SIZE~0=v_~SIZE~0_258, main_#t~post5=|v_main_#t~post5_371|, main_~c~0=v_main_~c~0_643, main_~st~0=v_main_~st~0_351, ~last~0=v_~last~0_287} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {34054#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:37,729 INFO L290 TraceCheckUtils]: 14: Hoare triple {34054#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [211] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {34054#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:37,729 INFO L290 TraceCheckUtils]: 15: Hoare triple {34054#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [212] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_646 v_main_~c~0_645)) (.cse1 (= |v_main_#t~post5_376| |v_main_#t~post5_372|))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_646 v_~last~0_288)) (not (< v_main_~c~0_646 v_~SIZE~0_259)))) (and (< v_main_~c~0_645 (+ v_~SIZE~0_259 1)) (< v_main_~c~0_645 (+ v_~last~0_288 1)) (< v_main_~c~0_646 v_main_~c~0_645)) (and .cse0 (= v_~last~0_288 v_~last~0_288) .cse1 (= v_~SIZE~0_259 v_~SIZE~0_259)))) InVars {~SIZE~0=v_~SIZE~0_259, main_~c~0=v_main_~c~0_646, main_#t~post5=|v_main_#t~post5_376|, ~last~0=v_~last~0_288} OutVars{~SIZE~0=v_~SIZE~0_259, main_#t~post5=|v_main_#t~post5_372|, main_~c~0=v_main_~c~0_645, ~last~0=v_~last~0_288} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {34054#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:37,730 INFO L290 TraceCheckUtils]: 16: Hoare triple {34054#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [209] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {34064#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:59:37,730 INFO L290 TraceCheckUtils]: 17: Hoare triple {34064#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {33993#false} is VALID [2022-04-28 03:59:37,730 INFO L290 TraceCheckUtils]: 18: Hoare triple {33993#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {33993#false} is VALID [2022-04-28 03:59:37,730 INFO L290 TraceCheckUtils]: 19: Hoare triple {33993#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {33993#false} is VALID [2022-04-28 03:59:37,731 INFO L290 TraceCheckUtils]: 20: Hoare triple {33993#false} assume !(~d~0 == ~SIZE~0); {33993#false} is VALID [2022-04-28 03:59:37,731 INFO L272 TraceCheckUtils]: 21: Hoare triple {33993#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {33993#false} is VALID [2022-04-28 03:59:37,731 INFO L290 TraceCheckUtils]: 22: Hoare triple {33993#false} ~cond := #in~cond; {33993#false} is VALID [2022-04-28 03:59:37,731 INFO L290 TraceCheckUtils]: 23: Hoare triple {33993#false} assume 0 == ~cond; {33993#false} is VALID [2022-04-28 03:59:37,731 INFO L290 TraceCheckUtils]: 24: Hoare triple {33993#false} assume !false; {33993#false} is VALID [2022-04-28 03:59:37,731 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:37,731 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:59:38,101 INFO L290 TraceCheckUtils]: 24: Hoare triple {33993#false} assume !false; {33993#false} is VALID [2022-04-28 03:59:38,102 INFO L290 TraceCheckUtils]: 23: Hoare triple {33993#false} assume 0 == ~cond; {33993#false} is VALID [2022-04-28 03:59:38,102 INFO L290 TraceCheckUtils]: 22: Hoare triple {33993#false} ~cond := #in~cond; {33993#false} is VALID [2022-04-28 03:59:38,102 INFO L272 TraceCheckUtils]: 21: Hoare triple {33993#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {33993#false} is VALID [2022-04-28 03:59:38,102 INFO L290 TraceCheckUtils]: 20: Hoare triple {33993#false} assume !(~d~0 == ~SIZE~0); {33993#false} is VALID [2022-04-28 03:59:38,102 INFO L290 TraceCheckUtils]: 19: Hoare triple {33993#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {33993#false} is VALID [2022-04-28 03:59:38,102 INFO L290 TraceCheckUtils]: 18: Hoare triple {33993#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {33993#false} is VALID [2022-04-28 03:59:38,115 INFO L290 TraceCheckUtils]: 17: Hoare triple {34110#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {33993#false} is VALID [2022-04-28 03:59:38,116 INFO L290 TraceCheckUtils]: 16: Hoare triple {34114#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [209] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {34110#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:59:38,117 INFO L290 TraceCheckUtils]: 15: Hoare triple {34114#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [212] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_646 v_main_~c~0_645)) (.cse1 (= |v_main_#t~post5_376| |v_main_#t~post5_372|))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_646 v_~last~0_288)) (not (< v_main_~c~0_646 v_~SIZE~0_259)))) (and (< v_main_~c~0_645 (+ v_~SIZE~0_259 1)) (< v_main_~c~0_645 (+ v_~last~0_288 1)) (< v_main_~c~0_646 v_main_~c~0_645)) (and .cse0 (= v_~last~0_288 v_~last~0_288) .cse1 (= v_~SIZE~0_259 v_~SIZE~0_259)))) InVars {~SIZE~0=v_~SIZE~0_259, main_~c~0=v_main_~c~0_646, main_#t~post5=|v_main_#t~post5_376|, ~last~0=v_~last~0_288} OutVars{~SIZE~0=v_~SIZE~0_259, main_#t~post5=|v_main_#t~post5_372|, main_~c~0=v_main_~c~0_645, ~last~0=v_~last~0_288} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {34114#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:38,117 INFO L290 TraceCheckUtils]: 14: Hoare triple {34114#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [211] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {34114#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:38,128 INFO L290 TraceCheckUtils]: 13: Hoare triple {34124#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [210] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_287 v_main_~c~0_644)) (.cse1 (= |v_main_#t~post5_373| |v_main_#t~post5_371|)) (.cse2 (= v_main_~st~0_352 v_main_~st~0_351)) (.cse3 (= v_main_~c~0_644 v_main_~c~0_643))) (or (and (or (not .cse0) (not (< v_main_~c~0_644 v_~SIZE~0_258))) .cse1 .cse2 .cse3) (and (< v_main_~c~0_644 v_main_~c~0_643) .cse0 (= v_main_~st~0_351 0) (< v_main_~c~0_643 (+ v_~SIZE~0_258 1))) (and .cse1 (= v_~last~0_287 v_~last~0_287) .cse2 (= v_~SIZE~0_258 v_~SIZE~0_258) .cse3))) InVars {~SIZE~0=v_~SIZE~0_258, main_~c~0=v_main_~c~0_644, main_#t~post5=|v_main_#t~post5_373|, main_~st~0=v_main_~st~0_352, ~last~0=v_~last~0_287} OutVars{~SIZE~0=v_~SIZE~0_258, main_#t~post5=|v_main_#t~post5_371|, main_~c~0=v_main_~c~0_643, main_~st~0=v_main_~st~0_351, ~last~0=v_~last~0_287} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {34114#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:38,129 INFO L290 TraceCheckUtils]: 12: Hoare triple {34128#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {34124#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:59:38,129 INFO L290 TraceCheckUtils]: 11: Hoare triple {34128#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {34128#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:38,130 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33992#true} {34128#(< 1 ~SIZE~0)} #86#return; {34128#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:38,130 INFO L290 TraceCheckUtils]: 9: Hoare triple {33992#true} assume true; {33992#true} is VALID [2022-04-28 03:59:38,130 INFO L290 TraceCheckUtils]: 8: Hoare triple {33992#true} assume !(0 == ~cond); {33992#true} is VALID [2022-04-28 03:59:38,130 INFO L290 TraceCheckUtils]: 7: Hoare triple {33992#true} ~cond := #in~cond; {33992#true} is VALID [2022-04-28 03:59:38,130 INFO L272 TraceCheckUtils]: 6: Hoare triple {34128#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {33992#true} is VALID [2022-04-28 03:59:38,130 INFO L290 TraceCheckUtils]: 5: Hoare triple {34128#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {34128#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:38,131 INFO L272 TraceCheckUtils]: 4: Hoare triple {34128#(< 1 ~SIZE~0)} call #t~ret7 := main(); {34128#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:38,131 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34128#(< 1 ~SIZE~0)} {33992#true} #90#return; {34128#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:38,131 INFO L290 TraceCheckUtils]: 2: Hoare triple {34128#(< 1 ~SIZE~0)} assume true; {34128#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:38,132 INFO L290 TraceCheckUtils]: 1: Hoare triple {33992#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {34128#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:38,132 INFO L272 TraceCheckUtils]: 0: Hoare triple {33992#true} call ULTIMATE.init(); {33992#true} is VALID [2022-04-28 03:59:38,132 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:38,132 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1608787699] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:59:38,132 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:59:38,132 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:59:38,719 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:59:38,719 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [416914284] [2022-04-28 03:59:38,719 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [416914284] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:59:38,719 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:59:38,719 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-28 03:59:38,720 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1783213464] [2022-04-28 03:59:38,720 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:59:38,720 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 1.6) internal successors, (40), 23 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 46 [2022-04-28 03:59:38,720 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:59:38,720 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 25 states have (on average 1.6) internal successors, (40), 23 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:38,743 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 03:59:38,743 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-28 03:59:38,743 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:59:38,743 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-28 03:59:38,744 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=203, Invalid=919, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 03:59:38,744 INFO L87 Difference]: Start difference. First operand 166 states and 202 transitions. Second operand has 25 states, 25 states have (on average 1.6) internal successors, (40), 23 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:40,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:40,386 INFO L93 Difference]: Finished difference Result 275 states and 338 transitions. [2022-04-28 03:59:40,386 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-28 03:59:40,386 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 1.6) internal successors, (40), 23 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 46 [2022-04-28 03:59:40,387 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:59:40,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.6) internal successors, (40), 23 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:40,387 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 94 transitions. [2022-04-28 03:59:40,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.6) internal successors, (40), 23 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:40,388 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 94 transitions. [2022-04-28 03:59:40,388 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 94 transitions. [2022-04-28 03:59:40,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 03:59:40,463 INFO L225 Difference]: With dead ends: 275 [2022-04-28 03:59:40,463 INFO L226 Difference]: Without dead ends: 188 [2022-04-28 03:59:40,464 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 48 SyntacticMatches, 10 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 506 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=215, Invalid=1045, Unknown=0, NotChecked=0, Total=1260 [2022-04-28 03:59:40,464 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 49 mSDsluCounter, 56 mSDsCounter, 0 mSdLazyCounter, 1080 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 76 SdHoareTripleChecker+Invalid, 1090 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1080 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 03:59:40,464 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 76 Invalid, 1090 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1080 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 03:59:40,465 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states. [2022-04-28 03:59:40,810 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 166. [2022-04-28 03:59:40,810 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:59:40,810 INFO L82 GeneralOperation]: Start isEquivalent. First operand 188 states. Second operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:40,810 INFO L74 IsIncluded]: Start isIncluded. First operand 188 states. Second operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:40,811 INFO L87 Difference]: Start difference. First operand 188 states. Second operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:40,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:40,813 INFO L93 Difference]: Finished difference Result 188 states and 226 transitions. [2022-04-28 03:59:40,813 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 226 transitions. [2022-04-28 03:59:40,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:59:40,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:59:40,813 INFO L74 IsIncluded]: Start isIncluded. First operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 188 states. [2022-04-28 03:59:40,813 INFO L87 Difference]: Start difference. First operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 188 states. [2022-04-28 03:59:40,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:40,815 INFO L93 Difference]: Finished difference Result 188 states and 226 transitions. [2022-04-28 03:59:40,816 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 226 transitions. [2022-04-28 03:59:40,816 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:59:40,816 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:59:40,816 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:59:40,816 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:59:40,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:40,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 202 transitions. [2022-04-28 03:59:40,818 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 202 transitions. Word has length 46 [2022-04-28 03:59:40,818 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:59:40,818 INFO L495 AbstractCegarLoop]: Abstraction has 166 states and 202 transitions. [2022-04-28 03:59:40,818 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 25 states have (on average 1.6) internal successors, (40), 23 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:40,818 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 166 states and 202 transitions. [2022-04-28 03:59:41,146 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 202 edges. 202 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:59:41,146 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 202 transitions. [2022-04-28 03:59:41,146 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 03:59:41,146 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:59:41,146 INFO L195 NwaCegarLoop]: trace histogram [8, 8, 5, 3, 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 03:59:41,164 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Ended with exit code 0 [2022-04-28 03:59:41,359 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 28 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable34 [2022-04-28 03:59:41,359 INFO L420 AbstractCegarLoop]: === Iteration 36 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:59:41,359 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:59:41,359 INFO L85 PathProgramCache]: Analyzing trace with hash 394478556, now seen corresponding path program 26 times [2022-04-28 03:59:41,359 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:59:41,359 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1133208080] [2022-04-28 03:59:41,621 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:59:45,743 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 03:59:45,828 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:59:45,839 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:59:45,843 INFO L85 PathProgramCache]: Analyzing trace with hash 23950145, now seen corresponding path program 1 times [2022-04-28 03:59:45,843 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:59:45,843 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [905844366] [2022-04-28 03:59:45,843 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:59:45,843 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:59:45,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:46,006 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:59:46,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:46,016 INFO L290 TraceCheckUtils]: 0: Hoare triple {35463#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,016 INFO L290 TraceCheckUtils]: 1: Hoare triple {35450#(<= 20 ~SIZE~0)} assume true; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,017 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35450#(<= 20 ~SIZE~0)} {35445#true} #90#return; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,017 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:59:46,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:46,020 INFO L290 TraceCheckUtils]: 0: Hoare triple {35445#true} ~cond := #in~cond; {35445#true} is VALID [2022-04-28 03:59:46,020 INFO L290 TraceCheckUtils]: 1: Hoare triple {35445#true} assume !(0 == ~cond); {35445#true} is VALID [2022-04-28 03:59:46,020 INFO L290 TraceCheckUtils]: 2: Hoare triple {35445#true} assume true; {35445#true} is VALID [2022-04-28 03:59:46,020 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35445#true} {35450#(<= 20 ~SIZE~0)} #86#return; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,021 INFO L272 TraceCheckUtils]: 0: Hoare triple {35445#true} call ULTIMATE.init(); {35463#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:59:46,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {35463#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,022 INFO L290 TraceCheckUtils]: 2: Hoare triple {35450#(<= 20 ~SIZE~0)} assume true; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,022 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35450#(<= 20 ~SIZE~0)} {35445#true} #90#return; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,022 INFO L272 TraceCheckUtils]: 4: Hoare triple {35450#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,023 INFO L290 TraceCheckUtils]: 5: Hoare triple {35450#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,023 INFO L272 TraceCheckUtils]: 6: Hoare triple {35450#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {35445#true} is VALID [2022-04-28 03:59:46,023 INFO L290 TraceCheckUtils]: 7: Hoare triple {35445#true} ~cond := #in~cond; {35445#true} is VALID [2022-04-28 03:59:46,023 INFO L290 TraceCheckUtils]: 8: Hoare triple {35445#true} assume !(0 == ~cond); {35445#true} is VALID [2022-04-28 03:59:46,023 INFO L290 TraceCheckUtils]: 9: Hoare triple {35445#true} assume true; {35445#true} is VALID [2022-04-28 03:59:46,023 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35445#true} {35450#(<= 20 ~SIZE~0)} #86#return; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,024 INFO L290 TraceCheckUtils]: 11: Hoare triple {35450#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {35455#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:59:46,024 INFO L290 TraceCheckUtils]: 12: Hoare triple {35455#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {35456#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:59:46,025 INFO L290 TraceCheckUtils]: 13: Hoare triple {35456#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [214] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_297 v_main_~c~0_669)) (.cse1 (= v_main_~c~0_669 v_main_~c~0_668)) (.cse2 (= |v_main_#t~post5_386| |v_main_#t~post5_384|)) (.cse3 (= v_main_~st~0_365 v_main_~st~0_364))) (or (and (= v_main_~st~0_364 0) .cse0 (< v_main_~c~0_669 v_main_~c~0_668) (< v_main_~c~0_668 (+ v_~SIZE~0_267 1))) (and (= v_~last~0_297 v_~last~0_297) .cse1 (= v_~SIZE~0_267 v_~SIZE~0_267) .cse2 .cse3) (and (or (not .cse0) (not (< v_main_~c~0_669 v_~SIZE~0_267))) .cse1 .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_267, main_~c~0=v_main_~c~0_669, main_#t~post5=|v_main_#t~post5_386|, main_~st~0=v_main_~st~0_365, ~last~0=v_~last~0_297} OutVars{~SIZE~0=v_~SIZE~0_267, main_#t~post5=|v_main_#t~post5_384|, main_~c~0=v_main_~c~0_668, main_~st~0=v_main_~st~0_364, ~last~0=v_~last~0_297} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {35457#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:46,026 INFO L290 TraceCheckUtils]: 14: Hoare triple {35457#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [215] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {35457#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:46,026 INFO L290 TraceCheckUtils]: 15: Hoare triple {35457#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [216] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_389| |v_main_#t~post5_385|)) (.cse1 (= v_main_~c~0_671 v_main_~c~0_670))) (or (and .cse0 (= v_~last~0_298 v_~last~0_298) .cse1 (= v_~SIZE~0_268 v_~SIZE~0_268)) (and .cse0 .cse1 (or (not (< v_main_~c~0_671 v_~last~0_298)) (not (< v_main_~c~0_671 v_~SIZE~0_268)))) (and (< v_main_~c~0_671 v_main_~c~0_670) (< v_main_~c~0_670 (+ v_~last~0_298 1)) (< v_main_~c~0_670 (+ v_~SIZE~0_268 1))))) InVars {~SIZE~0=v_~SIZE~0_268, main_~c~0=v_main_~c~0_671, main_#t~post5=|v_main_#t~post5_389|, ~last~0=v_~last~0_298} OutVars{~SIZE~0=v_~SIZE~0_268, main_#t~post5=|v_main_#t~post5_385|, main_~c~0=v_main_~c~0_670, ~last~0=v_~last~0_298} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {35457#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:46,027 INFO L290 TraceCheckUtils]: 16: Hoare triple {35457#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [213] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {35458#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:59:46,028 INFO L290 TraceCheckUtils]: 17: Hoare triple {35458#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {35459#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:46,028 INFO L290 TraceCheckUtils]: 18: Hoare triple {35459#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {35459#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:46,029 INFO L290 TraceCheckUtils]: 19: Hoare triple {35459#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {35460#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:46,029 INFO L290 TraceCheckUtils]: 20: Hoare triple {35460#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {35460#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:46,030 INFO L272 TraceCheckUtils]: 21: Hoare triple {35460#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {35461#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:59:46,030 INFO L290 TraceCheckUtils]: 22: Hoare triple {35461#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {35462#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:59:46,030 INFO L290 TraceCheckUtils]: 23: Hoare triple {35462#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {35446#false} is VALID [2022-04-28 03:59:46,030 INFO L290 TraceCheckUtils]: 24: Hoare triple {35446#false} assume !false; {35446#false} is VALID [2022-04-28 03:59:46,031 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:46,031 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:59:46,031 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [905844366] [2022-04-28 03:59:46,031 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [905844366] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:59:46,031 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [560990256] [2022-04-28 03:59:46,031 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:59:46,032 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:59:46,032 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:59:46,033 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:59:46,035 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Waiting until timeout for monitored process [2022-04-28 03:59:46,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:46,077 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:59:46,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:46,085 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:59:46,390 INFO L272 TraceCheckUtils]: 0: Hoare triple {35445#true} call ULTIMATE.init(); {35445#true} is VALID [2022-04-28 03:59:46,391 INFO L290 TraceCheckUtils]: 1: Hoare triple {35445#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,391 INFO L290 TraceCheckUtils]: 2: Hoare triple {35450#(<= 20 ~SIZE~0)} assume true; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,392 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35450#(<= 20 ~SIZE~0)} {35445#true} #90#return; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,392 INFO L272 TraceCheckUtils]: 4: Hoare triple {35450#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,392 INFO L290 TraceCheckUtils]: 5: Hoare triple {35450#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,393 INFO L272 TraceCheckUtils]: 6: Hoare triple {35450#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,393 INFO L290 TraceCheckUtils]: 7: Hoare triple {35450#(<= 20 ~SIZE~0)} ~cond := #in~cond; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,393 INFO L290 TraceCheckUtils]: 8: Hoare triple {35450#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,393 INFO L290 TraceCheckUtils]: 9: Hoare triple {35450#(<= 20 ~SIZE~0)} assume true; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,394 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35450#(<= 20 ~SIZE~0)} {35450#(<= 20 ~SIZE~0)} #86#return; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,394 INFO L290 TraceCheckUtils]: 11: Hoare triple {35450#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:46,395 INFO L290 TraceCheckUtils]: 12: Hoare triple {35450#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {35503#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:59:46,395 INFO L290 TraceCheckUtils]: 13: Hoare triple {35503#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [214] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_297 v_main_~c~0_669)) (.cse1 (= v_main_~c~0_669 v_main_~c~0_668)) (.cse2 (= |v_main_#t~post5_386| |v_main_#t~post5_384|)) (.cse3 (= v_main_~st~0_365 v_main_~st~0_364))) (or (and (= v_main_~st~0_364 0) .cse0 (< v_main_~c~0_669 v_main_~c~0_668) (< v_main_~c~0_668 (+ v_~SIZE~0_267 1))) (and (= v_~last~0_297 v_~last~0_297) .cse1 (= v_~SIZE~0_267 v_~SIZE~0_267) .cse2 .cse3) (and (or (not .cse0) (not (< v_main_~c~0_669 v_~SIZE~0_267))) .cse1 .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_267, main_~c~0=v_main_~c~0_669, main_#t~post5=|v_main_#t~post5_386|, main_~st~0=v_main_~st~0_365, ~last~0=v_~last~0_297} OutVars{~SIZE~0=v_~SIZE~0_267, main_#t~post5=|v_main_#t~post5_384|, main_~c~0=v_main_~c~0_668, main_~st~0=v_main_~st~0_364, ~last~0=v_~last~0_297} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {35507#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:46,396 INFO L290 TraceCheckUtils]: 14: Hoare triple {35507#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [215] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {35507#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:46,396 INFO L290 TraceCheckUtils]: 15: Hoare triple {35507#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [216] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_389| |v_main_#t~post5_385|)) (.cse1 (= v_main_~c~0_671 v_main_~c~0_670))) (or (and .cse0 (= v_~last~0_298 v_~last~0_298) .cse1 (= v_~SIZE~0_268 v_~SIZE~0_268)) (and .cse0 .cse1 (or (not (< v_main_~c~0_671 v_~last~0_298)) (not (< v_main_~c~0_671 v_~SIZE~0_268)))) (and (< v_main_~c~0_671 v_main_~c~0_670) (< v_main_~c~0_670 (+ v_~last~0_298 1)) (< v_main_~c~0_670 (+ v_~SIZE~0_268 1))))) InVars {~SIZE~0=v_~SIZE~0_268, main_~c~0=v_main_~c~0_671, main_#t~post5=|v_main_#t~post5_389|, ~last~0=v_~last~0_298} OutVars{~SIZE~0=v_~SIZE~0_268, main_#t~post5=|v_main_#t~post5_385|, main_~c~0=v_main_~c~0_670, ~last~0=v_~last~0_298} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {35507#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:46,397 INFO L290 TraceCheckUtils]: 16: Hoare triple {35507#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [213] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {35517#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:59:46,397 INFO L290 TraceCheckUtils]: 17: Hoare triple {35517#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {35446#false} is VALID [2022-04-28 03:59:46,398 INFO L290 TraceCheckUtils]: 18: Hoare triple {35446#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {35446#false} is VALID [2022-04-28 03:59:46,398 INFO L290 TraceCheckUtils]: 19: Hoare triple {35446#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {35446#false} is VALID [2022-04-28 03:59:46,398 INFO L290 TraceCheckUtils]: 20: Hoare triple {35446#false} assume !(~d~0 == ~SIZE~0); {35446#false} is VALID [2022-04-28 03:59:46,398 INFO L272 TraceCheckUtils]: 21: Hoare triple {35446#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {35446#false} is VALID [2022-04-28 03:59:46,398 INFO L290 TraceCheckUtils]: 22: Hoare triple {35446#false} ~cond := #in~cond; {35446#false} is VALID [2022-04-28 03:59:46,398 INFO L290 TraceCheckUtils]: 23: Hoare triple {35446#false} assume 0 == ~cond; {35446#false} is VALID [2022-04-28 03:59:46,398 INFO L290 TraceCheckUtils]: 24: Hoare triple {35446#false} assume !false; {35446#false} is VALID [2022-04-28 03:59:46,398 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:46,398 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:59:46,671 INFO L290 TraceCheckUtils]: 24: Hoare triple {35446#false} assume !false; {35446#false} is VALID [2022-04-28 03:59:46,671 INFO L290 TraceCheckUtils]: 23: Hoare triple {35446#false} assume 0 == ~cond; {35446#false} is VALID [2022-04-28 03:59:46,671 INFO L290 TraceCheckUtils]: 22: Hoare triple {35446#false} ~cond := #in~cond; {35446#false} is VALID [2022-04-28 03:59:46,671 INFO L272 TraceCheckUtils]: 21: Hoare triple {35446#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {35446#false} is VALID [2022-04-28 03:59:46,671 INFO L290 TraceCheckUtils]: 20: Hoare triple {35446#false} assume !(~d~0 == ~SIZE~0); {35446#false} is VALID [2022-04-28 03:59:46,671 INFO L290 TraceCheckUtils]: 19: Hoare triple {35446#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {35446#false} is VALID [2022-04-28 03:59:46,672 INFO L290 TraceCheckUtils]: 18: Hoare triple {35446#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {35446#false} is VALID [2022-04-28 03:59:46,672 INFO L290 TraceCheckUtils]: 17: Hoare triple {35563#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {35446#false} is VALID [2022-04-28 03:59:46,672 INFO L290 TraceCheckUtils]: 16: Hoare triple {35567#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [213] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {35563#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:59:46,673 INFO L290 TraceCheckUtils]: 15: Hoare triple {35567#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [216] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_389| |v_main_#t~post5_385|)) (.cse1 (= v_main_~c~0_671 v_main_~c~0_670))) (or (and .cse0 (= v_~last~0_298 v_~last~0_298) .cse1 (= v_~SIZE~0_268 v_~SIZE~0_268)) (and .cse0 .cse1 (or (not (< v_main_~c~0_671 v_~last~0_298)) (not (< v_main_~c~0_671 v_~SIZE~0_268)))) (and (< v_main_~c~0_671 v_main_~c~0_670) (< v_main_~c~0_670 (+ v_~last~0_298 1)) (< v_main_~c~0_670 (+ v_~SIZE~0_268 1))))) InVars {~SIZE~0=v_~SIZE~0_268, main_~c~0=v_main_~c~0_671, main_#t~post5=|v_main_#t~post5_389|, ~last~0=v_~last~0_298} OutVars{~SIZE~0=v_~SIZE~0_268, main_#t~post5=|v_main_#t~post5_385|, main_~c~0=v_main_~c~0_670, ~last~0=v_~last~0_298} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {35567#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:46,673 INFO L290 TraceCheckUtils]: 14: Hoare triple {35567#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [215] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {35567#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:46,674 INFO L290 TraceCheckUtils]: 13: Hoare triple {35577#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [214] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_297 v_main_~c~0_669)) (.cse1 (= v_main_~c~0_669 v_main_~c~0_668)) (.cse2 (= |v_main_#t~post5_386| |v_main_#t~post5_384|)) (.cse3 (= v_main_~st~0_365 v_main_~st~0_364))) (or (and (= v_main_~st~0_364 0) .cse0 (< v_main_~c~0_669 v_main_~c~0_668) (< v_main_~c~0_668 (+ v_~SIZE~0_267 1))) (and (= v_~last~0_297 v_~last~0_297) .cse1 (= v_~SIZE~0_267 v_~SIZE~0_267) .cse2 .cse3) (and (or (not .cse0) (not (< v_main_~c~0_669 v_~SIZE~0_267))) .cse1 .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_267, main_~c~0=v_main_~c~0_669, main_#t~post5=|v_main_#t~post5_386|, main_~st~0=v_main_~st~0_365, ~last~0=v_~last~0_297} OutVars{~SIZE~0=v_~SIZE~0_267, main_#t~post5=|v_main_#t~post5_384|, main_~c~0=v_main_~c~0_668, main_~st~0=v_main_~st~0_364, ~last~0=v_~last~0_297} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {35567#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:46,674 INFO L290 TraceCheckUtils]: 12: Hoare triple {35581#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {35577#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:59:46,674 INFO L290 TraceCheckUtils]: 11: Hoare triple {35581#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {35581#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:46,674 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35445#true} {35581#(< 1 ~SIZE~0)} #86#return; {35581#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:46,674 INFO L290 TraceCheckUtils]: 9: Hoare triple {35445#true} assume true; {35445#true} is VALID [2022-04-28 03:59:46,674 INFO L290 TraceCheckUtils]: 8: Hoare triple {35445#true} assume !(0 == ~cond); {35445#true} is VALID [2022-04-28 03:59:46,675 INFO L290 TraceCheckUtils]: 7: Hoare triple {35445#true} ~cond := #in~cond; {35445#true} is VALID [2022-04-28 03:59:46,675 INFO L272 TraceCheckUtils]: 6: Hoare triple {35581#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {35445#true} is VALID [2022-04-28 03:59:46,675 INFO L290 TraceCheckUtils]: 5: Hoare triple {35581#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {35581#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:46,675 INFO L272 TraceCheckUtils]: 4: Hoare triple {35581#(< 1 ~SIZE~0)} call #t~ret7 := main(); {35581#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:46,675 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35581#(< 1 ~SIZE~0)} {35445#true} #90#return; {35581#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:46,676 INFO L290 TraceCheckUtils]: 2: Hoare triple {35581#(< 1 ~SIZE~0)} assume true; {35581#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:46,677 INFO L290 TraceCheckUtils]: 1: Hoare triple {35445#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {35581#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:46,677 INFO L272 TraceCheckUtils]: 0: Hoare triple {35445#true} call ULTIMATE.init(); {35445#true} is VALID [2022-04-28 03:59:46,677 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:46,677 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [560990256] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:59:46,677 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:59:46,677 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:59:47,523 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:59:47,523 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1133208080] [2022-04-28 03:59:47,523 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1133208080] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:59:47,523 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:59:47,524 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-28 03:59:47,524 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1363989235] [2022-04-28 03:59:47,524 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:59:47,524 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 1.5384615384615385) internal successors, (40), 24 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 46 [2022-04-28 03:59:47,524 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:59:47,524 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 26 states have (on average 1.5384615384615385) internal successors, (40), 24 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:47,557 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 03:59:47,558 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-28 03:59:47,558 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:59:47,558 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-28 03:59:47,558 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=217, Invalid=973, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 03:59:47,558 INFO L87 Difference]: Start difference. First operand 166 states and 202 transitions. Second operand has 26 states, 26 states have (on average 1.5384615384615385) internal successors, (40), 24 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:49,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:49,273 INFO L93 Difference]: Finished difference Result 272 states and 335 transitions. [2022-04-28 03:59:49,273 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 03:59:49,274 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 1.5384615384615385) internal successors, (40), 24 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 46 [2022-04-28 03:59:49,274 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:59:49,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 1.5384615384615385) internal successors, (40), 24 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:49,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 95 transitions. [2022-04-28 03:59:49,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 1.5384615384615385) internal successors, (40), 24 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:49,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 95 transitions. [2022-04-28 03:59:49,283 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 95 transitions. [2022-04-28 03:59:49,326 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:59:49,343 INFO L225 Difference]: With dead ends: 272 [2022-04-28 03:59:49,343 INFO L226 Difference]: Without dead ends: 185 [2022-04-28 03:59:49,343 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 48 SyntacticMatches, 9 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 514 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=229, Invalid=1103, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 03:59:49,344 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 53 mSDsluCounter, 53 mSDsCounter, 0 mSdLazyCounter, 1069 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 73 SdHoareTripleChecker+Invalid, 1080 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1069 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 03:59:49,344 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [54 Valid, 73 Invalid, 1080 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1069 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 03:59:49,344 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 185 states. [2022-04-28 03:59:49,723 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 185 to 166. [2022-04-28 03:59:49,723 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:59:49,723 INFO L82 GeneralOperation]: Start isEquivalent. First operand 185 states. Second operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:49,723 INFO L74 IsIncluded]: Start isIncluded. First operand 185 states. Second operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:49,724 INFO L87 Difference]: Start difference. First operand 185 states. Second operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:49,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:49,725 INFO L93 Difference]: Finished difference Result 185 states and 223 transitions. [2022-04-28 03:59:49,725 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 223 transitions. [2022-04-28 03:59:49,726 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:59:49,726 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:59:49,726 INFO L74 IsIncluded]: Start isIncluded. First operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 185 states. [2022-04-28 03:59:49,726 INFO L87 Difference]: Start difference. First operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 185 states. [2022-04-28 03:59:49,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:49,728 INFO L93 Difference]: Finished difference Result 185 states and 223 transitions. [2022-04-28 03:59:49,728 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 223 transitions. [2022-04-28 03:59:49,728 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:59:49,728 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:59:49,728 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:59:49,728 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:59:49,728 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:49,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 202 transitions. [2022-04-28 03:59:49,730 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 202 transitions. Word has length 46 [2022-04-28 03:59:49,730 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:59:49,730 INFO L495 AbstractCegarLoop]: Abstraction has 166 states and 202 transitions. [2022-04-28 03:59:49,730 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 26 states have (on average 1.5384615384615385) internal successors, (40), 24 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:49,730 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 166 states and 202 transitions. [2022-04-28 03:59:50,055 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 202 edges. 202 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:59:50,055 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 202 transitions. [2022-04-28 03:59:50,055 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 03:59:50,055 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:59:50,059 INFO L195 NwaCegarLoop]: trace histogram [8, 8, 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 03:59:50,078 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Forceful destruction successful, exit code 0 [2022-04-28 03:59:50,272 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable35,29 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:59:50,272 INFO L420 AbstractCegarLoop]: === Iteration 37 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:59:50,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:59:50,272 INFO L85 PathProgramCache]: Analyzing trace with hash -1193869346, now seen corresponding path program 27 times [2022-04-28 03:59:50,272 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:59:50,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2058121693] [2022-04-28 03:59:50,475 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:59:50,691 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:59:50,691 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:59:50,695 INFO L85 PathProgramCache]: Analyzing trace with hash -1778494399, now seen corresponding path program 1 times [2022-04-28 03:59:50,695 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:59:50,695 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [650967492] [2022-04-28 03:59:50,695 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:59:50,695 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:59:50,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:50,869 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:59:50,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:50,877 INFO L290 TraceCheckUtils]: 0: Hoare triple {36905#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:50,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {36892#(<= 20 ~SIZE~0)} assume true; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:50,877 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {36892#(<= 20 ~SIZE~0)} {36887#true} #90#return; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:50,877 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:59:50,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:50,900 INFO L290 TraceCheckUtils]: 0: Hoare triple {36887#true} ~cond := #in~cond; {36887#true} is VALID [2022-04-28 03:59:50,900 INFO L290 TraceCheckUtils]: 1: Hoare triple {36887#true} assume !(0 == ~cond); {36887#true} is VALID [2022-04-28 03:59:50,901 INFO L290 TraceCheckUtils]: 2: Hoare triple {36887#true} assume true; {36887#true} is VALID [2022-04-28 03:59:50,901 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36887#true} {36892#(<= 20 ~SIZE~0)} #86#return; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:50,902 INFO L272 TraceCheckUtils]: 0: Hoare triple {36887#true} call ULTIMATE.init(); {36905#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:59:50,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {36905#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:50,903 INFO L290 TraceCheckUtils]: 2: Hoare triple {36892#(<= 20 ~SIZE~0)} assume true; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:50,903 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36892#(<= 20 ~SIZE~0)} {36887#true} #90#return; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:50,903 INFO L272 TraceCheckUtils]: 4: Hoare triple {36892#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:50,903 INFO L290 TraceCheckUtils]: 5: Hoare triple {36892#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:50,903 INFO L272 TraceCheckUtils]: 6: Hoare triple {36892#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {36887#true} is VALID [2022-04-28 03:59:50,903 INFO L290 TraceCheckUtils]: 7: Hoare triple {36887#true} ~cond := #in~cond; {36887#true} is VALID [2022-04-28 03:59:50,904 INFO L290 TraceCheckUtils]: 8: Hoare triple {36887#true} assume !(0 == ~cond); {36887#true} is VALID [2022-04-28 03:59:50,904 INFO L290 TraceCheckUtils]: 9: Hoare triple {36887#true} assume true; {36887#true} is VALID [2022-04-28 03:59:50,904 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36887#true} {36892#(<= 20 ~SIZE~0)} #86#return; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:50,904 INFO L290 TraceCheckUtils]: 11: Hoare triple {36892#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {36897#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:59:50,905 INFO L290 TraceCheckUtils]: 12: Hoare triple {36897#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {36898#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:59:50,905 INFO L290 TraceCheckUtils]: 13: Hoare triple {36898#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [218] L25-3-->L25-4_primed: Formula: (let ((.cse3 (<= v_~last~0_307 v_main_~c~0_694)) (.cse0 (= v_main_~c~0_694 v_main_~c~0_693)) (.cse1 (= |v_main_#t~post5_399| |v_main_#t~post5_397|)) (.cse2 (= v_main_~st~0_377 v_main_~st~0_376))) (or (and .cse0 (= v_~last~0_307 v_~last~0_307) .cse1 .cse2 (= v_~SIZE~0_276 v_~SIZE~0_276)) (and .cse3 (= v_main_~st~0_376 0) (< v_main_~c~0_694 v_main_~c~0_693) (< v_main_~c~0_693 (+ v_~SIZE~0_276 1))) (and (or (not (< v_main_~c~0_694 v_~SIZE~0_276)) (not .cse3)) .cse0 .cse1 .cse2))) InVars {~SIZE~0=v_~SIZE~0_276, main_~c~0=v_main_~c~0_694, main_#t~post5=|v_main_#t~post5_399|, main_~st~0=v_main_~st~0_377, ~last~0=v_~last~0_307} OutVars{~SIZE~0=v_~SIZE~0_276, main_#t~post5=|v_main_#t~post5_397|, main_~c~0=v_main_~c~0_693, main_~st~0=v_main_~st~0_376, ~last~0=v_~last~0_307} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {36899#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:50,906 INFO L290 TraceCheckUtils]: 14: Hoare triple {36899#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [219] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {36899#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:50,906 INFO L290 TraceCheckUtils]: 15: Hoare triple {36899#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [220] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_696 v_main_~c~0_695)) (.cse1 (= |v_main_#t~post5_402| |v_main_#t~post5_398|))) (or (and (= v_~SIZE~0_277 v_~SIZE~0_277) .cse0 .cse1 (= v_~last~0_308 v_~last~0_308)) (and .cse0 .cse1 (or (not (< v_main_~c~0_696 v_~SIZE~0_277)) (not (< v_main_~c~0_696 v_~last~0_308)))) (and (< v_main_~c~0_695 (+ v_~SIZE~0_277 1)) (< v_main_~c~0_696 v_main_~c~0_695) (< v_main_~c~0_695 (+ v_~last~0_308 1))))) InVars {~SIZE~0=v_~SIZE~0_277, main_~c~0=v_main_~c~0_696, main_#t~post5=|v_main_#t~post5_402|, ~last~0=v_~last~0_308} OutVars{~SIZE~0=v_~SIZE~0_277, main_#t~post5=|v_main_#t~post5_398|, main_~c~0=v_main_~c~0_695, ~last~0=v_~last~0_308} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {36899#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:50,907 INFO L290 TraceCheckUtils]: 16: Hoare triple {36899#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [217] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {36900#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:59:50,907 INFO L290 TraceCheckUtils]: 17: Hoare triple {36900#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {36901#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:50,908 INFO L290 TraceCheckUtils]: 18: Hoare triple {36901#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {36901#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:50,908 INFO L290 TraceCheckUtils]: 19: Hoare triple {36901#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {36902#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:50,909 INFO L290 TraceCheckUtils]: 20: Hoare triple {36902#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {36902#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:50,909 INFO L272 TraceCheckUtils]: 21: Hoare triple {36902#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {36903#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:59:50,909 INFO L290 TraceCheckUtils]: 22: Hoare triple {36903#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {36904#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:59:50,910 INFO L290 TraceCheckUtils]: 23: Hoare triple {36904#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {36888#false} is VALID [2022-04-28 03:59:50,910 INFO L290 TraceCheckUtils]: 24: Hoare triple {36888#false} assume !false; {36888#false} is VALID [2022-04-28 03:59:50,910 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:50,910 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:59:50,910 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [650967492] [2022-04-28 03:59:50,910 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [650967492] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:59:50,910 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [863676689] [2022-04-28 03:59:50,910 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:59:50,910 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:59:50,911 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:59:50,911 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:59:50,937 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2022-04-28 03:59:50,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:50,953 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:59:50,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:50,959 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:59:51,229 INFO L272 TraceCheckUtils]: 0: Hoare triple {36887#true} call ULTIMATE.init(); {36887#true} is VALID [2022-04-28 03:59:51,230 INFO L290 TraceCheckUtils]: 1: Hoare triple {36887#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:51,230 INFO L290 TraceCheckUtils]: 2: Hoare triple {36892#(<= 20 ~SIZE~0)} assume true; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:51,230 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36892#(<= 20 ~SIZE~0)} {36887#true} #90#return; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:51,231 INFO L272 TraceCheckUtils]: 4: Hoare triple {36892#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:51,231 INFO L290 TraceCheckUtils]: 5: Hoare triple {36892#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:51,231 INFO L272 TraceCheckUtils]: 6: Hoare triple {36892#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:51,232 INFO L290 TraceCheckUtils]: 7: Hoare triple {36892#(<= 20 ~SIZE~0)} ~cond := #in~cond; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:51,232 INFO L290 TraceCheckUtils]: 8: Hoare triple {36892#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:51,232 INFO L290 TraceCheckUtils]: 9: Hoare triple {36892#(<= 20 ~SIZE~0)} assume true; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:51,233 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36892#(<= 20 ~SIZE~0)} {36892#(<= 20 ~SIZE~0)} #86#return; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:51,233 INFO L290 TraceCheckUtils]: 11: Hoare triple {36892#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:51,233 INFO L290 TraceCheckUtils]: 12: Hoare triple {36892#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {36945#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:59:51,234 INFO L290 TraceCheckUtils]: 13: Hoare triple {36945#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [218] L25-3-->L25-4_primed: Formula: (let ((.cse3 (<= v_~last~0_307 v_main_~c~0_694)) (.cse0 (= v_main_~c~0_694 v_main_~c~0_693)) (.cse1 (= |v_main_#t~post5_399| |v_main_#t~post5_397|)) (.cse2 (= v_main_~st~0_377 v_main_~st~0_376))) (or (and .cse0 (= v_~last~0_307 v_~last~0_307) .cse1 .cse2 (= v_~SIZE~0_276 v_~SIZE~0_276)) (and .cse3 (= v_main_~st~0_376 0) (< v_main_~c~0_694 v_main_~c~0_693) (< v_main_~c~0_693 (+ v_~SIZE~0_276 1))) (and (or (not (< v_main_~c~0_694 v_~SIZE~0_276)) (not .cse3)) .cse0 .cse1 .cse2))) InVars {~SIZE~0=v_~SIZE~0_276, main_~c~0=v_main_~c~0_694, main_#t~post5=|v_main_#t~post5_399|, main_~st~0=v_main_~st~0_377, ~last~0=v_~last~0_307} OutVars{~SIZE~0=v_~SIZE~0_276, main_#t~post5=|v_main_#t~post5_397|, main_~c~0=v_main_~c~0_693, main_~st~0=v_main_~st~0_376, ~last~0=v_~last~0_307} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {36949#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:51,234 INFO L290 TraceCheckUtils]: 14: Hoare triple {36949#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [219] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {36949#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:51,235 INFO L290 TraceCheckUtils]: 15: Hoare triple {36949#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [220] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_696 v_main_~c~0_695)) (.cse1 (= |v_main_#t~post5_402| |v_main_#t~post5_398|))) (or (and (= v_~SIZE~0_277 v_~SIZE~0_277) .cse0 .cse1 (= v_~last~0_308 v_~last~0_308)) (and .cse0 .cse1 (or (not (< v_main_~c~0_696 v_~SIZE~0_277)) (not (< v_main_~c~0_696 v_~last~0_308)))) (and (< v_main_~c~0_695 (+ v_~SIZE~0_277 1)) (< v_main_~c~0_696 v_main_~c~0_695) (< v_main_~c~0_695 (+ v_~last~0_308 1))))) InVars {~SIZE~0=v_~SIZE~0_277, main_~c~0=v_main_~c~0_696, main_#t~post5=|v_main_#t~post5_402|, ~last~0=v_~last~0_308} OutVars{~SIZE~0=v_~SIZE~0_277, main_#t~post5=|v_main_#t~post5_398|, main_~c~0=v_main_~c~0_695, ~last~0=v_~last~0_308} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {36949#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:51,236 INFO L290 TraceCheckUtils]: 16: Hoare triple {36949#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [217] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {36959#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:59:51,236 INFO L290 TraceCheckUtils]: 17: Hoare triple {36959#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {36888#false} is VALID [2022-04-28 03:59:51,236 INFO L290 TraceCheckUtils]: 18: Hoare triple {36888#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {36888#false} is VALID [2022-04-28 03:59:51,236 INFO L290 TraceCheckUtils]: 19: Hoare triple {36888#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {36888#false} is VALID [2022-04-28 03:59:51,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {36888#false} assume !(~d~0 == ~SIZE~0); {36888#false} is VALID [2022-04-28 03:59:51,236 INFO L272 TraceCheckUtils]: 21: Hoare triple {36888#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {36888#false} is VALID [2022-04-28 03:59:51,237 INFO L290 TraceCheckUtils]: 22: Hoare triple {36888#false} ~cond := #in~cond; {36888#false} is VALID [2022-04-28 03:59:51,237 INFO L290 TraceCheckUtils]: 23: Hoare triple {36888#false} assume 0 == ~cond; {36888#false} is VALID [2022-04-28 03:59:51,237 INFO L290 TraceCheckUtils]: 24: Hoare triple {36888#false} assume !false; {36888#false} is VALID [2022-04-28 03:59:51,237 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:51,237 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:59:51,511 INFO L290 TraceCheckUtils]: 24: Hoare triple {36888#false} assume !false; {36888#false} is VALID [2022-04-28 03:59:51,511 INFO L290 TraceCheckUtils]: 23: Hoare triple {36888#false} assume 0 == ~cond; {36888#false} is VALID [2022-04-28 03:59:51,511 INFO L290 TraceCheckUtils]: 22: Hoare triple {36888#false} ~cond := #in~cond; {36888#false} is VALID [2022-04-28 03:59:51,511 INFO L272 TraceCheckUtils]: 21: Hoare triple {36888#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {36888#false} is VALID [2022-04-28 03:59:51,511 INFO L290 TraceCheckUtils]: 20: Hoare triple {36888#false} assume !(~d~0 == ~SIZE~0); {36888#false} is VALID [2022-04-28 03:59:51,511 INFO L290 TraceCheckUtils]: 19: Hoare triple {36888#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {36888#false} is VALID [2022-04-28 03:59:51,512 INFO L290 TraceCheckUtils]: 18: Hoare triple {36888#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {36888#false} is VALID [2022-04-28 03:59:51,512 INFO L290 TraceCheckUtils]: 17: Hoare triple {37005#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {36888#false} is VALID [2022-04-28 03:59:51,512 INFO L290 TraceCheckUtils]: 16: Hoare triple {37009#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [217] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {37005#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:59:51,513 INFO L290 TraceCheckUtils]: 15: Hoare triple {37009#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [220] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_696 v_main_~c~0_695)) (.cse1 (= |v_main_#t~post5_402| |v_main_#t~post5_398|))) (or (and (= v_~SIZE~0_277 v_~SIZE~0_277) .cse0 .cse1 (= v_~last~0_308 v_~last~0_308)) (and .cse0 .cse1 (or (not (< v_main_~c~0_696 v_~SIZE~0_277)) (not (< v_main_~c~0_696 v_~last~0_308)))) (and (< v_main_~c~0_695 (+ v_~SIZE~0_277 1)) (< v_main_~c~0_696 v_main_~c~0_695) (< v_main_~c~0_695 (+ v_~last~0_308 1))))) InVars {~SIZE~0=v_~SIZE~0_277, main_~c~0=v_main_~c~0_696, main_#t~post5=|v_main_#t~post5_402|, ~last~0=v_~last~0_308} OutVars{~SIZE~0=v_~SIZE~0_277, main_#t~post5=|v_main_#t~post5_398|, main_~c~0=v_main_~c~0_695, ~last~0=v_~last~0_308} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {37009#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:51,513 INFO L290 TraceCheckUtils]: 14: Hoare triple {37009#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [219] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {37009#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:51,514 INFO L290 TraceCheckUtils]: 13: Hoare triple {37019#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [218] L25-3-->L25-4_primed: Formula: (let ((.cse3 (<= v_~last~0_307 v_main_~c~0_694)) (.cse0 (= v_main_~c~0_694 v_main_~c~0_693)) (.cse1 (= |v_main_#t~post5_399| |v_main_#t~post5_397|)) (.cse2 (= v_main_~st~0_377 v_main_~st~0_376))) (or (and .cse0 (= v_~last~0_307 v_~last~0_307) .cse1 .cse2 (= v_~SIZE~0_276 v_~SIZE~0_276)) (and .cse3 (= v_main_~st~0_376 0) (< v_main_~c~0_694 v_main_~c~0_693) (< v_main_~c~0_693 (+ v_~SIZE~0_276 1))) (and (or (not (< v_main_~c~0_694 v_~SIZE~0_276)) (not .cse3)) .cse0 .cse1 .cse2))) InVars {~SIZE~0=v_~SIZE~0_276, main_~c~0=v_main_~c~0_694, main_#t~post5=|v_main_#t~post5_399|, main_~st~0=v_main_~st~0_377, ~last~0=v_~last~0_307} OutVars{~SIZE~0=v_~SIZE~0_276, main_#t~post5=|v_main_#t~post5_397|, main_~c~0=v_main_~c~0_693, main_~st~0=v_main_~st~0_376, ~last~0=v_~last~0_307} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {37009#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:51,514 INFO L290 TraceCheckUtils]: 12: Hoare triple {37023#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {37019#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:59:51,514 INFO L290 TraceCheckUtils]: 11: Hoare triple {37023#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {37023#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:51,514 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36887#true} {37023#(< 1 ~SIZE~0)} #86#return; {37023#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:51,515 INFO L290 TraceCheckUtils]: 9: Hoare triple {36887#true} assume true; {36887#true} is VALID [2022-04-28 03:59:51,515 INFO L290 TraceCheckUtils]: 8: Hoare triple {36887#true} assume !(0 == ~cond); {36887#true} is VALID [2022-04-28 03:59:51,515 INFO L290 TraceCheckUtils]: 7: Hoare triple {36887#true} ~cond := #in~cond; {36887#true} is VALID [2022-04-28 03:59:51,515 INFO L272 TraceCheckUtils]: 6: Hoare triple {37023#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {36887#true} is VALID [2022-04-28 03:59:51,515 INFO L290 TraceCheckUtils]: 5: Hoare triple {37023#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {37023#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:51,515 INFO L272 TraceCheckUtils]: 4: Hoare triple {37023#(< 1 ~SIZE~0)} call #t~ret7 := main(); {37023#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:51,515 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37023#(< 1 ~SIZE~0)} {36887#true} #90#return; {37023#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:51,516 INFO L290 TraceCheckUtils]: 2: Hoare triple {37023#(< 1 ~SIZE~0)} assume true; {37023#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:51,516 INFO L290 TraceCheckUtils]: 1: Hoare triple {36887#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {37023#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:51,516 INFO L272 TraceCheckUtils]: 0: Hoare triple {36887#true} call ULTIMATE.init(); {36887#true} is VALID [2022-04-28 03:59:51,516 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:51,516 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [863676689] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:59:51,517 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:59:51,517 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:59:52,090 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:59:52,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2058121693] [2022-04-28 03:59:52,090 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2058121693] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:59:52,090 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:59:52,091 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-28 03:59:52,091 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1131433676] [2022-04-28 03:59:52,091 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:59:52,091 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 46 [2022-04-28 03:59:52,092 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:59:52,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 27 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:52,117 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 03:59:52,117 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-28 03:59:52,117 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:59:52,118 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-28 03:59:52,119 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=231, Invalid=1029, Unknown=0, NotChecked=0, Total=1260 [2022-04-28 03:59:52,119 INFO L87 Difference]: Start difference. First operand 166 states and 202 transitions. Second operand has 27 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:53,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:53,809 INFO L93 Difference]: Finished difference Result 270 states and 333 transitions. [2022-04-28 03:59:53,809 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-28 03:59:53,809 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 46 [2022-04-28 03:59:53,809 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:59:53,809 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:53,810 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 96 transitions. [2022-04-28 03:59:53,810 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:53,810 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 96 transitions. [2022-04-28 03:59:53,810 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 96 transitions. [2022-04-28 03:59:53,860 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:59:53,862 INFO L225 Difference]: With dead ends: 270 [2022-04-28 03:59:53,862 INFO L226 Difference]: Without dead ends: 183 [2022-04-28 03:59:53,863 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 48 SyntacticMatches, 8 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 513 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=243, Invalid=1163, Unknown=0, NotChecked=0, Total=1406 [2022-04-28 03:59:53,863 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 54 mSDsluCounter, 46 mSDsCounter, 0 mSdLazyCounter, 1008 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 1018 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1008 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 03:59:53,863 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [55 Valid, 66 Invalid, 1018 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1008 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 03:59:53,864 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 183 states. [2022-04-28 03:59:54,445 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 183 to 166. [2022-04-28 03:59:54,445 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:59:54,446 INFO L82 GeneralOperation]: Start isEquivalent. First operand 183 states. Second operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:54,446 INFO L74 IsIncluded]: Start isIncluded. First operand 183 states. Second operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:54,446 INFO L87 Difference]: Start difference. First operand 183 states. Second operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:54,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:54,448 INFO L93 Difference]: Finished difference Result 183 states and 221 transitions. [2022-04-28 03:59:54,448 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 221 transitions. [2022-04-28 03:59:54,448 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:59:54,448 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:59:54,448 INFO L74 IsIncluded]: Start isIncluded. First operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 183 states. [2022-04-28 03:59:54,448 INFO L87 Difference]: Start difference. First operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 183 states. [2022-04-28 03:59:54,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:54,450 INFO L93 Difference]: Finished difference Result 183 states and 221 transitions. [2022-04-28 03:59:54,450 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 221 transitions. [2022-04-28 03:59:54,450 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:59:54,450 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:59:54,450 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:59:54,450 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:59:54,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 166 states, 151 states have (on average 1.2251655629139073) internal successors, (185), 154 states have internal predecessors, (185), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:54,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 202 transitions. [2022-04-28 03:59:54,452 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 202 transitions. Word has length 46 [2022-04-28 03:59:54,452 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:59:54,452 INFO L495 AbstractCegarLoop]: Abstraction has 166 states and 202 transitions. [2022-04-28 03:59:54,452 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 27 states have (on average 1.4814814814814814) internal successors, (40), 25 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:54,452 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 166 states and 202 transitions. [2022-04-28 03:59:54,791 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 202 edges. 202 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:59:54,791 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 202 transitions. [2022-04-28 03:59:54,792 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 03:59:54,792 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:59:54,792 INFO L195 NwaCegarLoop]: trace histogram [8, 8, 7, 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 03:59:54,807 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Forceful destruction successful, exit code 0 [2022-04-28 03:59:55,011 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 30 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable36 [2022-04-28 03:59:55,012 INFO L420 AbstractCegarLoop]: === Iteration 38 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:59:55,012 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:59:55,012 INFO L85 PathProgramCache]: Analyzing trace with hash 2089980700, now seen corresponding path program 28 times [2022-04-28 03:59:55,012 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:59:55,012 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [239109765] [2022-04-28 03:59:55,238 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:59:55,395 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 03:59:55,396 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 03:59:55,398 INFO L85 PathProgramCache]: Analyzing trace with hash 714028353, now seen corresponding path program 1 times [2022-04-28 03:59:55,398 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 03:59:55,398 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1764230246] [2022-04-28 03:59:55,398 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:59:55,398 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 03:59:55,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:55,578 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 03:59:55,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:55,584 INFO L290 TraceCheckUtils]: 0: Hoare triple {38340#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,584 INFO L290 TraceCheckUtils]: 1: Hoare triple {38327#(<= 20 ~SIZE~0)} assume true; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,584 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38327#(<= 20 ~SIZE~0)} {38322#true} #90#return; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,584 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 03:59:55,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:55,586 INFO L290 TraceCheckUtils]: 0: Hoare triple {38322#true} ~cond := #in~cond; {38322#true} is VALID [2022-04-28 03:59:55,586 INFO L290 TraceCheckUtils]: 1: Hoare triple {38322#true} assume !(0 == ~cond); {38322#true} is VALID [2022-04-28 03:59:55,586 INFO L290 TraceCheckUtils]: 2: Hoare triple {38322#true} assume true; {38322#true} is VALID [2022-04-28 03:59:55,587 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38322#true} {38327#(<= 20 ~SIZE~0)} #86#return; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,587 INFO L272 TraceCheckUtils]: 0: Hoare triple {38322#true} call ULTIMATE.init(); {38340#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 03:59:55,588 INFO L290 TraceCheckUtils]: 1: Hoare triple {38340#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,588 INFO L290 TraceCheckUtils]: 2: Hoare triple {38327#(<= 20 ~SIZE~0)} assume true; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,588 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38327#(<= 20 ~SIZE~0)} {38322#true} #90#return; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,589 INFO L272 TraceCheckUtils]: 4: Hoare triple {38327#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,589 INFO L290 TraceCheckUtils]: 5: Hoare triple {38327#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,589 INFO L272 TraceCheckUtils]: 6: Hoare triple {38327#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {38322#true} is VALID [2022-04-28 03:59:55,589 INFO L290 TraceCheckUtils]: 7: Hoare triple {38322#true} ~cond := #in~cond; {38322#true} is VALID [2022-04-28 03:59:55,589 INFO L290 TraceCheckUtils]: 8: Hoare triple {38322#true} assume !(0 == ~cond); {38322#true} is VALID [2022-04-28 03:59:55,589 INFO L290 TraceCheckUtils]: 9: Hoare triple {38322#true} assume true; {38322#true} is VALID [2022-04-28 03:59:55,590 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38322#true} {38327#(<= 20 ~SIZE~0)} #86#return; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,590 INFO L290 TraceCheckUtils]: 11: Hoare triple {38327#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {38332#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 03:59:55,590 INFO L290 TraceCheckUtils]: 12: Hoare triple {38332#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {38333#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 03:59:55,591 INFO L290 TraceCheckUtils]: 13: Hoare triple {38333#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [222] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~c~0_719 v_main_~c~0_718)) (.cse2 (= |v_main_#t~post5_412| |v_main_#t~post5_410|)) (.cse3 (= v_main_~st~0_388 v_main_~st~0_387)) (.cse0 (<= v_~last~0_317 v_main_~c~0_719))) (or (and .cse0 (< v_main_~c~0_719 v_main_~c~0_718) (< v_main_~c~0_718 (+ v_~SIZE~0_285 1)) (= v_main_~st~0_387 0)) (and .cse1 .cse2 .cse3 (= v_~last~0_317 v_~last~0_317) (= v_~SIZE~0_285 v_~SIZE~0_285)) (and .cse1 .cse2 .cse3 (or (not (< v_main_~c~0_719 v_~SIZE~0_285)) (not .cse0))))) InVars {~SIZE~0=v_~SIZE~0_285, main_~c~0=v_main_~c~0_719, main_#t~post5=|v_main_#t~post5_412|, main_~st~0=v_main_~st~0_388, ~last~0=v_~last~0_317} OutVars{~SIZE~0=v_~SIZE~0_285, main_#t~post5=|v_main_#t~post5_410|, main_~c~0=v_main_~c~0_718, main_~st~0=v_main_~st~0_387, ~last~0=v_~last~0_317} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {38334#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:55,592 INFO L290 TraceCheckUtils]: 14: Hoare triple {38334#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [223] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {38334#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:55,592 INFO L290 TraceCheckUtils]: 15: Hoare triple {38334#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [224] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_415| |v_main_#t~post5_411|)) (.cse1 (= v_main_~c~0_721 v_main_~c~0_720))) (or (and (< v_main_~c~0_720 (+ v_~SIZE~0_286 1)) (< v_main_~c~0_720 (+ v_~last~0_318 1)) (< v_main_~c~0_721 v_main_~c~0_720)) (and (or (not (< v_main_~c~0_721 v_~last~0_318)) (not (< v_main_~c~0_721 v_~SIZE~0_286))) .cse0 .cse1) (and (= v_~SIZE~0_286 v_~SIZE~0_286) (= v_~last~0_318 v_~last~0_318) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_286, main_~c~0=v_main_~c~0_721, main_#t~post5=|v_main_#t~post5_415|, ~last~0=v_~last~0_318} OutVars{~SIZE~0=v_~SIZE~0_286, main_#t~post5=|v_main_#t~post5_411|, main_~c~0=v_main_~c~0_720, ~last~0=v_~last~0_318} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {38334#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 03:59:55,593 INFO L290 TraceCheckUtils]: 16: Hoare triple {38334#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [221] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {38335#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 03:59:55,594 INFO L290 TraceCheckUtils]: 17: Hoare triple {38335#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {38336#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:55,594 INFO L290 TraceCheckUtils]: 18: Hoare triple {38336#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {38336#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:55,595 INFO L290 TraceCheckUtils]: 19: Hoare triple {38336#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {38337#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:55,595 INFO L290 TraceCheckUtils]: 20: Hoare triple {38337#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {38337#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 03:59:55,596 INFO L272 TraceCheckUtils]: 21: Hoare triple {38337#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {38338#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 03:59:55,596 INFO L290 TraceCheckUtils]: 22: Hoare triple {38338#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {38339#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 03:59:55,596 INFO L290 TraceCheckUtils]: 23: Hoare triple {38339#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {38323#false} is VALID [2022-04-28 03:59:55,596 INFO L290 TraceCheckUtils]: 24: Hoare triple {38323#false} assume !false; {38323#false} is VALID [2022-04-28 03:59:55,597 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:55,597 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 03:59:55,597 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1764230246] [2022-04-28 03:59:55,597 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1764230246] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 03:59:55,597 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [558862779] [2022-04-28 03:59:55,597 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 03:59:55,597 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 03:59:55,597 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 03:59:55,608 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 03:59:55,623 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Waiting until timeout for monitored process [2022-04-28 03:59:55,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:55,653 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 03:59:55,659 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 03:59:55,660 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 03:59:55,953 INFO L272 TraceCheckUtils]: 0: Hoare triple {38322#true} call ULTIMATE.init(); {38322#true} is VALID [2022-04-28 03:59:55,954 INFO L290 TraceCheckUtils]: 1: Hoare triple {38322#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,954 INFO L290 TraceCheckUtils]: 2: Hoare triple {38327#(<= 20 ~SIZE~0)} assume true; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38327#(<= 20 ~SIZE~0)} {38322#true} #90#return; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,955 INFO L272 TraceCheckUtils]: 4: Hoare triple {38327#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,955 INFO L290 TraceCheckUtils]: 5: Hoare triple {38327#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,956 INFO L272 TraceCheckUtils]: 6: Hoare triple {38327#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,956 INFO L290 TraceCheckUtils]: 7: Hoare triple {38327#(<= 20 ~SIZE~0)} ~cond := #in~cond; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,956 INFO L290 TraceCheckUtils]: 8: Hoare triple {38327#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,957 INFO L290 TraceCheckUtils]: 9: Hoare triple {38327#(<= 20 ~SIZE~0)} assume true; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,957 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38327#(<= 20 ~SIZE~0)} {38327#(<= 20 ~SIZE~0)} #86#return; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,957 INFO L290 TraceCheckUtils]: 11: Hoare triple {38327#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-28 03:59:55,958 INFO L290 TraceCheckUtils]: 12: Hoare triple {38327#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {38380#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 03:59:55,958 INFO L290 TraceCheckUtils]: 13: Hoare triple {38380#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [222] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~c~0_719 v_main_~c~0_718)) (.cse2 (= |v_main_#t~post5_412| |v_main_#t~post5_410|)) (.cse3 (= v_main_~st~0_388 v_main_~st~0_387)) (.cse0 (<= v_~last~0_317 v_main_~c~0_719))) (or (and .cse0 (< v_main_~c~0_719 v_main_~c~0_718) (< v_main_~c~0_718 (+ v_~SIZE~0_285 1)) (= v_main_~st~0_387 0)) (and .cse1 .cse2 .cse3 (= v_~last~0_317 v_~last~0_317) (= v_~SIZE~0_285 v_~SIZE~0_285)) (and .cse1 .cse2 .cse3 (or (not (< v_main_~c~0_719 v_~SIZE~0_285)) (not .cse0))))) InVars {~SIZE~0=v_~SIZE~0_285, main_~c~0=v_main_~c~0_719, main_#t~post5=|v_main_#t~post5_412|, main_~st~0=v_main_~st~0_388, ~last~0=v_~last~0_317} OutVars{~SIZE~0=v_~SIZE~0_285, main_#t~post5=|v_main_#t~post5_410|, main_~c~0=v_main_~c~0_718, main_~st~0=v_main_~st~0_387, ~last~0=v_~last~0_317} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {38384#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:55,959 INFO L290 TraceCheckUtils]: 14: Hoare triple {38384#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [223] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {38384#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:55,960 INFO L290 TraceCheckUtils]: 15: Hoare triple {38384#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [224] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_415| |v_main_#t~post5_411|)) (.cse1 (= v_main_~c~0_721 v_main_~c~0_720))) (or (and (< v_main_~c~0_720 (+ v_~SIZE~0_286 1)) (< v_main_~c~0_720 (+ v_~last~0_318 1)) (< v_main_~c~0_721 v_main_~c~0_720)) (and (or (not (< v_main_~c~0_721 v_~last~0_318)) (not (< v_main_~c~0_721 v_~SIZE~0_286))) .cse0 .cse1) (and (= v_~SIZE~0_286 v_~SIZE~0_286) (= v_~last~0_318 v_~last~0_318) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_286, main_~c~0=v_main_~c~0_721, main_#t~post5=|v_main_#t~post5_415|, ~last~0=v_~last~0_318} OutVars{~SIZE~0=v_~SIZE~0_286, main_#t~post5=|v_main_#t~post5_411|, main_~c~0=v_main_~c~0_720, ~last~0=v_~last~0_318} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {38384#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 03:59:55,960 INFO L290 TraceCheckUtils]: 16: Hoare triple {38384#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [221] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {38394#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 03:59:55,961 INFO L290 TraceCheckUtils]: 17: Hoare triple {38394#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {38323#false} is VALID [2022-04-28 03:59:55,961 INFO L290 TraceCheckUtils]: 18: Hoare triple {38323#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {38323#false} is VALID [2022-04-28 03:59:55,961 INFO L290 TraceCheckUtils]: 19: Hoare triple {38323#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {38323#false} is VALID [2022-04-28 03:59:55,961 INFO L290 TraceCheckUtils]: 20: Hoare triple {38323#false} assume !(~d~0 == ~SIZE~0); {38323#false} is VALID [2022-04-28 03:59:55,961 INFO L272 TraceCheckUtils]: 21: Hoare triple {38323#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {38323#false} is VALID [2022-04-28 03:59:55,961 INFO L290 TraceCheckUtils]: 22: Hoare triple {38323#false} ~cond := #in~cond; {38323#false} is VALID [2022-04-28 03:59:55,961 INFO L290 TraceCheckUtils]: 23: Hoare triple {38323#false} assume 0 == ~cond; {38323#false} is VALID [2022-04-28 03:59:55,961 INFO L290 TraceCheckUtils]: 24: Hoare triple {38323#false} assume !false; {38323#false} is VALID [2022-04-28 03:59:55,961 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:55,961 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 03:59:56,325 INFO L290 TraceCheckUtils]: 24: Hoare triple {38323#false} assume !false; {38323#false} is VALID [2022-04-28 03:59:56,325 INFO L290 TraceCheckUtils]: 23: Hoare triple {38323#false} assume 0 == ~cond; {38323#false} is VALID [2022-04-28 03:59:56,326 INFO L290 TraceCheckUtils]: 22: Hoare triple {38323#false} ~cond := #in~cond; {38323#false} is VALID [2022-04-28 03:59:56,326 INFO L272 TraceCheckUtils]: 21: Hoare triple {38323#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {38323#false} is VALID [2022-04-28 03:59:56,326 INFO L290 TraceCheckUtils]: 20: Hoare triple {38323#false} assume !(~d~0 == ~SIZE~0); {38323#false} is VALID [2022-04-28 03:59:56,326 INFO L290 TraceCheckUtils]: 19: Hoare triple {38323#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {38323#false} is VALID [2022-04-28 03:59:56,326 INFO L290 TraceCheckUtils]: 18: Hoare triple {38323#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {38323#false} is VALID [2022-04-28 03:59:56,326 INFO L290 TraceCheckUtils]: 17: Hoare triple {38440#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {38323#false} is VALID [2022-04-28 03:59:56,327 INFO L290 TraceCheckUtils]: 16: Hoare triple {38444#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [221] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {38440#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 03:59:56,327 INFO L290 TraceCheckUtils]: 15: Hoare triple {38444#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [224] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_415| |v_main_#t~post5_411|)) (.cse1 (= v_main_~c~0_721 v_main_~c~0_720))) (or (and (< v_main_~c~0_720 (+ v_~SIZE~0_286 1)) (< v_main_~c~0_720 (+ v_~last~0_318 1)) (< v_main_~c~0_721 v_main_~c~0_720)) (and (or (not (< v_main_~c~0_721 v_~last~0_318)) (not (< v_main_~c~0_721 v_~SIZE~0_286))) .cse0 .cse1) (and (= v_~SIZE~0_286 v_~SIZE~0_286) (= v_~last~0_318 v_~last~0_318) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_286, main_~c~0=v_main_~c~0_721, main_#t~post5=|v_main_#t~post5_415|, ~last~0=v_~last~0_318} OutVars{~SIZE~0=v_~SIZE~0_286, main_#t~post5=|v_main_#t~post5_411|, main_~c~0=v_main_~c~0_720, ~last~0=v_~last~0_318} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {38444#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:56,328 INFO L290 TraceCheckUtils]: 14: Hoare triple {38444#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [223] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {38444#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:56,328 INFO L290 TraceCheckUtils]: 13: Hoare triple {38454#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [222] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~c~0_719 v_main_~c~0_718)) (.cse2 (= |v_main_#t~post5_412| |v_main_#t~post5_410|)) (.cse3 (= v_main_~st~0_388 v_main_~st~0_387)) (.cse0 (<= v_~last~0_317 v_main_~c~0_719))) (or (and .cse0 (< v_main_~c~0_719 v_main_~c~0_718) (< v_main_~c~0_718 (+ v_~SIZE~0_285 1)) (= v_main_~st~0_387 0)) (and .cse1 .cse2 .cse3 (= v_~last~0_317 v_~last~0_317) (= v_~SIZE~0_285 v_~SIZE~0_285)) (and .cse1 .cse2 .cse3 (or (not (< v_main_~c~0_719 v_~SIZE~0_285)) (not .cse0))))) InVars {~SIZE~0=v_~SIZE~0_285, main_~c~0=v_main_~c~0_719, main_#t~post5=|v_main_#t~post5_412|, main_~st~0=v_main_~st~0_388, ~last~0=v_~last~0_317} OutVars{~SIZE~0=v_~SIZE~0_285, main_#t~post5=|v_main_#t~post5_410|, main_~c~0=v_main_~c~0_718, main_~st~0=v_main_~st~0_387, ~last~0=v_~last~0_317} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {38444#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 03:59:56,329 INFO L290 TraceCheckUtils]: 12: Hoare triple {38458#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {38454#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 03:59:56,329 INFO L290 TraceCheckUtils]: 11: Hoare triple {38458#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {38458#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:56,329 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38322#true} {38458#(< 1 ~SIZE~0)} #86#return; {38458#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:56,330 INFO L290 TraceCheckUtils]: 9: Hoare triple {38322#true} assume true; {38322#true} is VALID [2022-04-28 03:59:56,330 INFO L290 TraceCheckUtils]: 8: Hoare triple {38322#true} assume !(0 == ~cond); {38322#true} is VALID [2022-04-28 03:59:56,330 INFO L290 TraceCheckUtils]: 7: Hoare triple {38322#true} ~cond := #in~cond; {38322#true} is VALID [2022-04-28 03:59:56,330 INFO L272 TraceCheckUtils]: 6: Hoare triple {38458#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {38322#true} is VALID [2022-04-28 03:59:56,330 INFO L290 TraceCheckUtils]: 5: Hoare triple {38458#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {38458#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:56,330 INFO L272 TraceCheckUtils]: 4: Hoare triple {38458#(< 1 ~SIZE~0)} call #t~ret7 := main(); {38458#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:56,331 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38458#(< 1 ~SIZE~0)} {38322#true} #90#return; {38458#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:56,331 INFO L290 TraceCheckUtils]: 2: Hoare triple {38458#(< 1 ~SIZE~0)} assume true; {38458#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:56,332 INFO L290 TraceCheckUtils]: 1: Hoare triple {38322#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {38458#(< 1 ~SIZE~0)} is VALID [2022-04-28 03:59:56,332 INFO L272 TraceCheckUtils]: 0: Hoare triple {38322#true} call ULTIMATE.init(); {38322#true} is VALID [2022-04-28 03:59:56,332 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 03:59:56,332 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [558862779] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 03:59:56,332 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 03:59:56,332 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 03:59:56,953 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 03:59:56,953 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [239109765] [2022-04-28 03:59:56,953 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [239109765] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 03:59:56,953 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 03:59:56,953 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [28] imperfect sequences [] total 28 [2022-04-28 03:59:56,953 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1889741025] [2022-04-28 03:59:56,953 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 03:59:56,954 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 1.4285714285714286) internal successors, (40), 26 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 46 [2022-04-28 03:59:56,955 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 03:59:56,955 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 28 states, 28 states have (on average 1.4285714285714286) internal successors, (40), 26 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:56,976 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 03:59:56,976 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-28 03:59:56,976 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 03:59:56,977 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-28 03:59:56,977 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=245, Invalid=1087, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 03:59:56,977 INFO L87 Difference]: Start difference. First operand 166 states and 202 transitions. Second operand has 28 states, 28 states have (on average 1.4285714285714286) internal successors, (40), 26 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:58,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:58,566 INFO L93 Difference]: Finished difference Result 281 states and 348 transitions. [2022-04-28 03:59:58,566 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 03:59:58,566 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 1.4285714285714286) internal successors, (40), 26 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 46 [2022-04-28 03:59:58,566 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 03:59:58,566 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 1.4285714285714286) internal successors, (40), 26 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:58,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 98 transitions. [2022-04-28 03:59:58,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 1.4285714285714286) internal successors, (40), 26 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:58,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 98 transitions. [2022-04-28 03:59:58,568 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 98 transitions. [2022-04-28 03:59:58,623 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 03:59:58,625 INFO L225 Difference]: With dead ends: 281 [2022-04-28 03:59:58,625 INFO L226 Difference]: Without dead ends: 183 [2022-04-28 03:59:58,626 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 48 SyntacticMatches, 7 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 501 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=257, Invalid=1225, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 03:59:58,626 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 54 mSDsluCounter, 46 mSDsCounter, 0 mSdLazyCounter, 994 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 1005 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 994 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 03:59:58,626 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [55 Valid, 66 Invalid, 1005 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 994 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 03:59:58,632 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 183 states. [2022-04-28 03:59:59,196 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 183 to 169. [2022-04-28 03:59:59,196 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 03:59:59,197 INFO L82 GeneralOperation]: Start isEquivalent. First operand 183 states. Second operand has 169 states, 154 states have (on average 1.2272727272727273) internal successors, (189), 157 states have internal predecessors, (189), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:59,198 INFO L74 IsIncluded]: Start isIncluded. First operand 183 states. Second operand has 169 states, 154 states have (on average 1.2272727272727273) internal successors, (189), 157 states have internal predecessors, (189), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:59,198 INFO L87 Difference]: Start difference. First operand 183 states. Second operand has 169 states, 154 states have (on average 1.2272727272727273) internal successors, (189), 157 states have internal predecessors, (189), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:59,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:59,213 INFO L93 Difference]: Finished difference Result 183 states and 222 transitions. [2022-04-28 03:59:59,213 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 222 transitions. [2022-04-28 03:59:59,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:59:59,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:59:59,213 INFO L74 IsIncluded]: Start isIncluded. First operand has 169 states, 154 states have (on average 1.2272727272727273) internal successors, (189), 157 states have internal predecessors, (189), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 183 states. [2022-04-28 03:59:59,213 INFO L87 Difference]: Start difference. First operand has 169 states, 154 states have (on average 1.2272727272727273) internal successors, (189), 157 states have internal predecessors, (189), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 183 states. [2022-04-28 03:59:59,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 03:59:59,219 INFO L93 Difference]: Finished difference Result 183 states and 222 transitions. [2022-04-28 03:59:59,219 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 222 transitions. [2022-04-28 03:59:59,219 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 03:59:59,219 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 03:59:59,219 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 03:59:59,219 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 03:59:59,219 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 169 states, 154 states have (on average 1.2272727272727273) internal successors, (189), 157 states have internal predecessors, (189), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 03:59:59,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 169 states to 169 states and 206 transitions. [2022-04-28 03:59:59,221 INFO L78 Accepts]: Start accepts. Automaton has 169 states and 206 transitions. Word has length 46 [2022-04-28 03:59:59,221 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 03:59:59,221 INFO L495 AbstractCegarLoop]: Abstraction has 169 states and 206 transitions. [2022-04-28 03:59:59,221 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 28 states, 28 states have (on average 1.4285714285714286) internal successors, (40), 26 states have internal predecessors, (40), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 03:59:59,222 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 169 states and 206 transitions. [2022-04-28 03:59:59,578 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 206 edges. 206 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 03:59:59,578 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 206 transitions. [2022-04-28 03:59:59,578 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 03:59:59,578 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 03:59:59,578 INFO L195 NwaCegarLoop]: trace histogram [9, 9, 8, 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 03:59:59,594 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Ended with exit code 0 [2022-04-28 03:59:59,783 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 31 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable37 [2022-04-28 03:59:59,783 INFO L420 AbstractCegarLoop]: === Iteration 39 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 03:59:59,783 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 03:59:59,784 INFO L85 PathProgramCache]: Analyzing trace with hash 1745750559, now seen corresponding path program 29 times [2022-04-28 03:59:59,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 03:59:59,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [407929507] [2022-04-28 04:00:03,864 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:00:03,934 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:00:07,226 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:00:07,359 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:00:07,361 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:00:07,364 INFO L85 PathProgramCache]: Analyzing trace with hash -1088416191, now seen corresponding path program 1 times [2022-04-28 04:00:07,364 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:00:07,364 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [469119697] [2022-04-28 04:00:07,364 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:00:07,364 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:00:07,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:07,525 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:00:07,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:07,531 INFO L290 TraceCheckUtils]: 0: Hoare triple {39804#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,531 INFO L290 TraceCheckUtils]: 1: Hoare triple {39791#(<= 20 ~SIZE~0)} assume true; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,531 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {39791#(<= 20 ~SIZE~0)} {39786#true} #90#return; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,531 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:00:07,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:07,534 INFO L290 TraceCheckUtils]: 0: Hoare triple {39786#true} ~cond := #in~cond; {39786#true} is VALID [2022-04-28 04:00:07,534 INFO L290 TraceCheckUtils]: 1: Hoare triple {39786#true} assume !(0 == ~cond); {39786#true} is VALID [2022-04-28 04:00:07,534 INFO L290 TraceCheckUtils]: 2: Hoare triple {39786#true} assume true; {39786#true} is VALID [2022-04-28 04:00:07,534 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39786#true} {39791#(<= 20 ~SIZE~0)} #86#return; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,535 INFO L272 TraceCheckUtils]: 0: Hoare triple {39786#true} call ULTIMATE.init(); {39804#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:00:07,535 INFO L290 TraceCheckUtils]: 1: Hoare triple {39804#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,535 INFO L290 TraceCheckUtils]: 2: Hoare triple {39791#(<= 20 ~SIZE~0)} assume true; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,536 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39791#(<= 20 ~SIZE~0)} {39786#true} #90#return; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,536 INFO L272 TraceCheckUtils]: 4: Hoare triple {39791#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,536 INFO L290 TraceCheckUtils]: 5: Hoare triple {39791#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,536 INFO L272 TraceCheckUtils]: 6: Hoare triple {39791#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {39786#true} is VALID [2022-04-28 04:00:07,537 INFO L290 TraceCheckUtils]: 7: Hoare triple {39786#true} ~cond := #in~cond; {39786#true} is VALID [2022-04-28 04:00:07,537 INFO L290 TraceCheckUtils]: 8: Hoare triple {39786#true} assume !(0 == ~cond); {39786#true} is VALID [2022-04-28 04:00:07,537 INFO L290 TraceCheckUtils]: 9: Hoare triple {39786#true} assume true; {39786#true} is VALID [2022-04-28 04:00:07,537 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39786#true} {39791#(<= 20 ~SIZE~0)} #86#return; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,537 INFO L290 TraceCheckUtils]: 11: Hoare triple {39791#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {39796#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:00:07,538 INFO L290 TraceCheckUtils]: 12: Hoare triple {39796#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {39797#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:00:07,539 INFO L290 TraceCheckUtils]: 13: Hoare triple {39797#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [226] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= |v_main_#t~post5_425| |v_main_#t~post5_423|)) (.cse2 (= v_main_~c~0_744 v_main_~c~0_743)) (.cse3 (= v_main_~st~0_398 v_main_~st~0_397)) (.cse0 (<= v_~last~0_327 v_main_~c~0_744))) (or (and (or (not (< v_main_~c~0_744 v_~SIZE~0_294)) (not .cse0)) .cse1 .cse2 .cse3) (and (= v_~last~0_327 v_~last~0_327) .cse1 (= v_~SIZE~0_294 v_~SIZE~0_294) .cse2 .cse3) (and (< v_main_~c~0_744 v_main_~c~0_743) (< v_main_~c~0_743 (+ v_~SIZE~0_294 1)) .cse0 (= v_main_~st~0_397 0)))) InVars {~SIZE~0=v_~SIZE~0_294, main_~c~0=v_main_~c~0_744, main_#t~post5=|v_main_#t~post5_425|, main_~st~0=v_main_~st~0_398, ~last~0=v_~last~0_327} OutVars{~SIZE~0=v_~SIZE~0_294, main_#t~post5=|v_main_#t~post5_423|, main_~c~0=v_main_~c~0_743, main_~st~0=v_main_~st~0_397, ~last~0=v_~last~0_327} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {39798#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:00:07,539 INFO L290 TraceCheckUtils]: 14: Hoare triple {39798#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [227] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {39798#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:00:07,540 INFO L290 TraceCheckUtils]: 15: Hoare triple {39798#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [228] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_746 v_main_~c~0_745)) (.cse1 (= |v_main_#t~post5_428| |v_main_#t~post5_424|))) (or (and (or (not (< v_main_~c~0_746 v_~last~0_328)) (not (< v_main_~c~0_746 v_~SIZE~0_295))) .cse0 .cse1) (and (< v_main_~c~0_746 v_main_~c~0_745) (< v_main_~c~0_745 (+ v_~last~0_328 1)) (< v_main_~c~0_745 (+ v_~SIZE~0_295 1))) (and .cse0 (= v_~SIZE~0_295 v_~SIZE~0_295) .cse1 (= v_~last~0_328 v_~last~0_328)))) InVars {~SIZE~0=v_~SIZE~0_295, main_~c~0=v_main_~c~0_746, main_#t~post5=|v_main_#t~post5_428|, ~last~0=v_~last~0_328} OutVars{~SIZE~0=v_~SIZE~0_295, main_#t~post5=|v_main_#t~post5_424|, main_~c~0=v_main_~c~0_745, ~last~0=v_~last~0_328} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {39798#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:00:07,540 INFO L290 TraceCheckUtils]: 16: Hoare triple {39798#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [225] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {39799#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:00:07,541 INFO L290 TraceCheckUtils]: 17: Hoare triple {39799#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {39800#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:07,541 INFO L290 TraceCheckUtils]: 18: Hoare triple {39800#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {39800#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:07,542 INFO L290 TraceCheckUtils]: 19: Hoare triple {39800#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {39801#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:07,542 INFO L290 TraceCheckUtils]: 20: Hoare triple {39801#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {39801#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:07,543 INFO L272 TraceCheckUtils]: 21: Hoare triple {39801#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {39802#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:00:07,543 INFO L290 TraceCheckUtils]: 22: Hoare triple {39802#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {39803#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:00:07,544 INFO L290 TraceCheckUtils]: 23: Hoare triple {39803#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {39787#false} is VALID [2022-04-28 04:00:07,544 INFO L290 TraceCheckUtils]: 24: Hoare triple {39787#false} assume !false; {39787#false} is VALID [2022-04-28 04:00:07,544 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:00:07,544 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:00:07,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [469119697] [2022-04-28 04:00:07,544 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [469119697] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:00:07,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1693168564] [2022-04-28 04:00:07,544 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:00:07,544 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:00:07,545 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:00:07,556 INFO L229 MonitoredProcess]: Starting monitored process 32 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:00:07,557 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Waiting until timeout for monitored process [2022-04-28 04:00:07,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:07,585 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:00:07,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:07,592 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:00:07,862 INFO L272 TraceCheckUtils]: 0: Hoare triple {39786#true} call ULTIMATE.init(); {39786#true} is VALID [2022-04-28 04:00:07,863 INFO L290 TraceCheckUtils]: 1: Hoare triple {39786#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,863 INFO L290 TraceCheckUtils]: 2: Hoare triple {39791#(<= 20 ~SIZE~0)} assume true; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,863 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39791#(<= 20 ~SIZE~0)} {39786#true} #90#return; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,864 INFO L272 TraceCheckUtils]: 4: Hoare triple {39791#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,864 INFO L290 TraceCheckUtils]: 5: Hoare triple {39791#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,864 INFO L272 TraceCheckUtils]: 6: Hoare triple {39791#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,865 INFO L290 TraceCheckUtils]: 7: Hoare triple {39791#(<= 20 ~SIZE~0)} ~cond := #in~cond; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,865 INFO L290 TraceCheckUtils]: 8: Hoare triple {39791#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,865 INFO L290 TraceCheckUtils]: 9: Hoare triple {39791#(<= 20 ~SIZE~0)} assume true; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,865 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39791#(<= 20 ~SIZE~0)} {39791#(<= 20 ~SIZE~0)} #86#return; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,866 INFO L290 TraceCheckUtils]: 11: Hoare triple {39791#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:07,866 INFO L290 TraceCheckUtils]: 12: Hoare triple {39791#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {39844#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:00:07,867 INFO L290 TraceCheckUtils]: 13: Hoare triple {39844#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [226] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= |v_main_#t~post5_425| |v_main_#t~post5_423|)) (.cse2 (= v_main_~c~0_744 v_main_~c~0_743)) (.cse3 (= v_main_~st~0_398 v_main_~st~0_397)) (.cse0 (<= v_~last~0_327 v_main_~c~0_744))) (or (and (or (not (< v_main_~c~0_744 v_~SIZE~0_294)) (not .cse0)) .cse1 .cse2 .cse3) (and (= v_~last~0_327 v_~last~0_327) .cse1 (= v_~SIZE~0_294 v_~SIZE~0_294) .cse2 .cse3) (and (< v_main_~c~0_744 v_main_~c~0_743) (< v_main_~c~0_743 (+ v_~SIZE~0_294 1)) .cse0 (= v_main_~st~0_397 0)))) InVars {~SIZE~0=v_~SIZE~0_294, main_~c~0=v_main_~c~0_744, main_#t~post5=|v_main_#t~post5_425|, main_~st~0=v_main_~st~0_398, ~last~0=v_~last~0_327} OutVars{~SIZE~0=v_~SIZE~0_294, main_#t~post5=|v_main_#t~post5_423|, main_~c~0=v_main_~c~0_743, main_~st~0=v_main_~st~0_397, ~last~0=v_~last~0_327} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {39848#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:00:07,867 INFO L290 TraceCheckUtils]: 14: Hoare triple {39848#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [227] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {39848#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:00:07,867 INFO L290 TraceCheckUtils]: 15: Hoare triple {39848#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [228] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_746 v_main_~c~0_745)) (.cse1 (= |v_main_#t~post5_428| |v_main_#t~post5_424|))) (or (and (or (not (< v_main_~c~0_746 v_~last~0_328)) (not (< v_main_~c~0_746 v_~SIZE~0_295))) .cse0 .cse1) (and (< v_main_~c~0_746 v_main_~c~0_745) (< v_main_~c~0_745 (+ v_~last~0_328 1)) (< v_main_~c~0_745 (+ v_~SIZE~0_295 1))) (and .cse0 (= v_~SIZE~0_295 v_~SIZE~0_295) .cse1 (= v_~last~0_328 v_~last~0_328)))) InVars {~SIZE~0=v_~SIZE~0_295, main_~c~0=v_main_~c~0_746, main_#t~post5=|v_main_#t~post5_428|, ~last~0=v_~last~0_328} OutVars{~SIZE~0=v_~SIZE~0_295, main_#t~post5=|v_main_#t~post5_424|, main_~c~0=v_main_~c~0_745, ~last~0=v_~last~0_328} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {39848#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:00:07,868 INFO L290 TraceCheckUtils]: 16: Hoare triple {39848#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [225] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {39858#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:00:07,868 INFO L290 TraceCheckUtils]: 17: Hoare triple {39858#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {39787#false} is VALID [2022-04-28 04:00:07,868 INFO L290 TraceCheckUtils]: 18: Hoare triple {39787#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {39787#false} is VALID [2022-04-28 04:00:07,868 INFO L290 TraceCheckUtils]: 19: Hoare triple {39787#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {39787#false} is VALID [2022-04-28 04:00:07,869 INFO L290 TraceCheckUtils]: 20: Hoare triple {39787#false} assume !(~d~0 == ~SIZE~0); {39787#false} is VALID [2022-04-28 04:00:07,869 INFO L272 TraceCheckUtils]: 21: Hoare triple {39787#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {39787#false} is VALID [2022-04-28 04:00:07,869 INFO L290 TraceCheckUtils]: 22: Hoare triple {39787#false} ~cond := #in~cond; {39787#false} is VALID [2022-04-28 04:00:07,869 INFO L290 TraceCheckUtils]: 23: Hoare triple {39787#false} assume 0 == ~cond; {39787#false} is VALID [2022-04-28 04:00:07,869 INFO L290 TraceCheckUtils]: 24: Hoare triple {39787#false} assume !false; {39787#false} is VALID [2022-04-28 04:00:07,869 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:00:07,869 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:00:08,130 INFO L290 TraceCheckUtils]: 24: Hoare triple {39787#false} assume !false; {39787#false} is VALID [2022-04-28 04:00:08,130 INFO L290 TraceCheckUtils]: 23: Hoare triple {39787#false} assume 0 == ~cond; {39787#false} is VALID [2022-04-28 04:00:08,130 INFO L290 TraceCheckUtils]: 22: Hoare triple {39787#false} ~cond := #in~cond; {39787#false} is VALID [2022-04-28 04:00:08,130 INFO L272 TraceCheckUtils]: 21: Hoare triple {39787#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {39787#false} is VALID [2022-04-28 04:00:08,130 INFO L290 TraceCheckUtils]: 20: Hoare triple {39787#false} assume !(~d~0 == ~SIZE~0); {39787#false} is VALID [2022-04-28 04:00:08,130 INFO L290 TraceCheckUtils]: 19: Hoare triple {39787#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {39787#false} is VALID [2022-04-28 04:00:08,130 INFO L290 TraceCheckUtils]: 18: Hoare triple {39787#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {39787#false} is VALID [2022-04-28 04:00:08,131 INFO L290 TraceCheckUtils]: 17: Hoare triple {39904#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {39787#false} is VALID [2022-04-28 04:00:08,131 INFO L290 TraceCheckUtils]: 16: Hoare triple {39908#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [225] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {39904#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:00:08,132 INFO L290 TraceCheckUtils]: 15: Hoare triple {39908#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [228] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_746 v_main_~c~0_745)) (.cse1 (= |v_main_#t~post5_428| |v_main_#t~post5_424|))) (or (and (or (not (< v_main_~c~0_746 v_~last~0_328)) (not (< v_main_~c~0_746 v_~SIZE~0_295))) .cse0 .cse1) (and (< v_main_~c~0_746 v_main_~c~0_745) (< v_main_~c~0_745 (+ v_~last~0_328 1)) (< v_main_~c~0_745 (+ v_~SIZE~0_295 1))) (and .cse0 (= v_~SIZE~0_295 v_~SIZE~0_295) .cse1 (= v_~last~0_328 v_~last~0_328)))) InVars {~SIZE~0=v_~SIZE~0_295, main_~c~0=v_main_~c~0_746, main_#t~post5=|v_main_#t~post5_428|, ~last~0=v_~last~0_328} OutVars{~SIZE~0=v_~SIZE~0_295, main_#t~post5=|v_main_#t~post5_424|, main_~c~0=v_main_~c~0_745, ~last~0=v_~last~0_328} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {39908#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:00:08,132 INFO L290 TraceCheckUtils]: 14: Hoare triple {39908#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [227] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {39908#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:00:08,132 INFO L290 TraceCheckUtils]: 13: Hoare triple {39918#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [226] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= |v_main_#t~post5_425| |v_main_#t~post5_423|)) (.cse2 (= v_main_~c~0_744 v_main_~c~0_743)) (.cse3 (= v_main_~st~0_398 v_main_~st~0_397)) (.cse0 (<= v_~last~0_327 v_main_~c~0_744))) (or (and (or (not (< v_main_~c~0_744 v_~SIZE~0_294)) (not .cse0)) .cse1 .cse2 .cse3) (and (= v_~last~0_327 v_~last~0_327) .cse1 (= v_~SIZE~0_294 v_~SIZE~0_294) .cse2 .cse3) (and (< v_main_~c~0_744 v_main_~c~0_743) (< v_main_~c~0_743 (+ v_~SIZE~0_294 1)) .cse0 (= v_main_~st~0_397 0)))) InVars {~SIZE~0=v_~SIZE~0_294, main_~c~0=v_main_~c~0_744, main_#t~post5=|v_main_#t~post5_425|, main_~st~0=v_main_~st~0_398, ~last~0=v_~last~0_327} OutVars{~SIZE~0=v_~SIZE~0_294, main_#t~post5=|v_main_#t~post5_423|, main_~c~0=v_main_~c~0_743, main_~st~0=v_main_~st~0_397, ~last~0=v_~last~0_327} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {39908#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:00:08,134 INFO L290 TraceCheckUtils]: 12: Hoare triple {39922#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {39918#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:00:08,134 INFO L290 TraceCheckUtils]: 11: Hoare triple {39922#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {39922#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:08,135 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39786#true} {39922#(< 1 ~SIZE~0)} #86#return; {39922#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:08,135 INFO L290 TraceCheckUtils]: 9: Hoare triple {39786#true} assume true; {39786#true} is VALID [2022-04-28 04:00:08,135 INFO L290 TraceCheckUtils]: 8: Hoare triple {39786#true} assume !(0 == ~cond); {39786#true} is VALID [2022-04-28 04:00:08,135 INFO L290 TraceCheckUtils]: 7: Hoare triple {39786#true} ~cond := #in~cond; {39786#true} is VALID [2022-04-28 04:00:08,135 INFO L272 TraceCheckUtils]: 6: Hoare triple {39922#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {39786#true} is VALID [2022-04-28 04:00:08,135 INFO L290 TraceCheckUtils]: 5: Hoare triple {39922#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {39922#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:08,135 INFO L272 TraceCheckUtils]: 4: Hoare triple {39922#(< 1 ~SIZE~0)} call #t~ret7 := main(); {39922#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:08,136 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39922#(< 1 ~SIZE~0)} {39786#true} #90#return; {39922#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:08,136 INFO L290 TraceCheckUtils]: 2: Hoare triple {39922#(< 1 ~SIZE~0)} assume true; {39922#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:08,136 INFO L290 TraceCheckUtils]: 1: Hoare triple {39786#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {39922#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:08,136 INFO L272 TraceCheckUtils]: 0: Hoare triple {39786#true} call ULTIMATE.init(); {39786#true} is VALID [2022-04-28 04:00:08,136 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:00:08,137 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1693168564] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:00:08,137 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:00:08,137 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:00:08,784 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:00:08,784 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [407929507] [2022-04-28 04:00:08,784 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [407929507] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:00:08,784 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:00:08,784 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 04:00:08,784 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1492104488] [2022-04-28 04:00:08,784 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:00:08,785 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 1.8695652173913044) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 49 [2022-04-28 04:00:08,785 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:00:08,785 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 23 states have (on average 1.8695652173913044) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:08,810 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:00:08,811 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 04:00:08,811 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:00:08,811 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 04:00:08,811 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=168, Invalid=824, Unknown=0, NotChecked=0, Total=992 [2022-04-28 04:00:08,812 INFO L87 Difference]: Start difference. First operand 169 states and 206 transitions. Second operand has 23 states, 23 states have (on average 1.8695652173913044) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:10,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:00:10,409 INFO L93 Difference]: Finished difference Result 287 states and 351 transitions. [2022-04-28 04:00:10,409 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 04:00:10,409 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 1.8695652173913044) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 49 [2022-04-28 04:00:10,409 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:00:10,409 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.8695652173913044) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:10,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 94 transitions. [2022-04-28 04:00:10,410 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 1.8695652173913044) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:10,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 94 transitions. [2022-04-28 04:00:10,410 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 94 transitions. [2022-04-28 04:00:10,456 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:00:10,458 INFO L225 Difference]: With dead ends: 287 [2022-04-28 04:00:10,458 INFO L226 Difference]: Without dead ends: 200 [2022-04-28 04:00:10,459 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 48 SyntacticMatches, 15 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 472 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=180, Invalid=942, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 04:00:10,459 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 47 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 821 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 831 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 821 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 04:00:10,459 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 60 Invalid, 831 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 821 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 04:00:10,460 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 200 states. [2022-04-28 04:00:10,806 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 200 to 172. [2022-04-28 04:00:10,807 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:00:10,807 INFO L82 GeneralOperation]: Start isEquivalent. First operand 200 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:10,807 INFO L74 IsIncluded]: Start isIncluded. First operand 200 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:10,807 INFO L87 Difference]: Start difference. First operand 200 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:10,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:00:10,809 INFO L93 Difference]: Finished difference Result 200 states and 239 transitions. [2022-04-28 04:00:10,809 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 239 transitions. [2022-04-28 04:00:10,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:00:10,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:00:10,810 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 200 states. [2022-04-28 04:00:10,810 INFO L87 Difference]: Start difference. First operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 200 states. [2022-04-28 04:00:10,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:00:10,812 INFO L93 Difference]: Finished difference Result 200 states and 239 transitions. [2022-04-28 04:00:10,812 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 239 transitions. [2022-04-28 04:00:10,812 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:00:10,812 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:00:10,812 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:00:10,812 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:00:10,812 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:10,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 209 transitions. [2022-04-28 04:00:10,814 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 209 transitions. Word has length 49 [2022-04-28 04:00:10,814 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:00:10,814 INFO L495 AbstractCegarLoop]: Abstraction has 172 states and 209 transitions. [2022-04-28 04:00:10,815 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 23 states have (on average 1.8695652173913044) internal successors, (43), 21 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:10,815 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 209 transitions. [2022-04-28 04:00:11,242 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 209 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:00:11,242 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 209 transitions. [2022-04-28 04:00:11,243 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 04:00:11,243 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:00:11,243 INFO L195 NwaCegarLoop]: trace histogram [9, 9, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:00:11,259 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Forceful destruction successful, exit code 0 [2022-04-28 04:00:11,443 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 32 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable38 [2022-04-28 04:00:11,443 INFO L420 AbstractCegarLoop]: === Iteration 40 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:00:11,444 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:00:11,444 INFO L85 PathProgramCache]: Analyzing trace with hash 2020510173, now seen corresponding path program 30 times [2022-04-28 04:00:11,444 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:00:11,444 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [350983758] [2022-04-28 04:00:14,242 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:00:14,326 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:00:18,419 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:00:18,522 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:00:18,524 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:00:18,527 INFO L85 PathProgramCache]: Analyzing trace with hash 1404106561, now seen corresponding path program 1 times [2022-04-28 04:00:18,527 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:00:18,527 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [866492163] [2022-04-28 04:00:18,527 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:00:18,527 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:00:18,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:18,710 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:00:18,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:18,716 INFO L290 TraceCheckUtils]: 0: Hoare triple {41315#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:18,716 INFO L290 TraceCheckUtils]: 1: Hoare triple {41302#(<= 20 ~SIZE~0)} assume true; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:18,717 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41302#(<= 20 ~SIZE~0)} {41297#true} #90#return; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:18,717 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:00:18,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:18,720 INFO L290 TraceCheckUtils]: 0: Hoare triple {41297#true} ~cond := #in~cond; {41297#true} is VALID [2022-04-28 04:00:18,721 INFO L290 TraceCheckUtils]: 1: Hoare triple {41297#true} assume !(0 == ~cond); {41297#true} is VALID [2022-04-28 04:00:18,721 INFO L290 TraceCheckUtils]: 2: Hoare triple {41297#true} assume true; {41297#true} is VALID [2022-04-28 04:00:18,721 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41297#true} {41302#(<= 20 ~SIZE~0)} #86#return; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:18,722 INFO L272 TraceCheckUtils]: 0: Hoare triple {41297#true} call ULTIMATE.init(); {41315#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:00:18,722 INFO L290 TraceCheckUtils]: 1: Hoare triple {41315#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:18,723 INFO L290 TraceCheckUtils]: 2: Hoare triple {41302#(<= 20 ~SIZE~0)} assume true; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:18,723 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41302#(<= 20 ~SIZE~0)} {41297#true} #90#return; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:18,723 INFO L272 TraceCheckUtils]: 4: Hoare triple {41302#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:18,724 INFO L290 TraceCheckUtils]: 5: Hoare triple {41302#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:18,724 INFO L272 TraceCheckUtils]: 6: Hoare triple {41302#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {41297#true} is VALID [2022-04-28 04:00:18,724 INFO L290 TraceCheckUtils]: 7: Hoare triple {41297#true} ~cond := #in~cond; {41297#true} is VALID [2022-04-28 04:00:18,724 INFO L290 TraceCheckUtils]: 8: Hoare triple {41297#true} assume !(0 == ~cond); {41297#true} is VALID [2022-04-28 04:00:18,724 INFO L290 TraceCheckUtils]: 9: Hoare triple {41297#true} assume true; {41297#true} is VALID [2022-04-28 04:00:18,724 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41297#true} {41302#(<= 20 ~SIZE~0)} #86#return; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:18,725 INFO L290 TraceCheckUtils]: 11: Hoare triple {41302#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {41307#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:00:18,725 INFO L290 TraceCheckUtils]: 12: Hoare triple {41307#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {41308#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:00:18,726 INFO L290 TraceCheckUtils]: 13: Hoare triple {41308#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [230] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= |v_main_#t~post5_438| |v_main_#t~post5_436|)) (.cse2 (= v_main_~st~0_415 v_main_~st~0_414)) (.cse0 (<= v_~last~0_337 v_main_~c~0_770))) (or (and (< v_main_~c~0_770 v_main_~c~0_769) .cse0 (= v_main_~st~0_414 0) (< v_main_~c~0_769 (+ v_~SIZE~0_303 1))) (and .cse1 .cse2 (= v_~last~0_337 v_~last~0_337) (= v_main_~c~0_770 v_main_~c~0_769) (= v_~SIZE~0_303 v_~SIZE~0_303)) (and .cse1 .cse2 (or (not (< v_main_~c~0_770 v_~SIZE~0_303)) (not .cse0)) (= v_main_~c~0_769 v_main_~c~0_770)))) InVars {~SIZE~0=v_~SIZE~0_303, main_~c~0=v_main_~c~0_770, main_#t~post5=|v_main_#t~post5_438|, main_~st~0=v_main_~st~0_415, ~last~0=v_~last~0_337} OutVars{~SIZE~0=v_~SIZE~0_303, main_#t~post5=|v_main_#t~post5_436|, main_~c~0=v_main_~c~0_769, main_~st~0=v_main_~st~0_414, ~last~0=v_~last~0_337} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {41309#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:00:18,726 INFO L290 TraceCheckUtils]: 14: Hoare triple {41309#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [231] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {41309#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:00:18,727 INFO L290 TraceCheckUtils]: 15: Hoare triple {41309#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [232] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_772 v_main_~c~0_771))) (or (and (or (not (< v_main_~c~0_772 v_~SIZE~0_304)) (not (< v_main_~c~0_772 v_~last~0_338))) (= |v_main_#t~post5_437| |v_main_#t~post5_441|) .cse0) (and (= v_~last~0_338 v_~last~0_338) .cse0 (= |v_main_#t~post5_441| |v_main_#t~post5_437|) (= v_~SIZE~0_304 v_~SIZE~0_304)) (and (< v_main_~c~0_772 v_main_~c~0_771) (< v_main_~c~0_771 (+ v_~SIZE~0_304 1)) (< v_main_~c~0_771 (+ v_~last~0_338 1))))) InVars {~SIZE~0=v_~SIZE~0_304, main_~c~0=v_main_~c~0_772, main_#t~post5=|v_main_#t~post5_441|, ~last~0=v_~last~0_338} OutVars{~SIZE~0=v_~SIZE~0_304, main_#t~post5=|v_main_#t~post5_437|, main_~c~0=v_main_~c~0_771, ~last~0=v_~last~0_338} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {41309#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:00:18,728 INFO L290 TraceCheckUtils]: 16: Hoare triple {41309#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [229] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {41310#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:00:18,728 INFO L290 TraceCheckUtils]: 17: Hoare triple {41310#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {41311#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:18,729 INFO L290 TraceCheckUtils]: 18: Hoare triple {41311#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {41311#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:18,729 INFO L290 TraceCheckUtils]: 19: Hoare triple {41311#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {41312#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:18,730 INFO L290 TraceCheckUtils]: 20: Hoare triple {41312#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {41312#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:18,731 INFO L272 TraceCheckUtils]: 21: Hoare triple {41312#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {41313#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:00:18,732 INFO L290 TraceCheckUtils]: 22: Hoare triple {41313#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {41314#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:00:18,732 INFO L290 TraceCheckUtils]: 23: Hoare triple {41314#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {41298#false} is VALID [2022-04-28 04:00:18,732 INFO L290 TraceCheckUtils]: 24: Hoare triple {41298#false} assume !false; {41298#false} is VALID [2022-04-28 04:00:18,732 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:00:18,732 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:00:18,733 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [866492163] [2022-04-28 04:00:18,733 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [866492163] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:00:18,733 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1244779904] [2022-04-28 04:00:18,733 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:00:18,733 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:00:18,733 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:00:18,734 INFO L229 MonitoredProcess]: Starting monitored process 33 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:00:18,735 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Waiting until timeout for monitored process [2022-04-28 04:00:18,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:18,773 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:00:18,783 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:18,783 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:00:19,081 INFO L272 TraceCheckUtils]: 0: Hoare triple {41297#true} call ULTIMATE.init(); {41297#true} is VALID [2022-04-28 04:00:19,081 INFO L290 TraceCheckUtils]: 1: Hoare triple {41297#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:19,082 INFO L290 TraceCheckUtils]: 2: Hoare triple {41302#(<= 20 ~SIZE~0)} assume true; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:19,082 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41302#(<= 20 ~SIZE~0)} {41297#true} #90#return; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:19,082 INFO L272 TraceCheckUtils]: 4: Hoare triple {41302#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:19,083 INFO L290 TraceCheckUtils]: 5: Hoare triple {41302#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:19,083 INFO L272 TraceCheckUtils]: 6: Hoare triple {41302#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:19,083 INFO L290 TraceCheckUtils]: 7: Hoare triple {41302#(<= 20 ~SIZE~0)} ~cond := #in~cond; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:19,084 INFO L290 TraceCheckUtils]: 8: Hoare triple {41302#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:19,084 INFO L290 TraceCheckUtils]: 9: Hoare triple {41302#(<= 20 ~SIZE~0)} assume true; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:19,084 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41302#(<= 20 ~SIZE~0)} {41302#(<= 20 ~SIZE~0)} #86#return; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:19,085 INFO L290 TraceCheckUtils]: 11: Hoare triple {41302#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:19,085 INFO L290 TraceCheckUtils]: 12: Hoare triple {41302#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {41355#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:00:19,086 INFO L290 TraceCheckUtils]: 13: Hoare triple {41355#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [230] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= |v_main_#t~post5_438| |v_main_#t~post5_436|)) (.cse2 (= v_main_~st~0_415 v_main_~st~0_414)) (.cse0 (<= v_~last~0_337 v_main_~c~0_770))) (or (and (< v_main_~c~0_770 v_main_~c~0_769) .cse0 (= v_main_~st~0_414 0) (< v_main_~c~0_769 (+ v_~SIZE~0_303 1))) (and .cse1 .cse2 (= v_~last~0_337 v_~last~0_337) (= v_main_~c~0_770 v_main_~c~0_769) (= v_~SIZE~0_303 v_~SIZE~0_303)) (and .cse1 .cse2 (or (not (< v_main_~c~0_770 v_~SIZE~0_303)) (not .cse0)) (= v_main_~c~0_769 v_main_~c~0_770)))) InVars {~SIZE~0=v_~SIZE~0_303, main_~c~0=v_main_~c~0_770, main_#t~post5=|v_main_#t~post5_438|, main_~st~0=v_main_~st~0_415, ~last~0=v_~last~0_337} OutVars{~SIZE~0=v_~SIZE~0_303, main_#t~post5=|v_main_#t~post5_436|, main_~c~0=v_main_~c~0_769, main_~st~0=v_main_~st~0_414, ~last~0=v_~last~0_337} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {41359#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:00:19,086 INFO L290 TraceCheckUtils]: 14: Hoare triple {41359#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [231] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {41359#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:00:19,087 INFO L290 TraceCheckUtils]: 15: Hoare triple {41359#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [232] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_772 v_main_~c~0_771))) (or (and (or (not (< v_main_~c~0_772 v_~SIZE~0_304)) (not (< v_main_~c~0_772 v_~last~0_338))) (= |v_main_#t~post5_437| |v_main_#t~post5_441|) .cse0) (and (= v_~last~0_338 v_~last~0_338) .cse0 (= |v_main_#t~post5_441| |v_main_#t~post5_437|) (= v_~SIZE~0_304 v_~SIZE~0_304)) (and (< v_main_~c~0_772 v_main_~c~0_771) (< v_main_~c~0_771 (+ v_~SIZE~0_304 1)) (< v_main_~c~0_771 (+ v_~last~0_338 1))))) InVars {~SIZE~0=v_~SIZE~0_304, main_~c~0=v_main_~c~0_772, main_#t~post5=|v_main_#t~post5_441|, ~last~0=v_~last~0_338} OutVars{~SIZE~0=v_~SIZE~0_304, main_#t~post5=|v_main_#t~post5_437|, main_~c~0=v_main_~c~0_771, ~last~0=v_~last~0_338} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {41359#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:00:19,087 INFO L290 TraceCheckUtils]: 16: Hoare triple {41359#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [229] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {41369#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:00:19,088 INFO L290 TraceCheckUtils]: 17: Hoare triple {41369#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {41298#false} is VALID [2022-04-28 04:00:19,088 INFO L290 TraceCheckUtils]: 18: Hoare triple {41298#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {41298#false} is VALID [2022-04-28 04:00:19,088 INFO L290 TraceCheckUtils]: 19: Hoare triple {41298#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {41298#false} is VALID [2022-04-28 04:00:19,088 INFO L290 TraceCheckUtils]: 20: Hoare triple {41298#false} assume !(~d~0 == ~SIZE~0); {41298#false} is VALID [2022-04-28 04:00:19,088 INFO L272 TraceCheckUtils]: 21: Hoare triple {41298#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {41298#false} is VALID [2022-04-28 04:00:19,088 INFO L290 TraceCheckUtils]: 22: Hoare triple {41298#false} ~cond := #in~cond; {41298#false} is VALID [2022-04-28 04:00:19,088 INFO L290 TraceCheckUtils]: 23: Hoare triple {41298#false} assume 0 == ~cond; {41298#false} is VALID [2022-04-28 04:00:19,088 INFO L290 TraceCheckUtils]: 24: Hoare triple {41298#false} assume !false; {41298#false} is VALID [2022-04-28 04:00:19,089 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:00:19,089 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:00:19,455 INFO L290 TraceCheckUtils]: 24: Hoare triple {41298#false} assume !false; {41298#false} is VALID [2022-04-28 04:00:19,455 INFO L290 TraceCheckUtils]: 23: Hoare triple {41298#false} assume 0 == ~cond; {41298#false} is VALID [2022-04-28 04:00:19,455 INFO L290 TraceCheckUtils]: 22: Hoare triple {41298#false} ~cond := #in~cond; {41298#false} is VALID [2022-04-28 04:00:19,455 INFO L272 TraceCheckUtils]: 21: Hoare triple {41298#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {41298#false} is VALID [2022-04-28 04:00:19,455 INFO L290 TraceCheckUtils]: 20: Hoare triple {41298#false} assume !(~d~0 == ~SIZE~0); {41298#false} is VALID [2022-04-28 04:00:19,455 INFO L290 TraceCheckUtils]: 19: Hoare triple {41298#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {41298#false} is VALID [2022-04-28 04:00:19,455 INFO L290 TraceCheckUtils]: 18: Hoare triple {41298#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {41298#false} is VALID [2022-04-28 04:00:19,456 INFO L290 TraceCheckUtils]: 17: Hoare triple {41415#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {41298#false} is VALID [2022-04-28 04:00:19,456 INFO L290 TraceCheckUtils]: 16: Hoare triple {41419#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [229] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {41415#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:00:19,457 INFO L290 TraceCheckUtils]: 15: Hoare triple {41419#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [232] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_772 v_main_~c~0_771))) (or (and (or (not (< v_main_~c~0_772 v_~SIZE~0_304)) (not (< v_main_~c~0_772 v_~last~0_338))) (= |v_main_#t~post5_437| |v_main_#t~post5_441|) .cse0) (and (= v_~last~0_338 v_~last~0_338) .cse0 (= |v_main_#t~post5_441| |v_main_#t~post5_437|) (= v_~SIZE~0_304 v_~SIZE~0_304)) (and (< v_main_~c~0_772 v_main_~c~0_771) (< v_main_~c~0_771 (+ v_~SIZE~0_304 1)) (< v_main_~c~0_771 (+ v_~last~0_338 1))))) InVars {~SIZE~0=v_~SIZE~0_304, main_~c~0=v_main_~c~0_772, main_#t~post5=|v_main_#t~post5_441|, ~last~0=v_~last~0_338} OutVars{~SIZE~0=v_~SIZE~0_304, main_#t~post5=|v_main_#t~post5_437|, main_~c~0=v_main_~c~0_771, ~last~0=v_~last~0_338} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {41419#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:00:19,457 INFO L290 TraceCheckUtils]: 14: Hoare triple {41419#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [231] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {41419#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:00:19,458 INFO L290 TraceCheckUtils]: 13: Hoare triple {41429#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [230] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= |v_main_#t~post5_438| |v_main_#t~post5_436|)) (.cse2 (= v_main_~st~0_415 v_main_~st~0_414)) (.cse0 (<= v_~last~0_337 v_main_~c~0_770))) (or (and (< v_main_~c~0_770 v_main_~c~0_769) .cse0 (= v_main_~st~0_414 0) (< v_main_~c~0_769 (+ v_~SIZE~0_303 1))) (and .cse1 .cse2 (= v_~last~0_337 v_~last~0_337) (= v_main_~c~0_770 v_main_~c~0_769) (= v_~SIZE~0_303 v_~SIZE~0_303)) (and .cse1 .cse2 (or (not (< v_main_~c~0_770 v_~SIZE~0_303)) (not .cse0)) (= v_main_~c~0_769 v_main_~c~0_770)))) InVars {~SIZE~0=v_~SIZE~0_303, main_~c~0=v_main_~c~0_770, main_#t~post5=|v_main_#t~post5_438|, main_~st~0=v_main_~st~0_415, ~last~0=v_~last~0_337} OutVars{~SIZE~0=v_~SIZE~0_303, main_#t~post5=|v_main_#t~post5_436|, main_~c~0=v_main_~c~0_769, main_~st~0=v_main_~st~0_414, ~last~0=v_~last~0_337} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {41419#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:00:19,458 INFO L290 TraceCheckUtils]: 12: Hoare triple {41433#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {41429#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:00:19,459 INFO L290 TraceCheckUtils]: 11: Hoare triple {41433#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {41433#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:19,459 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41297#true} {41433#(< 1 ~SIZE~0)} #86#return; {41433#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:19,459 INFO L290 TraceCheckUtils]: 9: Hoare triple {41297#true} assume true; {41297#true} is VALID [2022-04-28 04:00:19,459 INFO L290 TraceCheckUtils]: 8: Hoare triple {41297#true} assume !(0 == ~cond); {41297#true} is VALID [2022-04-28 04:00:19,459 INFO L290 TraceCheckUtils]: 7: Hoare triple {41297#true} ~cond := #in~cond; {41297#true} is VALID [2022-04-28 04:00:19,459 INFO L272 TraceCheckUtils]: 6: Hoare triple {41433#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {41297#true} is VALID [2022-04-28 04:00:19,460 INFO L290 TraceCheckUtils]: 5: Hoare triple {41433#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {41433#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:19,460 INFO L272 TraceCheckUtils]: 4: Hoare triple {41433#(< 1 ~SIZE~0)} call #t~ret7 := main(); {41433#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:19,461 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41433#(< 1 ~SIZE~0)} {41297#true} #90#return; {41433#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:19,461 INFO L290 TraceCheckUtils]: 2: Hoare triple {41433#(< 1 ~SIZE~0)} assume true; {41433#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:19,461 INFO L290 TraceCheckUtils]: 1: Hoare triple {41297#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {41433#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:19,462 INFO L272 TraceCheckUtils]: 0: Hoare triple {41297#true} call ULTIMATE.init(); {41297#true} is VALID [2022-04-28 04:00:19,462 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:00:19,462 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1244779904] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:00:19,462 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:00:19,462 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:00:20,325 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:00:20,325 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [350983758] [2022-04-28 04:00:20,325 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [350983758] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:00:20,325 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:00:20,325 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [24] imperfect sequences [] total 24 [2022-04-28 04:00:20,325 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [308577966] [2022-04-28 04:00:20,325 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:00:20,326 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 1.7916666666666667) internal successors, (43), 22 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 49 [2022-04-28 04:00:20,326 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:00:20,326 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 24 states, 24 states have (on average 1.7916666666666667) internal successors, (43), 22 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:20,358 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:00:20,358 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-28 04:00:20,358 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:00:20,358 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-28 04:00:20,358 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=182, Invalid=874, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 04:00:20,358 INFO L87 Difference]: Start difference. First operand 172 states and 209 transitions. Second operand has 24 states, 24 states have (on average 1.7916666666666667) internal successors, (43), 22 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:22,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:00:22,438 INFO L93 Difference]: Finished difference Result 290 states and 354 transitions. [2022-04-28 04:00:22,438 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-28 04:00:22,439 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 1.7916666666666667) internal successors, (43), 22 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 49 [2022-04-28 04:00:22,439 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:00:22,439 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 1.7916666666666667) internal successors, (43), 22 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:22,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 95 transitions. [2022-04-28 04:00:22,439 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 1.7916666666666667) internal successors, (43), 22 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:22,440 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 95 transitions. [2022-04-28 04:00:22,440 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 95 transitions. [2022-04-28 04:00:22,510 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:00:22,513 INFO L225 Difference]: With dead ends: 290 [2022-04-28 04:00:22,513 INFO L226 Difference]: Without dead ends: 203 [2022-04-28 04:00:22,513 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 48 SyntacticMatches, 14 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 513 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=194, Invalid=996, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 04:00:22,513 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 56 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 900 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 57 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 911 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 900 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 04:00:22,514 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [57 Valid, 60 Invalid, 911 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 900 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 04:00:22,514 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 203 states. [2022-04-28 04:00:23,107 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 203 to 172. [2022-04-28 04:00:23,107 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:00:23,108 INFO L82 GeneralOperation]: Start isEquivalent. First operand 203 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:23,108 INFO L74 IsIncluded]: Start isIncluded. First operand 203 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:23,108 INFO L87 Difference]: Start difference. First operand 203 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:23,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:00:23,110 INFO L93 Difference]: Finished difference Result 203 states and 242 transitions. [2022-04-28 04:00:23,110 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 242 transitions. [2022-04-28 04:00:23,110 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:00:23,110 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:00:23,111 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 203 states. [2022-04-28 04:00:23,111 INFO L87 Difference]: Start difference. First operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 203 states. [2022-04-28 04:00:23,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:00:23,113 INFO L93 Difference]: Finished difference Result 203 states and 242 transitions. [2022-04-28 04:00:23,113 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 242 transitions. [2022-04-28 04:00:23,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:00:23,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:00:23,113 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:00:23,113 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:00:23,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:23,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 209 transitions. [2022-04-28 04:00:23,115 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 209 transitions. Word has length 49 [2022-04-28 04:00:23,116 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:00:23,116 INFO L495 AbstractCegarLoop]: Abstraction has 172 states and 209 transitions. [2022-04-28 04:00:23,116 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 24 states, 24 states have (on average 1.7916666666666667) internal successors, (43), 22 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:23,116 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 209 transitions. [2022-04-28 04:00:23,613 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 209 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:00:23,613 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 209 transitions. [2022-04-28 04:00:23,613 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 04:00:23,613 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:00:23,613 INFO L195 NwaCegarLoop]: trace histogram [9, 9, 6, 3, 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:00:23,632 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Forceful destruction successful, exit code 0 [2022-04-28 04:00:23,829 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 33 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable39 [2022-04-28 04:00:23,829 INFO L420 AbstractCegarLoop]: === Iteration 41 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:00:23,830 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:00:23,830 INFO L85 PathProgramCache]: Analyzing trace with hash -888253729, now seen corresponding path program 31 times [2022-04-28 04:00:23,830 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:00:23,830 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1069046522] [2022-04-28 04:00:27,967 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:00:28,091 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:00:28,284 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:00:28,285 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:00:28,288 INFO L85 PathProgramCache]: Analyzing trace with hash -398337983, now seen corresponding path program 1 times [2022-04-28 04:00:28,289 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:00:28,289 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [148796791] [2022-04-28 04:00:28,289 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:00:28,289 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:00:28,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:28,447 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:00:28,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:28,456 INFO L290 TraceCheckUtils]: 0: Hoare triple {42839#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,457 INFO L290 TraceCheckUtils]: 1: Hoare triple {42826#(<= 20 ~SIZE~0)} assume true; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,457 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42826#(<= 20 ~SIZE~0)} {42821#true} #90#return; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,457 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:00:28,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:28,460 INFO L290 TraceCheckUtils]: 0: Hoare triple {42821#true} ~cond := #in~cond; {42821#true} is VALID [2022-04-28 04:00:28,460 INFO L290 TraceCheckUtils]: 1: Hoare triple {42821#true} assume !(0 == ~cond); {42821#true} is VALID [2022-04-28 04:00:28,460 INFO L290 TraceCheckUtils]: 2: Hoare triple {42821#true} assume true; {42821#true} is VALID [2022-04-28 04:00:28,460 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42821#true} {42826#(<= 20 ~SIZE~0)} #86#return; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,461 INFO L272 TraceCheckUtils]: 0: Hoare triple {42821#true} call ULTIMATE.init(); {42839#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:00:28,461 INFO L290 TraceCheckUtils]: 1: Hoare triple {42839#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,461 INFO L290 TraceCheckUtils]: 2: Hoare triple {42826#(<= 20 ~SIZE~0)} assume true; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,462 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42826#(<= 20 ~SIZE~0)} {42821#true} #90#return; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,462 INFO L272 TraceCheckUtils]: 4: Hoare triple {42826#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,462 INFO L290 TraceCheckUtils]: 5: Hoare triple {42826#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,462 INFO L272 TraceCheckUtils]: 6: Hoare triple {42826#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {42821#true} is VALID [2022-04-28 04:00:28,462 INFO L290 TraceCheckUtils]: 7: Hoare triple {42821#true} ~cond := #in~cond; {42821#true} is VALID [2022-04-28 04:00:28,463 INFO L290 TraceCheckUtils]: 8: Hoare triple {42821#true} assume !(0 == ~cond); {42821#true} is VALID [2022-04-28 04:00:28,463 INFO L290 TraceCheckUtils]: 9: Hoare triple {42821#true} assume true; {42821#true} is VALID [2022-04-28 04:00:28,463 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42821#true} {42826#(<= 20 ~SIZE~0)} #86#return; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,463 INFO L290 TraceCheckUtils]: 11: Hoare triple {42826#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {42831#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:00:28,464 INFO L290 TraceCheckUtils]: 12: Hoare triple {42831#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {42832#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:00:28,465 INFO L290 TraceCheckUtils]: 13: Hoare triple {42832#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [234] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_796 v_main_~c~0_795)) (.cse1 (= v_main_~st~0_431 v_main_~st~0_430)) (.cse3 (= |v_main_#t~post5_451| |v_main_#t~post5_449|)) (.cse2 (<= v_~last~0_347 v_main_~c~0_796))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_796 v_~SIZE~0_312)) (not .cse2)) .cse3) (and (= v_~SIZE~0_312 v_~SIZE~0_312) .cse0 (= v_~last~0_347 v_~last~0_347) .cse1 .cse3) (and (< v_main_~c~0_796 v_main_~c~0_795) .cse2 (< v_main_~c~0_795 (+ v_~SIZE~0_312 1)) (= v_main_~st~0_430 0)))) InVars {~SIZE~0=v_~SIZE~0_312, main_~c~0=v_main_~c~0_796, main_#t~post5=|v_main_#t~post5_451|, main_~st~0=v_main_~st~0_431, ~last~0=v_~last~0_347} OutVars{~SIZE~0=v_~SIZE~0_312, main_#t~post5=|v_main_#t~post5_449|, main_~c~0=v_main_~c~0_795, main_~st~0=v_main_~st~0_430, ~last~0=v_~last~0_347} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {42833#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:00:28,465 INFO L290 TraceCheckUtils]: 14: Hoare triple {42833#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [235] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {42833#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:00:28,466 INFO L290 TraceCheckUtils]: 15: Hoare triple {42833#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [236] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_454| |v_main_#t~post5_450|)) (.cse1 (= v_main_~c~0_798 v_main_~c~0_797))) (or (and (= v_~last~0_348 v_~last~0_348) .cse0 .cse1 (= v_~SIZE~0_313 v_~SIZE~0_313)) (and .cse0 .cse1 (or (not (< v_main_~c~0_798 v_~last~0_348)) (not (< v_main_~c~0_798 v_~SIZE~0_313)))) (and (< v_main_~c~0_797 (+ v_~last~0_348 1)) (< v_main_~c~0_797 (+ v_~SIZE~0_313 1)) (< v_main_~c~0_798 v_main_~c~0_797)))) InVars {~SIZE~0=v_~SIZE~0_313, main_~c~0=v_main_~c~0_798, main_#t~post5=|v_main_#t~post5_454|, ~last~0=v_~last~0_348} OutVars{~SIZE~0=v_~SIZE~0_313, main_#t~post5=|v_main_#t~post5_450|, main_~c~0=v_main_~c~0_797, ~last~0=v_~last~0_348} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {42833#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:00:28,466 INFO L290 TraceCheckUtils]: 16: Hoare triple {42833#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [233] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {42834#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:00:28,467 INFO L290 TraceCheckUtils]: 17: Hoare triple {42834#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {42835#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:28,467 INFO L290 TraceCheckUtils]: 18: Hoare triple {42835#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {42835#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:28,468 INFO L290 TraceCheckUtils]: 19: Hoare triple {42835#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {42836#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:28,468 INFO L290 TraceCheckUtils]: 20: Hoare triple {42836#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {42836#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:28,469 INFO L272 TraceCheckUtils]: 21: Hoare triple {42836#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {42837#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:00:28,469 INFO L290 TraceCheckUtils]: 22: Hoare triple {42837#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {42838#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:00:28,470 INFO L290 TraceCheckUtils]: 23: Hoare triple {42838#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {42822#false} is VALID [2022-04-28 04:00:28,470 INFO L290 TraceCheckUtils]: 24: Hoare triple {42822#false} assume !false; {42822#false} is VALID [2022-04-28 04:00:28,470 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:00:28,470 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:00:28,470 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [148796791] [2022-04-28 04:00:28,470 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [148796791] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:00:28,470 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [578694953] [2022-04-28 04:00:28,470 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:00:28,470 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:00:28,471 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:00:28,471 INFO L229 MonitoredProcess]: Starting monitored process 34 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:00:28,495 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Waiting until timeout for monitored process [2022-04-28 04:00:28,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:28,637 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:00:28,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:28,644 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:00:28,940 INFO L272 TraceCheckUtils]: 0: Hoare triple {42821#true} call ULTIMATE.init(); {42821#true} is VALID [2022-04-28 04:00:28,941 INFO L290 TraceCheckUtils]: 1: Hoare triple {42821#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,941 INFO L290 TraceCheckUtils]: 2: Hoare triple {42826#(<= 20 ~SIZE~0)} assume true; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,941 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42826#(<= 20 ~SIZE~0)} {42821#true} #90#return; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,942 INFO L272 TraceCheckUtils]: 4: Hoare triple {42826#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,942 INFO L290 TraceCheckUtils]: 5: Hoare triple {42826#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,942 INFO L272 TraceCheckUtils]: 6: Hoare triple {42826#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,943 INFO L290 TraceCheckUtils]: 7: Hoare triple {42826#(<= 20 ~SIZE~0)} ~cond := #in~cond; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,943 INFO L290 TraceCheckUtils]: 8: Hoare triple {42826#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,943 INFO L290 TraceCheckUtils]: 9: Hoare triple {42826#(<= 20 ~SIZE~0)} assume true; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,944 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42826#(<= 20 ~SIZE~0)} {42826#(<= 20 ~SIZE~0)} #86#return; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,944 INFO L290 TraceCheckUtils]: 11: Hoare triple {42826#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:28,944 INFO L290 TraceCheckUtils]: 12: Hoare triple {42826#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {42879#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:00:28,945 INFO L290 TraceCheckUtils]: 13: Hoare triple {42879#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [234] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_796 v_main_~c~0_795)) (.cse1 (= v_main_~st~0_431 v_main_~st~0_430)) (.cse3 (= |v_main_#t~post5_451| |v_main_#t~post5_449|)) (.cse2 (<= v_~last~0_347 v_main_~c~0_796))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_796 v_~SIZE~0_312)) (not .cse2)) .cse3) (and (= v_~SIZE~0_312 v_~SIZE~0_312) .cse0 (= v_~last~0_347 v_~last~0_347) .cse1 .cse3) (and (< v_main_~c~0_796 v_main_~c~0_795) .cse2 (< v_main_~c~0_795 (+ v_~SIZE~0_312 1)) (= v_main_~st~0_430 0)))) InVars {~SIZE~0=v_~SIZE~0_312, main_~c~0=v_main_~c~0_796, main_#t~post5=|v_main_#t~post5_451|, main_~st~0=v_main_~st~0_431, ~last~0=v_~last~0_347} OutVars{~SIZE~0=v_~SIZE~0_312, main_#t~post5=|v_main_#t~post5_449|, main_~c~0=v_main_~c~0_795, main_~st~0=v_main_~st~0_430, ~last~0=v_~last~0_347} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {42883#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:00:28,945 INFO L290 TraceCheckUtils]: 14: Hoare triple {42883#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [235] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {42883#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:00:28,946 INFO L290 TraceCheckUtils]: 15: Hoare triple {42883#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [236] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_454| |v_main_#t~post5_450|)) (.cse1 (= v_main_~c~0_798 v_main_~c~0_797))) (or (and (= v_~last~0_348 v_~last~0_348) .cse0 .cse1 (= v_~SIZE~0_313 v_~SIZE~0_313)) (and .cse0 .cse1 (or (not (< v_main_~c~0_798 v_~last~0_348)) (not (< v_main_~c~0_798 v_~SIZE~0_313)))) (and (< v_main_~c~0_797 (+ v_~last~0_348 1)) (< v_main_~c~0_797 (+ v_~SIZE~0_313 1)) (< v_main_~c~0_798 v_main_~c~0_797)))) InVars {~SIZE~0=v_~SIZE~0_313, main_~c~0=v_main_~c~0_798, main_#t~post5=|v_main_#t~post5_454|, ~last~0=v_~last~0_348} OutVars{~SIZE~0=v_~SIZE~0_313, main_#t~post5=|v_main_#t~post5_450|, main_~c~0=v_main_~c~0_797, ~last~0=v_~last~0_348} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {42883#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:00:28,947 INFO L290 TraceCheckUtils]: 16: Hoare triple {42883#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [233] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {42893#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:00:28,947 INFO L290 TraceCheckUtils]: 17: Hoare triple {42893#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {42822#false} is VALID [2022-04-28 04:00:28,947 INFO L290 TraceCheckUtils]: 18: Hoare triple {42822#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {42822#false} is VALID [2022-04-28 04:00:28,947 INFO L290 TraceCheckUtils]: 19: Hoare triple {42822#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {42822#false} is VALID [2022-04-28 04:00:28,947 INFO L290 TraceCheckUtils]: 20: Hoare triple {42822#false} assume !(~d~0 == ~SIZE~0); {42822#false} is VALID [2022-04-28 04:00:28,948 INFO L272 TraceCheckUtils]: 21: Hoare triple {42822#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {42822#false} is VALID [2022-04-28 04:00:28,948 INFO L290 TraceCheckUtils]: 22: Hoare triple {42822#false} ~cond := #in~cond; {42822#false} is VALID [2022-04-28 04:00:28,948 INFO L290 TraceCheckUtils]: 23: Hoare triple {42822#false} assume 0 == ~cond; {42822#false} is VALID [2022-04-28 04:00:28,948 INFO L290 TraceCheckUtils]: 24: Hoare triple {42822#false} assume !false; {42822#false} is VALID [2022-04-28 04:00:28,948 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:00:28,948 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:00:29,301 INFO L290 TraceCheckUtils]: 24: Hoare triple {42822#false} assume !false; {42822#false} is VALID [2022-04-28 04:00:29,301 INFO L290 TraceCheckUtils]: 23: Hoare triple {42822#false} assume 0 == ~cond; {42822#false} is VALID [2022-04-28 04:00:29,301 INFO L290 TraceCheckUtils]: 22: Hoare triple {42822#false} ~cond := #in~cond; {42822#false} is VALID [2022-04-28 04:00:29,301 INFO L272 TraceCheckUtils]: 21: Hoare triple {42822#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {42822#false} is VALID [2022-04-28 04:00:29,301 INFO L290 TraceCheckUtils]: 20: Hoare triple {42822#false} assume !(~d~0 == ~SIZE~0); {42822#false} is VALID [2022-04-28 04:00:29,301 INFO L290 TraceCheckUtils]: 19: Hoare triple {42822#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {42822#false} is VALID [2022-04-28 04:00:29,302 INFO L290 TraceCheckUtils]: 18: Hoare triple {42822#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {42822#false} is VALID [2022-04-28 04:00:29,302 INFO L290 TraceCheckUtils]: 17: Hoare triple {42939#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {42822#false} is VALID [2022-04-28 04:00:29,302 INFO L290 TraceCheckUtils]: 16: Hoare triple {42943#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [233] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {42939#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:00:29,303 INFO L290 TraceCheckUtils]: 15: Hoare triple {42943#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [236] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_454| |v_main_#t~post5_450|)) (.cse1 (= v_main_~c~0_798 v_main_~c~0_797))) (or (and (= v_~last~0_348 v_~last~0_348) .cse0 .cse1 (= v_~SIZE~0_313 v_~SIZE~0_313)) (and .cse0 .cse1 (or (not (< v_main_~c~0_798 v_~last~0_348)) (not (< v_main_~c~0_798 v_~SIZE~0_313)))) (and (< v_main_~c~0_797 (+ v_~last~0_348 1)) (< v_main_~c~0_797 (+ v_~SIZE~0_313 1)) (< v_main_~c~0_798 v_main_~c~0_797)))) InVars {~SIZE~0=v_~SIZE~0_313, main_~c~0=v_main_~c~0_798, main_#t~post5=|v_main_#t~post5_454|, ~last~0=v_~last~0_348} OutVars{~SIZE~0=v_~SIZE~0_313, main_#t~post5=|v_main_#t~post5_450|, main_~c~0=v_main_~c~0_797, ~last~0=v_~last~0_348} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {42943#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:00:29,303 INFO L290 TraceCheckUtils]: 14: Hoare triple {42943#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [235] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {42943#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:00:29,304 INFO L290 TraceCheckUtils]: 13: Hoare triple {42953#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [234] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_796 v_main_~c~0_795)) (.cse1 (= v_main_~st~0_431 v_main_~st~0_430)) (.cse3 (= |v_main_#t~post5_451| |v_main_#t~post5_449|)) (.cse2 (<= v_~last~0_347 v_main_~c~0_796))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_796 v_~SIZE~0_312)) (not .cse2)) .cse3) (and (= v_~SIZE~0_312 v_~SIZE~0_312) .cse0 (= v_~last~0_347 v_~last~0_347) .cse1 .cse3) (and (< v_main_~c~0_796 v_main_~c~0_795) .cse2 (< v_main_~c~0_795 (+ v_~SIZE~0_312 1)) (= v_main_~st~0_430 0)))) InVars {~SIZE~0=v_~SIZE~0_312, main_~c~0=v_main_~c~0_796, main_#t~post5=|v_main_#t~post5_451|, main_~st~0=v_main_~st~0_431, ~last~0=v_~last~0_347} OutVars{~SIZE~0=v_~SIZE~0_312, main_#t~post5=|v_main_#t~post5_449|, main_~c~0=v_main_~c~0_795, main_~st~0=v_main_~st~0_430, ~last~0=v_~last~0_347} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {42943#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:00:29,304 INFO L290 TraceCheckUtils]: 12: Hoare triple {42957#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {42953#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:00:29,305 INFO L290 TraceCheckUtils]: 11: Hoare triple {42957#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {42957#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:29,305 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42821#true} {42957#(< 1 ~SIZE~0)} #86#return; {42957#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:29,305 INFO L290 TraceCheckUtils]: 9: Hoare triple {42821#true} assume true; {42821#true} is VALID [2022-04-28 04:00:29,305 INFO L290 TraceCheckUtils]: 8: Hoare triple {42821#true} assume !(0 == ~cond); {42821#true} is VALID [2022-04-28 04:00:29,305 INFO L290 TraceCheckUtils]: 7: Hoare triple {42821#true} ~cond := #in~cond; {42821#true} is VALID [2022-04-28 04:00:29,305 INFO L272 TraceCheckUtils]: 6: Hoare triple {42957#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {42821#true} is VALID [2022-04-28 04:00:29,306 INFO L290 TraceCheckUtils]: 5: Hoare triple {42957#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {42957#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:29,306 INFO L272 TraceCheckUtils]: 4: Hoare triple {42957#(< 1 ~SIZE~0)} call #t~ret7 := main(); {42957#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:29,306 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42957#(< 1 ~SIZE~0)} {42821#true} #90#return; {42957#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:29,307 INFO L290 TraceCheckUtils]: 2: Hoare triple {42957#(< 1 ~SIZE~0)} assume true; {42957#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:29,307 INFO L290 TraceCheckUtils]: 1: Hoare triple {42821#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {42957#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:29,307 INFO L272 TraceCheckUtils]: 0: Hoare triple {42821#true} call ULTIMATE.init(); {42821#true} is VALID [2022-04-28 04:00:29,307 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:00:29,307 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [578694953] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:00:29,308 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:00:29,308 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:00:30,167 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:00:30,167 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1069046522] [2022-04-28 04:00:30,167 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1069046522] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:00:30,167 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:00:30,167 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-28 04:00:30,167 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1586825907] [2022-04-28 04:00:30,167 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:00:30,168 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 1.72) internal successors, (43), 23 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 49 [2022-04-28 04:00:30,168 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:00:30,168 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 25 states have (on average 1.72) internal successors, (43), 23 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:30,205 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:00:30,205 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-28 04:00:30,205 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:00:30,205 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-28 04:00:30,205 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=196, Invalid=926, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 04:00:30,205 INFO L87 Difference]: Start difference. First operand 172 states and 209 transitions. Second operand has 25 states, 25 states have (on average 1.72) internal successors, (43), 23 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:32,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:00:32,807 INFO L93 Difference]: Finished difference Result 287 states and 351 transitions. [2022-04-28 04:00:32,807 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-28 04:00:32,808 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 1.72) internal successors, (43), 23 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 49 [2022-04-28 04:00:32,808 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:00:32,808 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.72) internal successors, (43), 23 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:32,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 96 transitions. [2022-04-28 04:00:32,808 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.72) internal successors, (43), 23 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:32,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 96 transitions. [2022-04-28 04:00:32,809 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 96 transitions. [2022-04-28 04:00:32,861 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:00:32,864 INFO L225 Difference]: With dead ends: 287 [2022-04-28 04:00:32,864 INFO L226 Difference]: Without dead ends: 200 [2022-04-28 04:00:32,864 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 48 SyntacticMatches, 13 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 545 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=208, Invalid=1052, Unknown=0, NotChecked=0, Total=1260 [2022-04-28 04:00:32,865 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 44 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 1225 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 82 SdHoareTripleChecker+Invalid, 1235 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1225 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 04:00:32,867 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [45 Valid, 82 Invalid, 1235 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1225 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 04:00:32,867 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 200 states. [2022-04-28 04:00:33,544 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 200 to 172. [2022-04-28 04:00:33,544 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:00:33,545 INFO L82 GeneralOperation]: Start isEquivalent. First operand 200 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:33,545 INFO L74 IsIncluded]: Start isIncluded. First operand 200 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:33,545 INFO L87 Difference]: Start difference. First operand 200 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:33,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:00:33,547 INFO L93 Difference]: Finished difference Result 200 states and 239 transitions. [2022-04-28 04:00:33,547 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 239 transitions. [2022-04-28 04:00:33,547 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:00:33,547 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:00:33,548 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 200 states. [2022-04-28 04:00:33,548 INFO L87 Difference]: Start difference. First operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 200 states. [2022-04-28 04:00:33,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:00:33,550 INFO L93 Difference]: Finished difference Result 200 states and 239 transitions. [2022-04-28 04:00:33,550 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 239 transitions. [2022-04-28 04:00:33,550 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:00:33,550 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:00:33,550 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:00:33,550 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:00:33,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:33,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 209 transitions. [2022-04-28 04:00:33,552 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 209 transitions. Word has length 49 [2022-04-28 04:00:33,552 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:00:33,552 INFO L495 AbstractCegarLoop]: Abstraction has 172 states and 209 transitions. [2022-04-28 04:00:33,552 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 25 states have (on average 1.72) internal successors, (43), 23 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:33,552 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 209 transitions. [2022-04-28 04:00:34,017 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 209 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:00:34,018 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 209 transitions. [2022-04-28 04:00:34,019 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 04:00:34,019 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:00:34,019 INFO L195 NwaCegarLoop]: trace histogram [9, 9, 5, 4, 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:00:34,035 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Forceful destruction successful, exit code 0 [2022-04-28 04:00:34,234 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 34 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable40 [2022-04-28 04:00:34,235 INFO L420 AbstractCegarLoop]: === Iteration 42 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:00:34,235 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:00:34,235 INFO L85 PathProgramCache]: Analyzing trace with hash -826214115, now seen corresponding path program 32 times [2022-04-28 04:00:34,235 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:00:34,235 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [164457593] [2022-04-28 04:00:38,340 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:00:38,462 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:00:38,706 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:00:38,708 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:00:38,711 INFO L85 PathProgramCache]: Analyzing trace with hash 2094184769, now seen corresponding path program 1 times [2022-04-28 04:00:38,711 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:00:38,711 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1156445477] [2022-04-28 04:00:38,711 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:00:38,711 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:00:38,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:38,919 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:00:38,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:38,926 INFO L290 TraceCheckUtils]: 0: Hoare triple {44352#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:38,926 INFO L290 TraceCheckUtils]: 1: Hoare triple {44339#(<= 20 ~SIZE~0)} assume true; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:38,927 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {44339#(<= 20 ~SIZE~0)} {44334#true} #90#return; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:38,927 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:00:38,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:38,929 INFO L290 TraceCheckUtils]: 0: Hoare triple {44334#true} ~cond := #in~cond; {44334#true} is VALID [2022-04-28 04:00:38,930 INFO L290 TraceCheckUtils]: 1: Hoare triple {44334#true} assume !(0 == ~cond); {44334#true} is VALID [2022-04-28 04:00:38,930 INFO L290 TraceCheckUtils]: 2: Hoare triple {44334#true} assume true; {44334#true} is VALID [2022-04-28 04:00:38,930 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44334#true} {44339#(<= 20 ~SIZE~0)} #86#return; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:38,931 INFO L272 TraceCheckUtils]: 0: Hoare triple {44334#true} call ULTIMATE.init(); {44352#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:00:38,931 INFO L290 TraceCheckUtils]: 1: Hoare triple {44352#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:38,932 INFO L290 TraceCheckUtils]: 2: Hoare triple {44339#(<= 20 ~SIZE~0)} assume true; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:38,932 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44339#(<= 20 ~SIZE~0)} {44334#true} #90#return; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:38,932 INFO L272 TraceCheckUtils]: 4: Hoare triple {44339#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:38,933 INFO L290 TraceCheckUtils]: 5: Hoare triple {44339#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:38,933 INFO L272 TraceCheckUtils]: 6: Hoare triple {44339#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {44334#true} is VALID [2022-04-28 04:00:38,933 INFO L290 TraceCheckUtils]: 7: Hoare triple {44334#true} ~cond := #in~cond; {44334#true} is VALID [2022-04-28 04:00:38,933 INFO L290 TraceCheckUtils]: 8: Hoare triple {44334#true} assume !(0 == ~cond); {44334#true} is VALID [2022-04-28 04:00:38,933 INFO L290 TraceCheckUtils]: 9: Hoare triple {44334#true} assume true; {44334#true} is VALID [2022-04-28 04:00:38,933 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44334#true} {44339#(<= 20 ~SIZE~0)} #86#return; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:38,934 INFO L290 TraceCheckUtils]: 11: Hoare triple {44339#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {44344#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:00:38,934 INFO L290 TraceCheckUtils]: 12: Hoare triple {44344#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {44345#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:00:38,935 INFO L290 TraceCheckUtils]: 13: Hoare triple {44345#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [238] L25-3-->L25-4_primed: Formula: (let ((.cse3 (<= v_~last~0_357 v_main_~c~0_822)) (.cse0 (= v_main_~c~0_822 v_main_~c~0_821)) (.cse1 (= |v_main_#t~post5_464| |v_main_#t~post5_462|)) (.cse2 (= v_main_~st~0_446 v_main_~st~0_445))) (or (and (= v_~SIZE~0_321 v_~SIZE~0_321) .cse0 .cse1 (= v_~last~0_357 v_~last~0_357) .cse2) (and .cse3 (< v_main_~c~0_822 v_main_~c~0_821) (< v_main_~c~0_821 (+ v_~SIZE~0_321 1)) (= v_main_~st~0_445 0)) (and (or (not .cse3) (not (< v_main_~c~0_822 v_~SIZE~0_321))) .cse0 .cse1 .cse2))) InVars {~SIZE~0=v_~SIZE~0_321, main_~c~0=v_main_~c~0_822, main_#t~post5=|v_main_#t~post5_464|, main_~st~0=v_main_~st~0_446, ~last~0=v_~last~0_357} OutVars{~SIZE~0=v_~SIZE~0_321, main_#t~post5=|v_main_#t~post5_462|, main_~c~0=v_main_~c~0_821, main_~st~0=v_main_~st~0_445, ~last~0=v_~last~0_357} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {44346#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:00:38,935 INFO L290 TraceCheckUtils]: 14: Hoare triple {44346#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [239] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {44346#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:00:38,936 INFO L290 TraceCheckUtils]: 15: Hoare triple {44346#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [240] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_467| |v_main_#t~post5_463|)) (.cse1 (= v_main_~c~0_824 v_main_~c~0_823))) (or (and (or (not (< v_main_~c~0_824 v_~last~0_358)) (not (< v_main_~c~0_824 v_~SIZE~0_322))) .cse0 .cse1) (and (< v_main_~c~0_823 (+ v_~SIZE~0_322 1)) (< v_main_~c~0_824 v_main_~c~0_823) (< v_main_~c~0_823 (+ v_~last~0_358 1))) (and (= v_~last~0_358 v_~last~0_358) (= v_~SIZE~0_322 v_~SIZE~0_322) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_322, main_~c~0=v_main_~c~0_824, main_#t~post5=|v_main_#t~post5_467|, ~last~0=v_~last~0_358} OutVars{~SIZE~0=v_~SIZE~0_322, main_#t~post5=|v_main_#t~post5_463|, main_~c~0=v_main_~c~0_823, ~last~0=v_~last~0_358} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {44346#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:00:38,937 INFO L290 TraceCheckUtils]: 16: Hoare triple {44346#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [237] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {44347#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:00:38,938 INFO L290 TraceCheckUtils]: 17: Hoare triple {44347#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {44348#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:38,938 INFO L290 TraceCheckUtils]: 18: Hoare triple {44348#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {44348#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:38,939 INFO L290 TraceCheckUtils]: 19: Hoare triple {44348#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {44349#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:38,939 INFO L290 TraceCheckUtils]: 20: Hoare triple {44349#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {44349#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:38,940 INFO L272 TraceCheckUtils]: 21: Hoare triple {44349#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {44350#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:00:38,940 INFO L290 TraceCheckUtils]: 22: Hoare triple {44350#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {44351#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:00:38,941 INFO L290 TraceCheckUtils]: 23: Hoare triple {44351#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {44335#false} is VALID [2022-04-28 04:00:38,941 INFO L290 TraceCheckUtils]: 24: Hoare triple {44335#false} assume !false; {44335#false} is VALID [2022-04-28 04:00:38,941 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:00:38,941 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:00:38,941 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1156445477] [2022-04-28 04:00:38,941 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1156445477] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:00:38,941 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1490717432] [2022-04-28 04:00:38,941 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:00:38,941 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:00:38,942 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:00:38,959 INFO L229 MonitoredProcess]: Starting monitored process 35 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:00:38,965 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Waiting until timeout for monitored process [2022-04-28 04:00:38,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:38,998 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:00:39,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:39,004 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:00:39,192 INFO L272 TraceCheckUtils]: 0: Hoare triple {44334#true} call ULTIMATE.init(); {44334#true} is VALID [2022-04-28 04:00:39,192 INFO L290 TraceCheckUtils]: 1: Hoare triple {44334#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:39,192 INFO L290 TraceCheckUtils]: 2: Hoare triple {44339#(<= 20 ~SIZE~0)} assume true; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:39,193 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44339#(<= 20 ~SIZE~0)} {44334#true} #90#return; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:39,193 INFO L272 TraceCheckUtils]: 4: Hoare triple {44339#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:39,193 INFO L290 TraceCheckUtils]: 5: Hoare triple {44339#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:39,193 INFO L272 TraceCheckUtils]: 6: Hoare triple {44339#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:39,193 INFO L290 TraceCheckUtils]: 7: Hoare triple {44339#(<= 20 ~SIZE~0)} ~cond := #in~cond; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:39,194 INFO L290 TraceCheckUtils]: 8: Hoare triple {44339#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:39,194 INFO L290 TraceCheckUtils]: 9: Hoare triple {44339#(<= 20 ~SIZE~0)} assume true; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:39,194 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44339#(<= 20 ~SIZE~0)} {44339#(<= 20 ~SIZE~0)} #86#return; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:39,195 INFO L290 TraceCheckUtils]: 11: Hoare triple {44339#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:39,195 INFO L290 TraceCheckUtils]: 12: Hoare triple {44339#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {44392#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:00:39,196 INFO L290 TraceCheckUtils]: 13: Hoare triple {44392#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [238] L25-3-->L25-4_primed: Formula: (let ((.cse3 (<= v_~last~0_357 v_main_~c~0_822)) (.cse0 (= v_main_~c~0_822 v_main_~c~0_821)) (.cse1 (= |v_main_#t~post5_464| |v_main_#t~post5_462|)) (.cse2 (= v_main_~st~0_446 v_main_~st~0_445))) (or (and (= v_~SIZE~0_321 v_~SIZE~0_321) .cse0 .cse1 (= v_~last~0_357 v_~last~0_357) .cse2) (and .cse3 (< v_main_~c~0_822 v_main_~c~0_821) (< v_main_~c~0_821 (+ v_~SIZE~0_321 1)) (= v_main_~st~0_445 0)) (and (or (not .cse3) (not (< v_main_~c~0_822 v_~SIZE~0_321))) .cse0 .cse1 .cse2))) InVars {~SIZE~0=v_~SIZE~0_321, main_~c~0=v_main_~c~0_822, main_#t~post5=|v_main_#t~post5_464|, main_~st~0=v_main_~st~0_446, ~last~0=v_~last~0_357} OutVars{~SIZE~0=v_~SIZE~0_321, main_#t~post5=|v_main_#t~post5_462|, main_~c~0=v_main_~c~0_821, main_~st~0=v_main_~st~0_445, ~last~0=v_~last~0_357} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {44396#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:00:39,196 INFO L290 TraceCheckUtils]: 14: Hoare triple {44396#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [239] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {44396#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:00:39,197 INFO L290 TraceCheckUtils]: 15: Hoare triple {44396#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [240] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_467| |v_main_#t~post5_463|)) (.cse1 (= v_main_~c~0_824 v_main_~c~0_823))) (or (and (or (not (< v_main_~c~0_824 v_~last~0_358)) (not (< v_main_~c~0_824 v_~SIZE~0_322))) .cse0 .cse1) (and (< v_main_~c~0_823 (+ v_~SIZE~0_322 1)) (< v_main_~c~0_824 v_main_~c~0_823) (< v_main_~c~0_823 (+ v_~last~0_358 1))) (and (= v_~last~0_358 v_~last~0_358) (= v_~SIZE~0_322 v_~SIZE~0_322) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_322, main_~c~0=v_main_~c~0_824, main_#t~post5=|v_main_#t~post5_467|, ~last~0=v_~last~0_358} OutVars{~SIZE~0=v_~SIZE~0_322, main_#t~post5=|v_main_#t~post5_463|, main_~c~0=v_main_~c~0_823, ~last~0=v_~last~0_358} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {44396#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:00:39,197 INFO L290 TraceCheckUtils]: 16: Hoare triple {44396#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [237] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {44406#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:00:39,197 INFO L290 TraceCheckUtils]: 17: Hoare triple {44406#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {44335#false} is VALID [2022-04-28 04:00:39,198 INFO L290 TraceCheckUtils]: 18: Hoare triple {44335#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {44335#false} is VALID [2022-04-28 04:00:39,198 INFO L290 TraceCheckUtils]: 19: Hoare triple {44335#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {44335#false} is VALID [2022-04-28 04:00:39,198 INFO L290 TraceCheckUtils]: 20: Hoare triple {44335#false} assume !(~d~0 == ~SIZE~0); {44335#false} is VALID [2022-04-28 04:00:39,198 INFO L272 TraceCheckUtils]: 21: Hoare triple {44335#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {44335#false} is VALID [2022-04-28 04:00:39,198 INFO L290 TraceCheckUtils]: 22: Hoare triple {44335#false} ~cond := #in~cond; {44335#false} is VALID [2022-04-28 04:00:39,198 INFO L290 TraceCheckUtils]: 23: Hoare triple {44335#false} assume 0 == ~cond; {44335#false} is VALID [2022-04-28 04:00:39,198 INFO L290 TraceCheckUtils]: 24: Hoare triple {44335#false} assume !false; {44335#false} is VALID [2022-04-28 04:00:39,198 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:00:39,198 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:00:39,475 INFO L290 TraceCheckUtils]: 24: Hoare triple {44335#false} assume !false; {44335#false} is VALID [2022-04-28 04:00:39,475 INFO L290 TraceCheckUtils]: 23: Hoare triple {44335#false} assume 0 == ~cond; {44335#false} is VALID [2022-04-28 04:00:39,475 INFO L290 TraceCheckUtils]: 22: Hoare triple {44335#false} ~cond := #in~cond; {44335#false} is VALID [2022-04-28 04:00:39,475 INFO L272 TraceCheckUtils]: 21: Hoare triple {44335#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {44335#false} is VALID [2022-04-28 04:00:39,475 INFO L290 TraceCheckUtils]: 20: Hoare triple {44335#false} assume !(~d~0 == ~SIZE~0); {44335#false} is VALID [2022-04-28 04:00:39,475 INFO L290 TraceCheckUtils]: 19: Hoare triple {44335#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {44335#false} is VALID [2022-04-28 04:00:39,475 INFO L290 TraceCheckUtils]: 18: Hoare triple {44335#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {44335#false} is VALID [2022-04-28 04:00:39,476 INFO L290 TraceCheckUtils]: 17: Hoare triple {44452#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {44335#false} is VALID [2022-04-28 04:00:39,476 INFO L290 TraceCheckUtils]: 16: Hoare triple {44456#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [237] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {44452#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:00:39,476 INFO L290 TraceCheckUtils]: 15: Hoare triple {44456#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [240] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_467| |v_main_#t~post5_463|)) (.cse1 (= v_main_~c~0_824 v_main_~c~0_823))) (or (and (or (not (< v_main_~c~0_824 v_~last~0_358)) (not (< v_main_~c~0_824 v_~SIZE~0_322))) .cse0 .cse1) (and (< v_main_~c~0_823 (+ v_~SIZE~0_322 1)) (< v_main_~c~0_824 v_main_~c~0_823) (< v_main_~c~0_823 (+ v_~last~0_358 1))) (and (= v_~last~0_358 v_~last~0_358) (= v_~SIZE~0_322 v_~SIZE~0_322) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_322, main_~c~0=v_main_~c~0_824, main_#t~post5=|v_main_#t~post5_467|, ~last~0=v_~last~0_358} OutVars{~SIZE~0=v_~SIZE~0_322, main_#t~post5=|v_main_#t~post5_463|, main_~c~0=v_main_~c~0_823, ~last~0=v_~last~0_358} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {44456#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:00:39,477 INFO L290 TraceCheckUtils]: 14: Hoare triple {44456#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [239] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {44456#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:00:39,477 INFO L290 TraceCheckUtils]: 13: Hoare triple {44466#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [238] L25-3-->L25-4_primed: Formula: (let ((.cse3 (<= v_~last~0_357 v_main_~c~0_822)) (.cse0 (= v_main_~c~0_822 v_main_~c~0_821)) (.cse1 (= |v_main_#t~post5_464| |v_main_#t~post5_462|)) (.cse2 (= v_main_~st~0_446 v_main_~st~0_445))) (or (and (= v_~SIZE~0_321 v_~SIZE~0_321) .cse0 .cse1 (= v_~last~0_357 v_~last~0_357) .cse2) (and .cse3 (< v_main_~c~0_822 v_main_~c~0_821) (< v_main_~c~0_821 (+ v_~SIZE~0_321 1)) (= v_main_~st~0_445 0)) (and (or (not .cse3) (not (< v_main_~c~0_822 v_~SIZE~0_321))) .cse0 .cse1 .cse2))) InVars {~SIZE~0=v_~SIZE~0_321, main_~c~0=v_main_~c~0_822, main_#t~post5=|v_main_#t~post5_464|, main_~st~0=v_main_~st~0_446, ~last~0=v_~last~0_357} OutVars{~SIZE~0=v_~SIZE~0_321, main_#t~post5=|v_main_#t~post5_462|, main_~c~0=v_main_~c~0_821, main_~st~0=v_main_~st~0_445, ~last~0=v_~last~0_357} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {44456#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:00:39,477 INFO L290 TraceCheckUtils]: 12: Hoare triple {44470#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {44466#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:00:39,478 INFO L290 TraceCheckUtils]: 11: Hoare triple {44470#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {44470#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:39,478 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44334#true} {44470#(< 1 ~SIZE~0)} #86#return; {44470#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:39,478 INFO L290 TraceCheckUtils]: 9: Hoare triple {44334#true} assume true; {44334#true} is VALID [2022-04-28 04:00:39,478 INFO L290 TraceCheckUtils]: 8: Hoare triple {44334#true} assume !(0 == ~cond); {44334#true} is VALID [2022-04-28 04:00:39,478 INFO L290 TraceCheckUtils]: 7: Hoare triple {44334#true} ~cond := #in~cond; {44334#true} is VALID [2022-04-28 04:00:39,478 INFO L272 TraceCheckUtils]: 6: Hoare triple {44470#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {44334#true} is VALID [2022-04-28 04:00:39,478 INFO L290 TraceCheckUtils]: 5: Hoare triple {44470#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {44470#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:39,479 INFO L272 TraceCheckUtils]: 4: Hoare triple {44470#(< 1 ~SIZE~0)} call #t~ret7 := main(); {44470#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:39,479 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44470#(< 1 ~SIZE~0)} {44334#true} #90#return; {44470#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:39,479 INFO L290 TraceCheckUtils]: 2: Hoare triple {44470#(< 1 ~SIZE~0)} assume true; {44470#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:39,479 INFO L290 TraceCheckUtils]: 1: Hoare triple {44334#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {44470#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:39,480 INFO L272 TraceCheckUtils]: 0: Hoare triple {44334#true} call ULTIMATE.init(); {44334#true} is VALID [2022-04-28 04:00:39,480 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:00:39,480 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1490717432] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:00:39,480 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:00:39,480 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:00:40,330 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:00:40,330 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [164457593] [2022-04-28 04:00:40,330 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [164457593] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:00:40,330 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:00:40,330 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-28 04:00:40,330 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1904389054] [2022-04-28 04:00:40,330 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:00:40,330 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 1.6538461538461537) internal successors, (43), 24 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 49 [2022-04-28 04:00:40,330 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:00:40,331 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 26 states have (on average 1.6538461538461537) internal successors, (43), 24 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:40,368 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:00:40,368 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-28 04:00:40,368 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:00:40,368 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-28 04:00:40,368 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=210, Invalid=980, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 04:00:40,369 INFO L87 Difference]: Start difference. First operand 172 states and 209 transitions. Second operand has 26 states, 26 states have (on average 1.6538461538461537) internal successors, (43), 24 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:42,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:00:42,503 INFO L93 Difference]: Finished difference Result 284 states and 348 transitions. [2022-04-28 04:00:42,503 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 04:00:42,503 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 1.6538461538461537) internal successors, (43), 24 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 49 [2022-04-28 04:00:42,503 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:00:42,503 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 1.6538461538461537) internal successors, (43), 24 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:42,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 97 transitions. [2022-04-28 04:00:42,504 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 1.6538461538461537) internal successors, (43), 24 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:42,505 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 97 transitions. [2022-04-28 04:00:42,505 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 97 transitions. [2022-04-28 04:00:42,551 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:00:42,553 INFO L225 Difference]: With dead ends: 284 [2022-04-28 04:00:42,553 INFO L226 Difference]: Without dead ends: 197 [2022-04-28 04:00:42,554 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 48 SyntacticMatches, 12 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 568 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=222, Invalid=1110, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 04:00:42,554 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 50 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 957 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 967 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 957 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 04:00:42,554 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [51 Valid, 60 Invalid, 967 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 957 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 04:00:42,554 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-28 04:00:43,198 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 172. [2022-04-28 04:00:43,203 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:00:43,203 INFO L82 GeneralOperation]: Start isEquivalent. First operand 197 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:43,203 INFO L74 IsIncluded]: Start isIncluded. First operand 197 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:43,203 INFO L87 Difference]: Start difference. First operand 197 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:43,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:00:43,205 INFO L93 Difference]: Finished difference Result 197 states and 236 transitions. [2022-04-28 04:00:43,205 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 236 transitions. [2022-04-28 04:00:43,206 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:00:43,206 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:00:43,206 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 197 states. [2022-04-28 04:00:43,206 INFO L87 Difference]: Start difference. First operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 197 states. [2022-04-28 04:00:43,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:00:43,208 INFO L93 Difference]: Finished difference Result 197 states and 236 transitions. [2022-04-28 04:00:43,208 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 236 transitions. [2022-04-28 04:00:43,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:00:43,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:00:43,208 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:00:43,208 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:00:43,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:43,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 209 transitions. [2022-04-28 04:00:43,210 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 209 transitions. Word has length 49 [2022-04-28 04:00:43,210 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:00:43,210 INFO L495 AbstractCegarLoop]: Abstraction has 172 states and 209 transitions. [2022-04-28 04:00:43,210 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 26 states have (on average 1.6538461538461537) internal successors, (43), 24 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:43,210 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 209 transitions. [2022-04-28 04:00:43,716 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 209 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:00:43,717 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 209 transitions. [2022-04-28 04:00:43,717 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 04:00:43,717 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:00:43,717 INFO L195 NwaCegarLoop]: trace histogram [9, 9, 5, 4, 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:00:43,735 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Forceful destruction successful, exit code 0 [2022-04-28 04:00:43,917 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable41,35 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:00:43,918 INFO L420 AbstractCegarLoop]: === Iteration 43 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:00:43,918 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:00:43,918 INFO L85 PathProgramCache]: Analyzing trace with hash 1663314847, now seen corresponding path program 33 times [2022-04-28 04:00:43,918 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:00:43,918 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [16560932] [2022-04-28 04:00:46,608 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:00:46,721 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:00:49,373 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:00:49,477 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:00:49,478 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:00:49,481 INFO L85 PathProgramCache]: Analyzing trace with hash 291740225, now seen corresponding path program 1 times [2022-04-28 04:00:49,482 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:00:49,482 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1439273917] [2022-04-28 04:00:49,482 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:00:49,482 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:00:49,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:49,667 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:00:49,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:49,673 INFO L290 TraceCheckUtils]: 0: Hoare triple {45854#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:49,673 INFO L290 TraceCheckUtils]: 1: Hoare triple {45841#(<= 20 ~SIZE~0)} assume true; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:49,674 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {45841#(<= 20 ~SIZE~0)} {45836#true} #90#return; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:49,674 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:00:49,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:49,676 INFO L290 TraceCheckUtils]: 0: Hoare triple {45836#true} ~cond := #in~cond; {45836#true} is VALID [2022-04-28 04:00:49,676 INFO L290 TraceCheckUtils]: 1: Hoare triple {45836#true} assume !(0 == ~cond); {45836#true} is VALID [2022-04-28 04:00:49,676 INFO L290 TraceCheckUtils]: 2: Hoare triple {45836#true} assume true; {45836#true} is VALID [2022-04-28 04:00:49,676 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45836#true} {45841#(<= 20 ~SIZE~0)} #86#return; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:49,677 INFO L272 TraceCheckUtils]: 0: Hoare triple {45836#true} call ULTIMATE.init(); {45854#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:00:49,677 INFO L290 TraceCheckUtils]: 1: Hoare triple {45854#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:49,678 INFO L290 TraceCheckUtils]: 2: Hoare triple {45841#(<= 20 ~SIZE~0)} assume true; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:49,678 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45841#(<= 20 ~SIZE~0)} {45836#true} #90#return; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:49,678 INFO L272 TraceCheckUtils]: 4: Hoare triple {45841#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:49,679 INFO L290 TraceCheckUtils]: 5: Hoare triple {45841#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:49,679 INFO L272 TraceCheckUtils]: 6: Hoare triple {45841#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {45836#true} is VALID [2022-04-28 04:00:49,679 INFO L290 TraceCheckUtils]: 7: Hoare triple {45836#true} ~cond := #in~cond; {45836#true} is VALID [2022-04-28 04:00:49,679 INFO L290 TraceCheckUtils]: 8: Hoare triple {45836#true} assume !(0 == ~cond); {45836#true} is VALID [2022-04-28 04:00:49,679 INFO L290 TraceCheckUtils]: 9: Hoare triple {45836#true} assume true; {45836#true} is VALID [2022-04-28 04:00:49,679 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {45836#true} {45841#(<= 20 ~SIZE~0)} #86#return; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:49,680 INFO L290 TraceCheckUtils]: 11: Hoare triple {45841#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {45846#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:00:49,680 INFO L290 TraceCheckUtils]: 12: Hoare triple {45846#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {45847#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:00:49,681 INFO L290 TraceCheckUtils]: 13: Hoare triple {45847#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [242] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= |v_main_#t~post5_477| |v_main_#t~post5_475|)) (.cse2 (= v_main_~c~0_848 v_main_~c~0_847)) (.cse0 (<= v_~last~0_367 v_main_~c~0_848))) (or (and (= v_main_~st~0_459 0) .cse0 (< v_main_~c~0_848 v_main_~c~0_847) (< v_main_~c~0_847 (+ v_~SIZE~0_330 1))) (and (= v_~SIZE~0_330 v_~SIZE~0_330) (= v_main_~st~0_460 v_main_~st~0_459) .cse1 (= v_~last~0_367 v_~last~0_367) .cse2) (and (= v_main_~st~0_459 v_main_~st~0_460) .cse1 .cse2 (or (not .cse0) (not (< v_main_~c~0_848 v_~SIZE~0_330)))))) InVars {~SIZE~0=v_~SIZE~0_330, main_~c~0=v_main_~c~0_848, main_#t~post5=|v_main_#t~post5_477|, main_~st~0=v_main_~st~0_460, ~last~0=v_~last~0_367} OutVars{~SIZE~0=v_~SIZE~0_330, main_#t~post5=|v_main_#t~post5_475|, main_~c~0=v_main_~c~0_847, main_~st~0=v_main_~st~0_459, ~last~0=v_~last~0_367} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {45848#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:00:49,681 INFO L290 TraceCheckUtils]: 14: Hoare triple {45848#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [243] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {45848#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:00:49,682 INFO L290 TraceCheckUtils]: 15: Hoare triple {45848#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [244] L25-3-->L25-4_primed: Formula: (or (and (= v_main_~c~0_850 v_main_~c~0_849) (= v_~last~0_368 v_~last~0_368) (= |v_main_#t~post5_480| |v_main_#t~post5_476|) (= v_~SIZE~0_331 v_~SIZE~0_331)) (and (< v_main_~c~0_850 v_main_~c~0_849) (< v_main_~c~0_849 (+ v_~last~0_368 1)) (< v_main_~c~0_849 (+ v_~SIZE~0_331 1))) (and (= v_main_~c~0_849 v_main_~c~0_850) (= |v_main_#t~post5_476| |v_main_#t~post5_480|) (or (not (< v_main_~c~0_850 v_~SIZE~0_331)) (not (< v_main_~c~0_850 v_~last~0_368))))) InVars {~SIZE~0=v_~SIZE~0_331, main_~c~0=v_main_~c~0_850, main_#t~post5=|v_main_#t~post5_480|, ~last~0=v_~last~0_368} OutVars{~SIZE~0=v_~SIZE~0_331, main_#t~post5=|v_main_#t~post5_476|, main_~c~0=v_main_~c~0_849, ~last~0=v_~last~0_368} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {45848#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:00:49,682 INFO L290 TraceCheckUtils]: 16: Hoare triple {45848#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [241] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {45849#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:00:49,683 INFO L290 TraceCheckUtils]: 17: Hoare triple {45849#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {45850#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:49,684 INFO L290 TraceCheckUtils]: 18: Hoare triple {45850#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {45850#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:49,684 INFO L290 TraceCheckUtils]: 19: Hoare triple {45850#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {45851#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:49,684 INFO L290 TraceCheckUtils]: 20: Hoare triple {45851#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {45851#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:49,685 INFO L272 TraceCheckUtils]: 21: Hoare triple {45851#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {45852#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:00:49,686 INFO L290 TraceCheckUtils]: 22: Hoare triple {45852#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {45853#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:00:49,686 INFO L290 TraceCheckUtils]: 23: Hoare triple {45853#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {45837#false} is VALID [2022-04-28 04:00:49,686 INFO L290 TraceCheckUtils]: 24: Hoare triple {45837#false} assume !false; {45837#false} is VALID [2022-04-28 04:00:49,686 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:00:49,686 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:00:49,686 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1439273917] [2022-04-28 04:00:49,686 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1439273917] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:00:49,686 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1096972026] [2022-04-28 04:00:49,686 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:00:49,687 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:00:49,687 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:00:49,687 INFO L229 MonitoredProcess]: Starting monitored process 36 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:00:49,688 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Waiting until timeout for monitored process [2022-04-28 04:00:49,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:49,726 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:00:49,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:49,733 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:00:50,023 INFO L272 TraceCheckUtils]: 0: Hoare triple {45836#true} call ULTIMATE.init(); {45836#true} is VALID [2022-04-28 04:00:50,023 INFO L290 TraceCheckUtils]: 1: Hoare triple {45836#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:50,023 INFO L290 TraceCheckUtils]: 2: Hoare triple {45841#(<= 20 ~SIZE~0)} assume true; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:50,024 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45841#(<= 20 ~SIZE~0)} {45836#true} #90#return; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:50,024 INFO L272 TraceCheckUtils]: 4: Hoare triple {45841#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:50,024 INFO L290 TraceCheckUtils]: 5: Hoare triple {45841#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:50,025 INFO L272 TraceCheckUtils]: 6: Hoare triple {45841#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:50,025 INFO L290 TraceCheckUtils]: 7: Hoare triple {45841#(<= 20 ~SIZE~0)} ~cond := #in~cond; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:50,025 INFO L290 TraceCheckUtils]: 8: Hoare triple {45841#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:50,026 INFO L290 TraceCheckUtils]: 9: Hoare triple {45841#(<= 20 ~SIZE~0)} assume true; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:50,026 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {45841#(<= 20 ~SIZE~0)} {45841#(<= 20 ~SIZE~0)} #86#return; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:50,026 INFO L290 TraceCheckUtils]: 11: Hoare triple {45841#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:50,027 INFO L290 TraceCheckUtils]: 12: Hoare triple {45841#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {45894#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:00:50,028 INFO L290 TraceCheckUtils]: 13: Hoare triple {45894#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [242] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= |v_main_#t~post5_477| |v_main_#t~post5_475|)) (.cse2 (= v_main_~c~0_848 v_main_~c~0_847)) (.cse0 (<= v_~last~0_367 v_main_~c~0_848))) (or (and (= v_main_~st~0_459 0) .cse0 (< v_main_~c~0_848 v_main_~c~0_847) (< v_main_~c~0_847 (+ v_~SIZE~0_330 1))) (and (= v_~SIZE~0_330 v_~SIZE~0_330) (= v_main_~st~0_460 v_main_~st~0_459) .cse1 (= v_~last~0_367 v_~last~0_367) .cse2) (and (= v_main_~st~0_459 v_main_~st~0_460) .cse1 .cse2 (or (not .cse0) (not (< v_main_~c~0_848 v_~SIZE~0_330)))))) InVars {~SIZE~0=v_~SIZE~0_330, main_~c~0=v_main_~c~0_848, main_#t~post5=|v_main_#t~post5_477|, main_~st~0=v_main_~st~0_460, ~last~0=v_~last~0_367} OutVars{~SIZE~0=v_~SIZE~0_330, main_#t~post5=|v_main_#t~post5_475|, main_~c~0=v_main_~c~0_847, main_~st~0=v_main_~st~0_459, ~last~0=v_~last~0_367} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {45898#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:00:50,028 INFO L290 TraceCheckUtils]: 14: Hoare triple {45898#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [243] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {45898#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:00:50,029 INFO L290 TraceCheckUtils]: 15: Hoare triple {45898#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [244] L25-3-->L25-4_primed: Formula: (or (and (= v_main_~c~0_850 v_main_~c~0_849) (= v_~last~0_368 v_~last~0_368) (= |v_main_#t~post5_480| |v_main_#t~post5_476|) (= v_~SIZE~0_331 v_~SIZE~0_331)) (and (< v_main_~c~0_850 v_main_~c~0_849) (< v_main_~c~0_849 (+ v_~last~0_368 1)) (< v_main_~c~0_849 (+ v_~SIZE~0_331 1))) (and (= v_main_~c~0_849 v_main_~c~0_850) (= |v_main_#t~post5_476| |v_main_#t~post5_480|) (or (not (< v_main_~c~0_850 v_~SIZE~0_331)) (not (< v_main_~c~0_850 v_~last~0_368))))) InVars {~SIZE~0=v_~SIZE~0_331, main_~c~0=v_main_~c~0_850, main_#t~post5=|v_main_#t~post5_480|, ~last~0=v_~last~0_368} OutVars{~SIZE~0=v_~SIZE~0_331, main_#t~post5=|v_main_#t~post5_476|, main_~c~0=v_main_~c~0_849, ~last~0=v_~last~0_368} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {45898#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:00:50,029 INFO L290 TraceCheckUtils]: 16: Hoare triple {45898#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [241] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {45908#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:00:50,030 INFO L290 TraceCheckUtils]: 17: Hoare triple {45908#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {45837#false} is VALID [2022-04-28 04:00:50,030 INFO L290 TraceCheckUtils]: 18: Hoare triple {45837#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {45837#false} is VALID [2022-04-28 04:00:50,030 INFO L290 TraceCheckUtils]: 19: Hoare triple {45837#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {45837#false} is VALID [2022-04-28 04:00:50,030 INFO L290 TraceCheckUtils]: 20: Hoare triple {45837#false} assume !(~d~0 == ~SIZE~0); {45837#false} is VALID [2022-04-28 04:00:50,030 INFO L272 TraceCheckUtils]: 21: Hoare triple {45837#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {45837#false} is VALID [2022-04-28 04:00:50,030 INFO L290 TraceCheckUtils]: 22: Hoare triple {45837#false} ~cond := #in~cond; {45837#false} is VALID [2022-04-28 04:00:50,030 INFO L290 TraceCheckUtils]: 23: Hoare triple {45837#false} assume 0 == ~cond; {45837#false} is VALID [2022-04-28 04:00:50,030 INFO L290 TraceCheckUtils]: 24: Hoare triple {45837#false} assume !false; {45837#false} is VALID [2022-04-28 04:00:50,031 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:00:50,031 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:00:50,371 INFO L290 TraceCheckUtils]: 24: Hoare triple {45837#false} assume !false; {45837#false} is VALID [2022-04-28 04:00:50,371 INFO L290 TraceCheckUtils]: 23: Hoare triple {45837#false} assume 0 == ~cond; {45837#false} is VALID [2022-04-28 04:00:50,371 INFO L290 TraceCheckUtils]: 22: Hoare triple {45837#false} ~cond := #in~cond; {45837#false} is VALID [2022-04-28 04:00:50,371 INFO L272 TraceCheckUtils]: 21: Hoare triple {45837#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {45837#false} is VALID [2022-04-28 04:00:50,372 INFO L290 TraceCheckUtils]: 20: Hoare triple {45837#false} assume !(~d~0 == ~SIZE~0); {45837#false} is VALID [2022-04-28 04:00:50,372 INFO L290 TraceCheckUtils]: 19: Hoare triple {45837#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {45837#false} is VALID [2022-04-28 04:00:50,372 INFO L290 TraceCheckUtils]: 18: Hoare triple {45837#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {45837#false} is VALID [2022-04-28 04:00:50,372 INFO L290 TraceCheckUtils]: 17: Hoare triple {45954#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {45837#false} is VALID [2022-04-28 04:00:50,372 INFO L290 TraceCheckUtils]: 16: Hoare triple {45958#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [241] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {45954#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:00:50,373 INFO L290 TraceCheckUtils]: 15: Hoare triple {45958#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [244] L25-3-->L25-4_primed: Formula: (or (and (= v_main_~c~0_850 v_main_~c~0_849) (= v_~last~0_368 v_~last~0_368) (= |v_main_#t~post5_480| |v_main_#t~post5_476|) (= v_~SIZE~0_331 v_~SIZE~0_331)) (and (< v_main_~c~0_850 v_main_~c~0_849) (< v_main_~c~0_849 (+ v_~last~0_368 1)) (< v_main_~c~0_849 (+ v_~SIZE~0_331 1))) (and (= v_main_~c~0_849 v_main_~c~0_850) (= |v_main_#t~post5_476| |v_main_#t~post5_480|) (or (not (< v_main_~c~0_850 v_~SIZE~0_331)) (not (< v_main_~c~0_850 v_~last~0_368))))) InVars {~SIZE~0=v_~SIZE~0_331, main_~c~0=v_main_~c~0_850, main_#t~post5=|v_main_#t~post5_480|, ~last~0=v_~last~0_368} OutVars{~SIZE~0=v_~SIZE~0_331, main_#t~post5=|v_main_#t~post5_476|, main_~c~0=v_main_~c~0_849, ~last~0=v_~last~0_368} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {45958#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:00:50,373 INFO L290 TraceCheckUtils]: 14: Hoare triple {45958#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [243] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {45958#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:00:50,374 INFO L290 TraceCheckUtils]: 13: Hoare triple {45968#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [242] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= |v_main_#t~post5_477| |v_main_#t~post5_475|)) (.cse2 (= v_main_~c~0_848 v_main_~c~0_847)) (.cse0 (<= v_~last~0_367 v_main_~c~0_848))) (or (and (= v_main_~st~0_459 0) .cse0 (< v_main_~c~0_848 v_main_~c~0_847) (< v_main_~c~0_847 (+ v_~SIZE~0_330 1))) (and (= v_~SIZE~0_330 v_~SIZE~0_330) (= v_main_~st~0_460 v_main_~st~0_459) .cse1 (= v_~last~0_367 v_~last~0_367) .cse2) (and (= v_main_~st~0_459 v_main_~st~0_460) .cse1 .cse2 (or (not .cse0) (not (< v_main_~c~0_848 v_~SIZE~0_330)))))) InVars {~SIZE~0=v_~SIZE~0_330, main_~c~0=v_main_~c~0_848, main_#t~post5=|v_main_#t~post5_477|, main_~st~0=v_main_~st~0_460, ~last~0=v_~last~0_367} OutVars{~SIZE~0=v_~SIZE~0_330, main_#t~post5=|v_main_#t~post5_475|, main_~c~0=v_main_~c~0_847, main_~st~0=v_main_~st~0_459, ~last~0=v_~last~0_367} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {45958#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:00:50,374 INFO L290 TraceCheckUtils]: 12: Hoare triple {45972#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {45968#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:00:50,374 INFO L290 TraceCheckUtils]: 11: Hoare triple {45972#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {45972#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:50,375 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {45836#true} {45972#(< 1 ~SIZE~0)} #86#return; {45972#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:50,375 INFO L290 TraceCheckUtils]: 9: Hoare triple {45836#true} assume true; {45836#true} is VALID [2022-04-28 04:00:50,375 INFO L290 TraceCheckUtils]: 8: Hoare triple {45836#true} assume !(0 == ~cond); {45836#true} is VALID [2022-04-28 04:00:50,375 INFO L290 TraceCheckUtils]: 7: Hoare triple {45836#true} ~cond := #in~cond; {45836#true} is VALID [2022-04-28 04:00:50,375 INFO L272 TraceCheckUtils]: 6: Hoare triple {45972#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {45836#true} is VALID [2022-04-28 04:00:50,375 INFO L290 TraceCheckUtils]: 5: Hoare triple {45972#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {45972#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:50,375 INFO L272 TraceCheckUtils]: 4: Hoare triple {45972#(< 1 ~SIZE~0)} call #t~ret7 := main(); {45972#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:50,376 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45972#(< 1 ~SIZE~0)} {45836#true} #90#return; {45972#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:50,376 INFO L290 TraceCheckUtils]: 2: Hoare triple {45972#(< 1 ~SIZE~0)} assume true; {45972#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:50,376 INFO L290 TraceCheckUtils]: 1: Hoare triple {45836#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {45972#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:00:50,376 INFO L272 TraceCheckUtils]: 0: Hoare triple {45836#true} call ULTIMATE.init(); {45836#true} is VALID [2022-04-28 04:00:50,377 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:00:50,377 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1096972026] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:00:50,377 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:00:50,377 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:00:51,105 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:00:51,105 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [16560932] [2022-04-28 04:00:51,105 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [16560932] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:00:51,105 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:00:51,105 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-28 04:00:51,106 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [831875370] [2022-04-28 04:00:51,106 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:00:51,106 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 1.5925925925925926) internal successors, (43), 25 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 49 [2022-04-28 04:00:51,106 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:00:51,106 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 27 states, 27 states have (on average 1.5925925925925926) internal successors, (43), 25 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:51,143 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:00:51,143 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-28 04:00:51,143 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:00:51,144 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-28 04:00:51,144 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=224, Invalid=1036, Unknown=0, NotChecked=0, Total=1260 [2022-04-28 04:00:51,144 INFO L87 Difference]: Start difference. First operand 172 states and 209 transitions. Second operand has 27 states, 27 states have (on average 1.5925925925925926) internal successors, (43), 25 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:53,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:00:53,741 INFO L93 Difference]: Finished difference Result 281 states and 345 transitions. [2022-04-28 04:00:53,742 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-28 04:00:53,742 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 1.5925925925925926) internal successors, (43), 25 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 49 [2022-04-28 04:00:53,742 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:00:53,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 1.5925925925925926) internal successors, (43), 25 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:53,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 98 transitions. [2022-04-28 04:00:53,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 1.5925925925925926) internal successors, (43), 25 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:53,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 98 transitions. [2022-04-28 04:00:53,743 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 98 transitions. [2022-04-28 04:00:53,789 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:00:53,792 INFO L225 Difference]: With dead ends: 281 [2022-04-28 04:00:53,792 INFO L226 Difference]: Without dead ends: 194 [2022-04-28 04:00:53,792 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 48 SyntacticMatches, 11 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 582 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=236, Invalid=1170, Unknown=0, NotChecked=0, Total=1406 [2022-04-28 04:00:53,797 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 57 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 1271 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 58 SdHoareTripleChecker+Valid, 74 SdHoareTripleChecker+Invalid, 1282 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1271 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 04:00:53,797 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [58 Valid, 74 Invalid, 1282 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1271 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 04:00:53,797 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 194 states. [2022-04-28 04:00:54,364 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 194 to 172. [2022-04-28 04:00:54,365 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:00:54,365 INFO L82 GeneralOperation]: Start isEquivalent. First operand 194 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:54,365 INFO L74 IsIncluded]: Start isIncluded. First operand 194 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:54,365 INFO L87 Difference]: Start difference. First operand 194 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:54,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:00:54,368 INFO L93 Difference]: Finished difference Result 194 states and 233 transitions. [2022-04-28 04:00:54,368 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 233 transitions. [2022-04-28 04:00:54,368 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:00:54,369 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:00:54,369 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 194 states. [2022-04-28 04:00:54,369 INFO L87 Difference]: Start difference. First operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 194 states. [2022-04-28 04:00:54,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:00:54,372 INFO L93 Difference]: Finished difference Result 194 states and 233 transitions. [2022-04-28 04:00:54,372 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 233 transitions. [2022-04-28 04:00:54,372 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:00:54,372 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:00:54,372 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:00:54,372 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:00:54,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:00:54,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 209 transitions. [2022-04-28 04:00:54,375 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 209 transitions. Word has length 49 [2022-04-28 04:00:54,375 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:00:54,375 INFO L495 AbstractCegarLoop]: Abstraction has 172 states and 209 transitions. [2022-04-28 04:00:54,375 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 27 states have (on average 1.5925925925925926) internal successors, (43), 25 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:00:54,375 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 209 transitions. [2022-04-28 04:00:54,837 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 209 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:00:54,837 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 209 transitions. [2022-04-28 04:00:54,838 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 04:00:54,838 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:00:54,838 INFO L195 NwaCegarLoop]: trace histogram [9, 9, 6, 3, 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:00:54,854 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Ended with exit code 0 [2022-04-28 04:00:55,051 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 36 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable42 [2022-04-28 04:00:55,051 INFO L420 AbstractCegarLoop]: === Iteration 44 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:00:55,052 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:00:55,052 INFO L85 PathProgramCache]: Analyzing trace with hash 845666397, now seen corresponding path program 34 times [2022-04-28 04:00:55,052 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:00:55,052 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [919659109] [2022-04-28 04:00:55,219 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:00:59,311 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:00:59,408 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:00:59,410 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:00:59,413 INFO L85 PathProgramCache]: Analyzing trace with hash -1510704319, now seen corresponding path program 1 times [2022-04-28 04:00:59,413 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:00:59,413 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [582134668] [2022-04-28 04:00:59,413 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:00:59,413 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:00:59,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:59,571 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:00:59,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:59,576 INFO L290 TraceCheckUtils]: 0: Hoare triple {47345#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,576 INFO L290 TraceCheckUtils]: 1: Hoare triple {47332#(<= 20 ~SIZE~0)} assume true; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,577 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {47332#(<= 20 ~SIZE~0)} {47327#true} #90#return; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,577 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:00:59,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:59,579 INFO L290 TraceCheckUtils]: 0: Hoare triple {47327#true} ~cond := #in~cond; {47327#true} is VALID [2022-04-28 04:00:59,579 INFO L290 TraceCheckUtils]: 1: Hoare triple {47327#true} assume !(0 == ~cond); {47327#true} is VALID [2022-04-28 04:00:59,579 INFO L290 TraceCheckUtils]: 2: Hoare triple {47327#true} assume true; {47327#true} is VALID [2022-04-28 04:00:59,579 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47327#true} {47332#(<= 20 ~SIZE~0)} #86#return; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,580 INFO L272 TraceCheckUtils]: 0: Hoare triple {47327#true} call ULTIMATE.init(); {47345#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:00:59,580 INFO L290 TraceCheckUtils]: 1: Hoare triple {47345#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,581 INFO L290 TraceCheckUtils]: 2: Hoare triple {47332#(<= 20 ~SIZE~0)} assume true; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,581 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47332#(<= 20 ~SIZE~0)} {47327#true} #90#return; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,581 INFO L272 TraceCheckUtils]: 4: Hoare triple {47332#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,582 INFO L290 TraceCheckUtils]: 5: Hoare triple {47332#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,582 INFO L272 TraceCheckUtils]: 6: Hoare triple {47332#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {47327#true} is VALID [2022-04-28 04:00:59,582 INFO L290 TraceCheckUtils]: 7: Hoare triple {47327#true} ~cond := #in~cond; {47327#true} is VALID [2022-04-28 04:00:59,582 INFO L290 TraceCheckUtils]: 8: Hoare triple {47327#true} assume !(0 == ~cond); {47327#true} is VALID [2022-04-28 04:00:59,582 INFO L290 TraceCheckUtils]: 9: Hoare triple {47327#true} assume true; {47327#true} is VALID [2022-04-28 04:00:59,582 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {47327#true} {47332#(<= 20 ~SIZE~0)} #86#return; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,583 INFO L290 TraceCheckUtils]: 11: Hoare triple {47332#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {47337#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:00:59,583 INFO L290 TraceCheckUtils]: 12: Hoare triple {47337#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {47338#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:00:59,584 INFO L290 TraceCheckUtils]: 13: Hoare triple {47338#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [246] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_473 v_main_~st~0_472)) (.cse1 (= |v_main_#t~post5_490| |v_main_#t~post5_488|)) (.cse3 (<= v_~last~0_377 v_main_~c~0_874)) (.cse2 (= v_main_~c~0_874 v_main_~c~0_873))) (or (and .cse0 .cse1 (= v_~last~0_377 v_~last~0_377) (= v_~SIZE~0_339 v_~SIZE~0_339) .cse2) (and .cse3 (< v_main_~c~0_874 v_main_~c~0_873) (= v_main_~st~0_472 0) (< v_main_~c~0_873 (+ v_~SIZE~0_339 1))) (and .cse0 .cse1 (or (not (< v_main_~c~0_874 v_~SIZE~0_339)) (not .cse3)) .cse2))) InVars {~SIZE~0=v_~SIZE~0_339, main_~c~0=v_main_~c~0_874, main_#t~post5=|v_main_#t~post5_490|, main_~st~0=v_main_~st~0_473, ~last~0=v_~last~0_377} OutVars{~SIZE~0=v_~SIZE~0_339, main_#t~post5=|v_main_#t~post5_488|, main_~c~0=v_main_~c~0_873, main_~st~0=v_main_~st~0_472, ~last~0=v_~last~0_377} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {47339#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:00:59,584 INFO L290 TraceCheckUtils]: 14: Hoare triple {47339#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [247] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {47339#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:00:59,585 INFO L290 TraceCheckUtils]: 15: Hoare triple {47339#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [248] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_493| |v_main_#t~post5_489|)) (.cse1 (= v_main_~c~0_876 v_main_~c~0_875))) (or (and (= v_~SIZE~0_340 v_~SIZE~0_340) (= v_~last~0_378 v_~last~0_378) .cse0 .cse1) (and (< v_main_~c~0_875 (+ v_~last~0_378 1)) (< v_main_~c~0_875 (+ v_~SIZE~0_340 1)) (< v_main_~c~0_876 v_main_~c~0_875)) (and .cse0 (or (not (< v_main_~c~0_876 v_~last~0_378)) (not (< v_main_~c~0_876 v_~SIZE~0_340))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_340, main_~c~0=v_main_~c~0_876, main_#t~post5=|v_main_#t~post5_493|, ~last~0=v_~last~0_378} OutVars{~SIZE~0=v_~SIZE~0_340, main_#t~post5=|v_main_#t~post5_489|, main_~c~0=v_main_~c~0_875, ~last~0=v_~last~0_378} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {47339#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:00:59,586 INFO L290 TraceCheckUtils]: 16: Hoare triple {47339#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [245] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {47340#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:00:59,586 INFO L290 TraceCheckUtils]: 17: Hoare triple {47340#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {47341#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:59,587 INFO L290 TraceCheckUtils]: 18: Hoare triple {47341#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {47341#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:59,587 INFO L290 TraceCheckUtils]: 19: Hoare triple {47341#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {47342#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:59,588 INFO L290 TraceCheckUtils]: 20: Hoare triple {47342#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {47342#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:00:59,588 INFO L272 TraceCheckUtils]: 21: Hoare triple {47342#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {47343#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:00:59,589 INFO L290 TraceCheckUtils]: 22: Hoare triple {47343#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {47344#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:00:59,589 INFO L290 TraceCheckUtils]: 23: Hoare triple {47344#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {47328#false} is VALID [2022-04-28 04:00:59,589 INFO L290 TraceCheckUtils]: 24: Hoare triple {47328#false} assume !false; {47328#false} is VALID [2022-04-28 04:00:59,589 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:00:59,589 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:00:59,589 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [582134668] [2022-04-28 04:00:59,590 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [582134668] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:00:59,590 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1392400429] [2022-04-28 04:00:59,590 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:00:59,590 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:00:59,590 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:00:59,591 INFO L229 MonitoredProcess]: Starting monitored process 37 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:00:59,592 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Waiting until timeout for monitored process [2022-04-28 04:00:59,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:59,620 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:00:59,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:00:59,627 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:00:59,906 INFO L272 TraceCheckUtils]: 0: Hoare triple {47327#true} call ULTIMATE.init(); {47327#true} is VALID [2022-04-28 04:00:59,906 INFO L290 TraceCheckUtils]: 1: Hoare triple {47327#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,907 INFO L290 TraceCheckUtils]: 2: Hoare triple {47332#(<= 20 ~SIZE~0)} assume true; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,907 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47332#(<= 20 ~SIZE~0)} {47327#true} #90#return; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,907 INFO L272 TraceCheckUtils]: 4: Hoare triple {47332#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,908 INFO L290 TraceCheckUtils]: 5: Hoare triple {47332#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,908 INFO L272 TraceCheckUtils]: 6: Hoare triple {47332#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,908 INFO L290 TraceCheckUtils]: 7: Hoare triple {47332#(<= 20 ~SIZE~0)} ~cond := #in~cond; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,909 INFO L290 TraceCheckUtils]: 8: Hoare triple {47332#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,909 INFO L290 TraceCheckUtils]: 9: Hoare triple {47332#(<= 20 ~SIZE~0)} assume true; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,909 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {47332#(<= 20 ~SIZE~0)} {47332#(<= 20 ~SIZE~0)} #86#return; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,910 INFO L290 TraceCheckUtils]: 11: Hoare triple {47332#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:00:59,910 INFO L290 TraceCheckUtils]: 12: Hoare triple {47332#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {47385#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:00:59,911 INFO L290 TraceCheckUtils]: 13: Hoare triple {47385#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [246] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_473 v_main_~st~0_472)) (.cse1 (= |v_main_#t~post5_490| |v_main_#t~post5_488|)) (.cse3 (<= v_~last~0_377 v_main_~c~0_874)) (.cse2 (= v_main_~c~0_874 v_main_~c~0_873))) (or (and .cse0 .cse1 (= v_~last~0_377 v_~last~0_377) (= v_~SIZE~0_339 v_~SIZE~0_339) .cse2) (and .cse3 (< v_main_~c~0_874 v_main_~c~0_873) (= v_main_~st~0_472 0) (< v_main_~c~0_873 (+ v_~SIZE~0_339 1))) (and .cse0 .cse1 (or (not (< v_main_~c~0_874 v_~SIZE~0_339)) (not .cse3)) .cse2))) InVars {~SIZE~0=v_~SIZE~0_339, main_~c~0=v_main_~c~0_874, main_#t~post5=|v_main_#t~post5_490|, main_~st~0=v_main_~st~0_473, ~last~0=v_~last~0_377} OutVars{~SIZE~0=v_~SIZE~0_339, main_#t~post5=|v_main_#t~post5_488|, main_~c~0=v_main_~c~0_873, main_~st~0=v_main_~st~0_472, ~last~0=v_~last~0_377} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {47389#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:00:59,911 INFO L290 TraceCheckUtils]: 14: Hoare triple {47389#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [247] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {47389#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:00:59,912 INFO L290 TraceCheckUtils]: 15: Hoare triple {47389#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [248] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_493| |v_main_#t~post5_489|)) (.cse1 (= v_main_~c~0_876 v_main_~c~0_875))) (or (and (= v_~SIZE~0_340 v_~SIZE~0_340) (= v_~last~0_378 v_~last~0_378) .cse0 .cse1) (and (< v_main_~c~0_875 (+ v_~last~0_378 1)) (< v_main_~c~0_875 (+ v_~SIZE~0_340 1)) (< v_main_~c~0_876 v_main_~c~0_875)) (and .cse0 (or (not (< v_main_~c~0_876 v_~last~0_378)) (not (< v_main_~c~0_876 v_~SIZE~0_340))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_340, main_~c~0=v_main_~c~0_876, main_#t~post5=|v_main_#t~post5_493|, ~last~0=v_~last~0_378} OutVars{~SIZE~0=v_~SIZE~0_340, main_#t~post5=|v_main_#t~post5_489|, main_~c~0=v_main_~c~0_875, ~last~0=v_~last~0_378} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {47389#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:00:59,912 INFO L290 TraceCheckUtils]: 16: Hoare triple {47389#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [245] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {47399#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:00:59,913 INFO L290 TraceCheckUtils]: 17: Hoare triple {47399#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {47328#false} is VALID [2022-04-28 04:00:59,913 INFO L290 TraceCheckUtils]: 18: Hoare triple {47328#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {47328#false} is VALID [2022-04-28 04:00:59,913 INFO L290 TraceCheckUtils]: 19: Hoare triple {47328#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {47328#false} is VALID [2022-04-28 04:00:59,913 INFO L290 TraceCheckUtils]: 20: Hoare triple {47328#false} assume !(~d~0 == ~SIZE~0); {47328#false} is VALID [2022-04-28 04:00:59,913 INFO L272 TraceCheckUtils]: 21: Hoare triple {47328#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {47328#false} is VALID [2022-04-28 04:00:59,913 INFO L290 TraceCheckUtils]: 22: Hoare triple {47328#false} ~cond := #in~cond; {47328#false} is VALID [2022-04-28 04:00:59,913 INFO L290 TraceCheckUtils]: 23: Hoare triple {47328#false} assume 0 == ~cond; {47328#false} is VALID [2022-04-28 04:00:59,913 INFO L290 TraceCheckUtils]: 24: Hoare triple {47328#false} assume !false; {47328#false} is VALID [2022-04-28 04:00:59,914 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:00:59,914 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:01:00,278 INFO L290 TraceCheckUtils]: 24: Hoare triple {47328#false} assume !false; {47328#false} is VALID [2022-04-28 04:01:00,278 INFO L290 TraceCheckUtils]: 23: Hoare triple {47328#false} assume 0 == ~cond; {47328#false} is VALID [2022-04-28 04:01:00,278 INFO L290 TraceCheckUtils]: 22: Hoare triple {47328#false} ~cond := #in~cond; {47328#false} is VALID [2022-04-28 04:01:00,279 INFO L272 TraceCheckUtils]: 21: Hoare triple {47328#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {47328#false} is VALID [2022-04-28 04:01:00,279 INFO L290 TraceCheckUtils]: 20: Hoare triple {47328#false} assume !(~d~0 == ~SIZE~0); {47328#false} is VALID [2022-04-28 04:01:00,279 INFO L290 TraceCheckUtils]: 19: Hoare triple {47328#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {47328#false} is VALID [2022-04-28 04:01:00,279 INFO L290 TraceCheckUtils]: 18: Hoare triple {47328#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {47328#false} is VALID [2022-04-28 04:01:00,279 INFO L290 TraceCheckUtils]: 17: Hoare triple {47445#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {47328#false} is VALID [2022-04-28 04:01:00,280 INFO L290 TraceCheckUtils]: 16: Hoare triple {47449#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [245] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {47445#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:01:00,280 INFO L290 TraceCheckUtils]: 15: Hoare triple {47449#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [248] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_493| |v_main_#t~post5_489|)) (.cse1 (= v_main_~c~0_876 v_main_~c~0_875))) (or (and (= v_~SIZE~0_340 v_~SIZE~0_340) (= v_~last~0_378 v_~last~0_378) .cse0 .cse1) (and (< v_main_~c~0_875 (+ v_~last~0_378 1)) (< v_main_~c~0_875 (+ v_~SIZE~0_340 1)) (< v_main_~c~0_876 v_main_~c~0_875)) (and .cse0 (or (not (< v_main_~c~0_876 v_~last~0_378)) (not (< v_main_~c~0_876 v_~SIZE~0_340))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_340, main_~c~0=v_main_~c~0_876, main_#t~post5=|v_main_#t~post5_493|, ~last~0=v_~last~0_378} OutVars{~SIZE~0=v_~SIZE~0_340, main_#t~post5=|v_main_#t~post5_489|, main_~c~0=v_main_~c~0_875, ~last~0=v_~last~0_378} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {47449#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:00,281 INFO L290 TraceCheckUtils]: 14: Hoare triple {47449#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [247] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {47449#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:00,281 INFO L290 TraceCheckUtils]: 13: Hoare triple {47459#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [246] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_473 v_main_~st~0_472)) (.cse1 (= |v_main_#t~post5_490| |v_main_#t~post5_488|)) (.cse3 (<= v_~last~0_377 v_main_~c~0_874)) (.cse2 (= v_main_~c~0_874 v_main_~c~0_873))) (or (and .cse0 .cse1 (= v_~last~0_377 v_~last~0_377) (= v_~SIZE~0_339 v_~SIZE~0_339) .cse2) (and .cse3 (< v_main_~c~0_874 v_main_~c~0_873) (= v_main_~st~0_472 0) (< v_main_~c~0_873 (+ v_~SIZE~0_339 1))) (and .cse0 .cse1 (or (not (< v_main_~c~0_874 v_~SIZE~0_339)) (not .cse3)) .cse2))) InVars {~SIZE~0=v_~SIZE~0_339, main_~c~0=v_main_~c~0_874, main_#t~post5=|v_main_#t~post5_490|, main_~st~0=v_main_~st~0_473, ~last~0=v_~last~0_377} OutVars{~SIZE~0=v_~SIZE~0_339, main_#t~post5=|v_main_#t~post5_488|, main_~c~0=v_main_~c~0_873, main_~st~0=v_main_~st~0_472, ~last~0=v_~last~0_377} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {47449#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:00,282 INFO L290 TraceCheckUtils]: 12: Hoare triple {47463#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {47459#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:01:00,282 INFO L290 TraceCheckUtils]: 11: Hoare triple {47463#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {47463#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:00,282 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {47327#true} {47463#(< 1 ~SIZE~0)} #86#return; {47463#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:00,283 INFO L290 TraceCheckUtils]: 9: Hoare triple {47327#true} assume true; {47327#true} is VALID [2022-04-28 04:01:00,283 INFO L290 TraceCheckUtils]: 8: Hoare triple {47327#true} assume !(0 == ~cond); {47327#true} is VALID [2022-04-28 04:01:00,283 INFO L290 TraceCheckUtils]: 7: Hoare triple {47327#true} ~cond := #in~cond; {47327#true} is VALID [2022-04-28 04:01:00,283 INFO L272 TraceCheckUtils]: 6: Hoare triple {47463#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {47327#true} is VALID [2022-04-28 04:01:00,283 INFO L290 TraceCheckUtils]: 5: Hoare triple {47463#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {47463#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:00,283 INFO L272 TraceCheckUtils]: 4: Hoare triple {47463#(< 1 ~SIZE~0)} call #t~ret7 := main(); {47463#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:00,284 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47463#(< 1 ~SIZE~0)} {47327#true} #90#return; {47463#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:00,284 INFO L290 TraceCheckUtils]: 2: Hoare triple {47463#(< 1 ~SIZE~0)} assume true; {47463#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:00,284 INFO L290 TraceCheckUtils]: 1: Hoare triple {47327#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {47463#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:00,285 INFO L272 TraceCheckUtils]: 0: Hoare triple {47327#true} call ULTIMATE.init(); {47327#true} is VALID [2022-04-28 04:01:00,285 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:01:00,285 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1392400429] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:01:00,285 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:01:00,285 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:01:01,117 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:01:01,117 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [919659109] [2022-04-28 04:01:01,131 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [919659109] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:01:01,131 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:01:01,131 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [28] imperfect sequences [] total 28 [2022-04-28 04:01:01,131 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1837546865] [2022-04-28 04:01:01,131 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:01:01,131 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 26 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 49 [2022-04-28 04:01:01,132 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:01:01,132 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 28 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 26 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:01,181 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:01:01,182 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-28 04:01:01,182 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:01:01,182 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-28 04:01:01,182 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=238, Invalid=1094, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 04:01:01,182 INFO L87 Difference]: Start difference. First operand 172 states and 209 transitions. Second operand has 28 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 26 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:03,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:03,071 INFO L93 Difference]: Finished difference Result 278 states and 342 transitions. [2022-04-28 04:01:03,071 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 04:01:03,071 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 26 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 49 [2022-04-28 04:01:03,071 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:01:03,071 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 26 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:03,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 99 transitions. [2022-04-28 04:01:03,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 26 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:03,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 99 transitions. [2022-04-28 04:01:03,075 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 99 transitions. [2022-04-28 04:01:03,152 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:01:03,154 INFO L225 Difference]: With dead ends: 278 [2022-04-28 04:01:03,154 INFO L226 Difference]: Without dead ends: 191 [2022-04-28 04:01:03,155 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 48 SyntacticMatches, 10 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 587 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=250, Invalid=1232, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 04:01:03,155 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 55 mSDsluCounter, 38 mSDsCounter, 0 mSdLazyCounter, 1055 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 56 SdHoareTripleChecker+Valid, 58 SdHoareTripleChecker+Invalid, 1065 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1055 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 04:01:03,155 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [56 Valid, 58 Invalid, 1065 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1055 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 04:01:03,155 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 191 states. [2022-04-28 04:01:03,741 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 191 to 172. [2022-04-28 04:01:03,741 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:01:03,742 INFO L82 GeneralOperation]: Start isEquivalent. First operand 191 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:03,742 INFO L74 IsIncluded]: Start isIncluded. First operand 191 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:03,742 INFO L87 Difference]: Start difference. First operand 191 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:03,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:03,744 INFO L93 Difference]: Finished difference Result 191 states and 230 transitions. [2022-04-28 04:01:03,744 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 230 transitions. [2022-04-28 04:01:03,744 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:01:03,744 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:01:03,744 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 191 states. [2022-04-28 04:01:03,744 INFO L87 Difference]: Start difference. First operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 191 states. [2022-04-28 04:01:03,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:03,746 INFO L93 Difference]: Finished difference Result 191 states and 230 transitions. [2022-04-28 04:01:03,746 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 230 transitions. [2022-04-28 04:01:03,746 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:01:03,746 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:01:03,746 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:01:03,746 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:01:03,747 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:03,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 209 transitions. [2022-04-28 04:01:03,748 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 209 transitions. Word has length 49 [2022-04-28 04:01:03,748 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:01:03,748 INFO L495 AbstractCegarLoop]: Abstraction has 172 states and 209 transitions. [2022-04-28 04:01:03,749 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 28 states, 28 states have (on average 1.5357142857142858) internal successors, (43), 26 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:03,749 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 209 transitions. [2022-04-28 04:01:04,230 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 209 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:01:04,230 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 209 transitions. [2022-04-28 04:01:04,230 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 04:01:04,230 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:01:04,230 INFO L195 NwaCegarLoop]: trace histogram [9, 9, 7, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:01:04,248 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Forceful destruction successful, exit code 0 [2022-04-28 04:01:04,437 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable43,37 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:01:04,438 INFO L420 AbstractCegarLoop]: === Iteration 45 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:01:04,438 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:01:04,438 INFO L85 PathProgramCache]: Analyzing trace with hash -742681505, now seen corresponding path program 35 times [2022-04-28 04:01:04,438 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:01:04,438 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [720132440] [2022-04-28 04:01:08,556 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:01:08,663 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:01:12,766 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:01:12,863 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:01:12,865 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:01:12,868 INFO L85 PathProgramCache]: Analyzing trace with hash 981818433, now seen corresponding path program 1 times [2022-04-28 04:01:12,868 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:01:12,868 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [571932351] [2022-04-28 04:01:12,868 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:01:12,868 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:01:12,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:13,027 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:01:13,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:13,031 INFO L290 TraceCheckUtils]: 0: Hoare triple {48825#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,031 INFO L290 TraceCheckUtils]: 1: Hoare triple {48812#(<= 20 ~SIZE~0)} assume true; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,031 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {48812#(<= 20 ~SIZE~0)} {48807#true} #90#return; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,031 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:01:13,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:13,034 INFO L290 TraceCheckUtils]: 0: Hoare triple {48807#true} ~cond := #in~cond; {48807#true} is VALID [2022-04-28 04:01:13,034 INFO L290 TraceCheckUtils]: 1: Hoare triple {48807#true} assume !(0 == ~cond); {48807#true} is VALID [2022-04-28 04:01:13,034 INFO L290 TraceCheckUtils]: 2: Hoare triple {48807#true} assume true; {48807#true} is VALID [2022-04-28 04:01:13,034 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {48807#true} {48812#(<= 20 ~SIZE~0)} #86#return; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,034 INFO L272 TraceCheckUtils]: 0: Hoare triple {48807#true} call ULTIMATE.init(); {48825#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:01:13,035 INFO L290 TraceCheckUtils]: 1: Hoare triple {48825#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,035 INFO L290 TraceCheckUtils]: 2: Hoare triple {48812#(<= 20 ~SIZE~0)} assume true; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,035 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {48812#(<= 20 ~SIZE~0)} {48807#true} #90#return; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,035 INFO L272 TraceCheckUtils]: 4: Hoare triple {48812#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,036 INFO L290 TraceCheckUtils]: 5: Hoare triple {48812#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,036 INFO L272 TraceCheckUtils]: 6: Hoare triple {48812#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {48807#true} is VALID [2022-04-28 04:01:13,036 INFO L290 TraceCheckUtils]: 7: Hoare triple {48807#true} ~cond := #in~cond; {48807#true} is VALID [2022-04-28 04:01:13,036 INFO L290 TraceCheckUtils]: 8: Hoare triple {48807#true} assume !(0 == ~cond); {48807#true} is VALID [2022-04-28 04:01:13,036 INFO L290 TraceCheckUtils]: 9: Hoare triple {48807#true} assume true; {48807#true} is VALID [2022-04-28 04:01:13,036 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {48807#true} {48812#(<= 20 ~SIZE~0)} #86#return; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,036 INFO L290 TraceCheckUtils]: 11: Hoare triple {48812#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {48817#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:01:13,037 INFO L290 TraceCheckUtils]: 12: Hoare triple {48817#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {48818#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:01:13,037 INFO L290 TraceCheckUtils]: 13: Hoare triple {48818#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [250] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_387 v_main_~c~0_900)) (.cse1 (= |v_main_#t~post5_503| |v_main_#t~post5_501|)) (.cse2 (= v_main_~c~0_900 v_main_~c~0_899)) (.cse3 (= v_main_~st~0_485 v_main_~st~0_484))) (or (and (< v_main_~c~0_899 (+ v_~SIZE~0_348 1)) .cse0 (< v_main_~c~0_900 v_main_~c~0_899) (= v_main_~st~0_484 0)) (and .cse1 (or (not .cse0) (not (< v_main_~c~0_900 v_~SIZE~0_348))) .cse2 .cse3) (and .cse1 (= v_~SIZE~0_348 v_~SIZE~0_348) (= v_~last~0_387 v_~last~0_387) .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_348, main_~c~0=v_main_~c~0_900, main_#t~post5=|v_main_#t~post5_503|, main_~st~0=v_main_~st~0_485, ~last~0=v_~last~0_387} OutVars{~SIZE~0=v_~SIZE~0_348, main_#t~post5=|v_main_#t~post5_501|, main_~c~0=v_main_~c~0_899, main_~st~0=v_main_~st~0_484, ~last~0=v_~last~0_387} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {48819#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:01:13,038 INFO L290 TraceCheckUtils]: 14: Hoare triple {48819#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [251] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {48819#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:01:13,038 INFO L290 TraceCheckUtils]: 15: Hoare triple {48819#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [252] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_506| |v_main_#t~post5_502|))) (or (and (= v_main_~c~0_901 v_main_~c~0_902) .cse0 (or (not (< v_main_~c~0_902 v_~SIZE~0_349)) (not (< v_main_~c~0_902 v_~last~0_388)))) (and (< v_main_~c~0_902 v_main_~c~0_901) (< v_main_~c~0_901 (+ v_~last~0_388 1)) (< v_main_~c~0_901 (+ v_~SIZE~0_349 1))) (and (= v_main_~c~0_902 v_main_~c~0_901) (= v_~SIZE~0_349 v_~SIZE~0_349) (= v_~last~0_388 v_~last~0_388) .cse0))) InVars {~SIZE~0=v_~SIZE~0_349, main_~c~0=v_main_~c~0_902, main_#t~post5=|v_main_#t~post5_506|, ~last~0=v_~last~0_388} OutVars{~SIZE~0=v_~SIZE~0_349, main_#t~post5=|v_main_#t~post5_502|, main_~c~0=v_main_~c~0_901, ~last~0=v_~last~0_388} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {48819#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:01:13,039 INFO L290 TraceCheckUtils]: 16: Hoare triple {48819#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [249] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {48820#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:01:13,039 INFO L290 TraceCheckUtils]: 17: Hoare triple {48820#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {48821#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:13,040 INFO L290 TraceCheckUtils]: 18: Hoare triple {48821#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {48821#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:13,040 INFO L290 TraceCheckUtils]: 19: Hoare triple {48821#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {48822#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:13,040 INFO L290 TraceCheckUtils]: 20: Hoare triple {48822#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {48822#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:13,041 INFO L272 TraceCheckUtils]: 21: Hoare triple {48822#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {48823#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:01:13,041 INFO L290 TraceCheckUtils]: 22: Hoare triple {48823#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {48824#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:01:13,041 INFO L290 TraceCheckUtils]: 23: Hoare triple {48824#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {48808#false} is VALID [2022-04-28 04:01:13,041 INFO L290 TraceCheckUtils]: 24: Hoare triple {48808#false} assume !false; {48808#false} is VALID [2022-04-28 04:01:13,042 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:01:13,042 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:01:13,042 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [571932351] [2022-04-28 04:01:13,042 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [571932351] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:01:13,042 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [920890807] [2022-04-28 04:01:13,042 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:01:13,042 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:01:13,042 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:01:13,064 INFO L229 MonitoredProcess]: Starting monitored process 38 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:01:13,088 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (38)] Waiting until timeout for monitored process [2022-04-28 04:01:13,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:13,127 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:01:13,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:13,134 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:01:13,321 INFO L272 TraceCheckUtils]: 0: Hoare triple {48807#true} call ULTIMATE.init(); {48807#true} is VALID [2022-04-28 04:01:13,322 INFO L290 TraceCheckUtils]: 1: Hoare triple {48807#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,322 INFO L290 TraceCheckUtils]: 2: Hoare triple {48812#(<= 20 ~SIZE~0)} assume true; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,322 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {48812#(<= 20 ~SIZE~0)} {48807#true} #90#return; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,322 INFO L272 TraceCheckUtils]: 4: Hoare triple {48812#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,323 INFO L290 TraceCheckUtils]: 5: Hoare triple {48812#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,323 INFO L272 TraceCheckUtils]: 6: Hoare triple {48812#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,323 INFO L290 TraceCheckUtils]: 7: Hoare triple {48812#(<= 20 ~SIZE~0)} ~cond := #in~cond; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,323 INFO L290 TraceCheckUtils]: 8: Hoare triple {48812#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,324 INFO L290 TraceCheckUtils]: 9: Hoare triple {48812#(<= 20 ~SIZE~0)} assume true; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,324 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {48812#(<= 20 ~SIZE~0)} {48812#(<= 20 ~SIZE~0)} #86#return; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,324 INFO L290 TraceCheckUtils]: 11: Hoare triple {48812#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:13,324 INFO L290 TraceCheckUtils]: 12: Hoare triple {48812#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {48865#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:01:13,325 INFO L290 TraceCheckUtils]: 13: Hoare triple {48865#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [250] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_387 v_main_~c~0_900)) (.cse1 (= |v_main_#t~post5_503| |v_main_#t~post5_501|)) (.cse2 (= v_main_~c~0_900 v_main_~c~0_899)) (.cse3 (= v_main_~st~0_485 v_main_~st~0_484))) (or (and (< v_main_~c~0_899 (+ v_~SIZE~0_348 1)) .cse0 (< v_main_~c~0_900 v_main_~c~0_899) (= v_main_~st~0_484 0)) (and .cse1 (or (not .cse0) (not (< v_main_~c~0_900 v_~SIZE~0_348))) .cse2 .cse3) (and .cse1 (= v_~SIZE~0_348 v_~SIZE~0_348) (= v_~last~0_387 v_~last~0_387) .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_348, main_~c~0=v_main_~c~0_900, main_#t~post5=|v_main_#t~post5_503|, main_~st~0=v_main_~st~0_485, ~last~0=v_~last~0_387} OutVars{~SIZE~0=v_~SIZE~0_348, main_#t~post5=|v_main_#t~post5_501|, main_~c~0=v_main_~c~0_899, main_~st~0=v_main_~st~0_484, ~last~0=v_~last~0_387} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {48869#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:01:13,325 INFO L290 TraceCheckUtils]: 14: Hoare triple {48869#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [251] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {48869#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:01:13,326 INFO L290 TraceCheckUtils]: 15: Hoare triple {48869#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [252] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_506| |v_main_#t~post5_502|))) (or (and (= v_main_~c~0_901 v_main_~c~0_902) .cse0 (or (not (< v_main_~c~0_902 v_~SIZE~0_349)) (not (< v_main_~c~0_902 v_~last~0_388)))) (and (< v_main_~c~0_902 v_main_~c~0_901) (< v_main_~c~0_901 (+ v_~last~0_388 1)) (< v_main_~c~0_901 (+ v_~SIZE~0_349 1))) (and (= v_main_~c~0_902 v_main_~c~0_901) (= v_~SIZE~0_349 v_~SIZE~0_349) (= v_~last~0_388 v_~last~0_388) .cse0))) InVars {~SIZE~0=v_~SIZE~0_349, main_~c~0=v_main_~c~0_902, main_#t~post5=|v_main_#t~post5_506|, ~last~0=v_~last~0_388} OutVars{~SIZE~0=v_~SIZE~0_349, main_#t~post5=|v_main_#t~post5_502|, main_~c~0=v_main_~c~0_901, ~last~0=v_~last~0_388} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {48869#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:01:13,326 INFO L290 TraceCheckUtils]: 16: Hoare triple {48869#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [249] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {48879#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:01:13,327 INFO L290 TraceCheckUtils]: 17: Hoare triple {48879#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {48808#false} is VALID [2022-04-28 04:01:13,327 INFO L290 TraceCheckUtils]: 18: Hoare triple {48808#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {48808#false} is VALID [2022-04-28 04:01:13,327 INFO L290 TraceCheckUtils]: 19: Hoare triple {48808#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {48808#false} is VALID [2022-04-28 04:01:13,327 INFO L290 TraceCheckUtils]: 20: Hoare triple {48808#false} assume !(~d~0 == ~SIZE~0); {48808#false} is VALID [2022-04-28 04:01:13,327 INFO L272 TraceCheckUtils]: 21: Hoare triple {48808#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {48808#false} is VALID [2022-04-28 04:01:13,327 INFO L290 TraceCheckUtils]: 22: Hoare triple {48808#false} ~cond := #in~cond; {48808#false} is VALID [2022-04-28 04:01:13,327 INFO L290 TraceCheckUtils]: 23: Hoare triple {48808#false} assume 0 == ~cond; {48808#false} is VALID [2022-04-28 04:01:13,327 INFO L290 TraceCheckUtils]: 24: Hoare triple {48808#false} assume !false; {48808#false} is VALID [2022-04-28 04:01:13,327 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:01:13,327 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:01:13,627 INFO L290 TraceCheckUtils]: 24: Hoare triple {48808#false} assume !false; {48808#false} is VALID [2022-04-28 04:01:13,627 INFO L290 TraceCheckUtils]: 23: Hoare triple {48808#false} assume 0 == ~cond; {48808#false} is VALID [2022-04-28 04:01:13,627 INFO L290 TraceCheckUtils]: 22: Hoare triple {48808#false} ~cond := #in~cond; {48808#false} is VALID [2022-04-28 04:01:13,628 INFO L272 TraceCheckUtils]: 21: Hoare triple {48808#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {48808#false} is VALID [2022-04-28 04:01:13,628 INFO L290 TraceCheckUtils]: 20: Hoare triple {48808#false} assume !(~d~0 == ~SIZE~0); {48808#false} is VALID [2022-04-28 04:01:13,628 INFO L290 TraceCheckUtils]: 19: Hoare triple {48808#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {48808#false} is VALID [2022-04-28 04:01:13,628 INFO L290 TraceCheckUtils]: 18: Hoare triple {48808#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {48808#false} is VALID [2022-04-28 04:01:13,628 INFO L290 TraceCheckUtils]: 17: Hoare triple {48925#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {48808#false} is VALID [2022-04-28 04:01:13,629 INFO L290 TraceCheckUtils]: 16: Hoare triple {48929#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [249] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {48925#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:01:13,629 INFO L290 TraceCheckUtils]: 15: Hoare triple {48929#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [252] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_506| |v_main_#t~post5_502|))) (or (and (= v_main_~c~0_901 v_main_~c~0_902) .cse0 (or (not (< v_main_~c~0_902 v_~SIZE~0_349)) (not (< v_main_~c~0_902 v_~last~0_388)))) (and (< v_main_~c~0_902 v_main_~c~0_901) (< v_main_~c~0_901 (+ v_~last~0_388 1)) (< v_main_~c~0_901 (+ v_~SIZE~0_349 1))) (and (= v_main_~c~0_902 v_main_~c~0_901) (= v_~SIZE~0_349 v_~SIZE~0_349) (= v_~last~0_388 v_~last~0_388) .cse0))) InVars {~SIZE~0=v_~SIZE~0_349, main_~c~0=v_main_~c~0_902, main_#t~post5=|v_main_#t~post5_506|, ~last~0=v_~last~0_388} OutVars{~SIZE~0=v_~SIZE~0_349, main_#t~post5=|v_main_#t~post5_502|, main_~c~0=v_main_~c~0_901, ~last~0=v_~last~0_388} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {48929#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:13,630 INFO L290 TraceCheckUtils]: 14: Hoare triple {48929#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [251] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {48929#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:13,630 INFO L290 TraceCheckUtils]: 13: Hoare triple {48939#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [250] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_387 v_main_~c~0_900)) (.cse1 (= |v_main_#t~post5_503| |v_main_#t~post5_501|)) (.cse2 (= v_main_~c~0_900 v_main_~c~0_899)) (.cse3 (= v_main_~st~0_485 v_main_~st~0_484))) (or (and (< v_main_~c~0_899 (+ v_~SIZE~0_348 1)) .cse0 (< v_main_~c~0_900 v_main_~c~0_899) (= v_main_~st~0_484 0)) (and .cse1 (or (not .cse0) (not (< v_main_~c~0_900 v_~SIZE~0_348))) .cse2 .cse3) (and .cse1 (= v_~SIZE~0_348 v_~SIZE~0_348) (= v_~last~0_387 v_~last~0_387) .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_348, main_~c~0=v_main_~c~0_900, main_#t~post5=|v_main_#t~post5_503|, main_~st~0=v_main_~st~0_485, ~last~0=v_~last~0_387} OutVars{~SIZE~0=v_~SIZE~0_348, main_#t~post5=|v_main_#t~post5_501|, main_~c~0=v_main_~c~0_899, main_~st~0=v_main_~st~0_484, ~last~0=v_~last~0_387} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {48929#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:13,631 INFO L290 TraceCheckUtils]: 12: Hoare triple {48943#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {48939#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:01:13,631 INFO L290 TraceCheckUtils]: 11: Hoare triple {48943#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {48943#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:13,632 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {48807#true} {48943#(< 1 ~SIZE~0)} #86#return; {48943#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:13,632 INFO L290 TraceCheckUtils]: 9: Hoare triple {48807#true} assume true; {48807#true} is VALID [2022-04-28 04:01:13,632 INFO L290 TraceCheckUtils]: 8: Hoare triple {48807#true} assume !(0 == ~cond); {48807#true} is VALID [2022-04-28 04:01:13,632 INFO L290 TraceCheckUtils]: 7: Hoare triple {48807#true} ~cond := #in~cond; {48807#true} is VALID [2022-04-28 04:01:13,632 INFO L272 TraceCheckUtils]: 6: Hoare triple {48943#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {48807#true} is VALID [2022-04-28 04:01:13,632 INFO L290 TraceCheckUtils]: 5: Hoare triple {48943#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {48943#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:13,633 INFO L272 TraceCheckUtils]: 4: Hoare triple {48943#(< 1 ~SIZE~0)} call #t~ret7 := main(); {48943#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:13,633 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {48943#(< 1 ~SIZE~0)} {48807#true} #90#return; {48943#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:13,633 INFO L290 TraceCheckUtils]: 2: Hoare triple {48943#(< 1 ~SIZE~0)} assume true; {48943#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:13,634 INFO L290 TraceCheckUtils]: 1: Hoare triple {48807#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {48943#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:13,634 INFO L272 TraceCheckUtils]: 0: Hoare triple {48807#true} call ULTIMATE.init(); {48807#true} is VALID [2022-04-28 04:01:13,634 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:01:13,634 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [920890807] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:01:13,634 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:01:13,634 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:01:14,428 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:01:14,428 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [720132440] [2022-04-28 04:01:14,428 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [720132440] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:01:14,428 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:01:14,428 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-28 04:01:14,428 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [631882284] [2022-04-28 04:01:14,429 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:01:14,429 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 1.4827586206896552) internal successors, (43), 27 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 49 [2022-04-28 04:01:14,429 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:01:14,429 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 29 states, 29 states have (on average 1.4827586206896552) internal successors, (43), 27 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:14,456 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:01:14,456 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-28 04:01:14,456 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:01:14,456 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-28 04:01:14,456 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=252, Invalid=1154, Unknown=0, NotChecked=0, Total=1406 [2022-04-28 04:01:14,457 INFO L87 Difference]: Start difference. First operand 172 states and 209 transitions. Second operand has 29 states, 29 states have (on average 1.4827586206896552) internal successors, (43), 27 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:16,720 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:16,720 INFO L93 Difference]: Finished difference Result 276 states and 340 transitions. [2022-04-28 04:01:16,720 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-28 04:01:16,720 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 1.4827586206896552) internal successors, (43), 27 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 49 [2022-04-28 04:01:16,720 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:01:16,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 1.4827586206896552) internal successors, (43), 27 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:16,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 100 transitions. [2022-04-28 04:01:16,721 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 1.4827586206896552) internal successors, (43), 27 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:16,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 100 transitions. [2022-04-28 04:01:16,721 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 100 transitions. [2022-04-28 04:01:16,792 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:01:16,794 INFO L225 Difference]: With dead ends: 276 [2022-04-28 04:01:16,794 INFO L226 Difference]: Without dead ends: 189 [2022-04-28 04:01:16,795 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 48 SyntacticMatches, 9 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 583 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=264, Invalid=1296, Unknown=0, NotChecked=0, Total=1560 [2022-04-28 04:01:16,795 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 57 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 1101 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 58 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 1111 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1101 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 04:01:16,795 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [58 Valid, 60 Invalid, 1111 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1101 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 04:01:16,795 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 189 states. [2022-04-28 04:01:17,392 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 189 to 172. [2022-04-28 04:01:17,392 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:01:17,392 INFO L82 GeneralOperation]: Start isEquivalent. First operand 189 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:17,392 INFO L74 IsIncluded]: Start isIncluded. First operand 189 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:17,392 INFO L87 Difference]: Start difference. First operand 189 states. Second operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:17,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:17,394 INFO L93 Difference]: Finished difference Result 189 states and 228 transitions. [2022-04-28 04:01:17,394 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 228 transitions. [2022-04-28 04:01:17,394 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:01:17,395 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:01:17,395 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 189 states. [2022-04-28 04:01:17,395 INFO L87 Difference]: Start difference. First operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 189 states. [2022-04-28 04:01:17,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:17,397 INFO L93 Difference]: Finished difference Result 189 states and 228 transitions. [2022-04-28 04:01:17,397 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 228 transitions. [2022-04-28 04:01:17,397 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:01:17,397 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:01:17,397 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:01:17,397 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:01:17,397 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 157 states have (on average 1.2229299363057324) internal successors, (192), 160 states have internal predecessors, (192), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:17,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 209 transitions. [2022-04-28 04:01:17,399 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 209 transitions. Word has length 49 [2022-04-28 04:01:17,399 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:01:17,399 INFO L495 AbstractCegarLoop]: Abstraction has 172 states and 209 transitions. [2022-04-28 04:01:17,399 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 29 states have (on average 1.4827586206896552) internal successors, (43), 27 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:17,399 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 209 transitions. [2022-04-28 04:01:17,887 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 209 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:01:17,887 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 209 transitions. [2022-04-28 04:01:17,888 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 04:01:17,888 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:01:17,888 INFO L195 NwaCegarLoop]: trace histogram [9, 9, 8, 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:01:17,905 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (38)] Ended with exit code 0 [2022-04-28 04:01:18,091 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 38 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable44 [2022-04-28 04:01:18,093 INFO L420 AbstractCegarLoop]: === Iteration 46 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:01:18,093 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:01:18,093 INFO L85 PathProgramCache]: Analyzing trace with hash -1753798755, now seen corresponding path program 36 times [2022-04-28 04:01:18,094 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:01:18,094 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [284686866] [2022-04-28 04:01:18,290 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:01:22,391 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:01:22,502 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:01:22,504 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:01:22,507 INFO L85 PathProgramCache]: Analyzing trace with hash -820626111, now seen corresponding path program 1 times [2022-04-28 04:01:22,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:01:22,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1258853863] [2022-04-28 04:01:22,508 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:01:22,508 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:01:22,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:22,689 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:01:22,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:22,694 INFO L290 TraceCheckUtils]: 0: Hoare triple {50298#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,694 INFO L290 TraceCheckUtils]: 1: Hoare triple {50285#(<= 20 ~SIZE~0)} assume true; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,695 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {50285#(<= 20 ~SIZE~0)} {50280#true} #90#return; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,695 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:01:22,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:22,697 INFO L290 TraceCheckUtils]: 0: Hoare triple {50280#true} ~cond := #in~cond; {50280#true} is VALID [2022-04-28 04:01:22,697 INFO L290 TraceCheckUtils]: 1: Hoare triple {50280#true} assume !(0 == ~cond); {50280#true} is VALID [2022-04-28 04:01:22,697 INFO L290 TraceCheckUtils]: 2: Hoare triple {50280#true} assume true; {50280#true} is VALID [2022-04-28 04:01:22,698 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {50280#true} {50285#(<= 20 ~SIZE~0)} #86#return; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,698 INFO L272 TraceCheckUtils]: 0: Hoare triple {50280#true} call ULTIMATE.init(); {50298#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:01:22,698 INFO L290 TraceCheckUtils]: 1: Hoare triple {50298#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,699 INFO L290 TraceCheckUtils]: 2: Hoare triple {50285#(<= 20 ~SIZE~0)} assume true; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,699 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {50285#(<= 20 ~SIZE~0)} {50280#true} #90#return; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,699 INFO L272 TraceCheckUtils]: 4: Hoare triple {50285#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,699 INFO L290 TraceCheckUtils]: 5: Hoare triple {50285#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,700 INFO L272 TraceCheckUtils]: 6: Hoare triple {50285#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {50280#true} is VALID [2022-04-28 04:01:22,700 INFO L290 TraceCheckUtils]: 7: Hoare triple {50280#true} ~cond := #in~cond; {50280#true} is VALID [2022-04-28 04:01:22,700 INFO L290 TraceCheckUtils]: 8: Hoare triple {50280#true} assume !(0 == ~cond); {50280#true} is VALID [2022-04-28 04:01:22,700 INFO L290 TraceCheckUtils]: 9: Hoare triple {50280#true} assume true; {50280#true} is VALID [2022-04-28 04:01:22,700 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {50280#true} {50285#(<= 20 ~SIZE~0)} #86#return; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,700 INFO L290 TraceCheckUtils]: 11: Hoare triple {50285#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {50290#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:01:22,701 INFO L290 TraceCheckUtils]: 12: Hoare triple {50290#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {50291#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:01:22,702 INFO L290 TraceCheckUtils]: 13: Hoare triple {50291#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [254] L25-3-->L25-4_primed: Formula: (let ((.cse2 (<= v_~last~0_397 v_main_~c~0_926)) (.cse0 (= v_main_~c~0_926 v_main_~c~0_925)) (.cse1 (= v_main_~st~0_496 v_main_~st~0_495))) (or (and (= v_~SIZE~0_357 v_~SIZE~0_357) (= |v_main_#t~post5_516| |v_main_#t~post5_514|) (= v_~last~0_397 v_~last~0_397) .cse0 .cse1) (and (< v_main_~c~0_925 (+ v_~SIZE~0_357 1)) .cse2 (< v_main_~c~0_926 v_main_~c~0_925) (= v_main_~st~0_495 0)) (and (= |v_main_#t~post5_514| |v_main_#t~post5_516|) (or (not (< v_main_~c~0_926 v_~SIZE~0_357)) (not .cse2)) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_357, main_~c~0=v_main_~c~0_926, main_#t~post5=|v_main_#t~post5_516|, main_~st~0=v_main_~st~0_496, ~last~0=v_~last~0_397} OutVars{~SIZE~0=v_~SIZE~0_357, main_#t~post5=|v_main_#t~post5_514|, main_~c~0=v_main_~c~0_925, main_~st~0=v_main_~st~0_495, ~last~0=v_~last~0_397} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {50292#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:01:22,703 INFO L290 TraceCheckUtils]: 14: Hoare triple {50292#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [255] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {50292#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:01:22,703 INFO L290 TraceCheckUtils]: 15: Hoare triple {50292#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [256] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_928 v_main_~c~0_927))) (or (and (< v_main_~c~0_927 (+ v_~SIZE~0_358 1)) (< v_main_~c~0_928 v_main_~c~0_927) (< v_main_~c~0_927 (+ v_~last~0_398 1))) (and (= |v_main_#t~post5_515| |v_main_#t~post5_519|) (or (not (< v_main_~c~0_928 v_~last~0_398)) (not (< v_main_~c~0_928 v_~SIZE~0_358))) .cse0) (and (= v_~SIZE~0_358 v_~SIZE~0_358) (= v_~last~0_398 v_~last~0_398) .cse0 (= |v_main_#t~post5_519| |v_main_#t~post5_515|)))) InVars {~SIZE~0=v_~SIZE~0_358, main_~c~0=v_main_~c~0_928, main_#t~post5=|v_main_#t~post5_519|, ~last~0=v_~last~0_398} OutVars{~SIZE~0=v_~SIZE~0_358, main_#t~post5=|v_main_#t~post5_515|, main_~c~0=v_main_~c~0_927, ~last~0=v_~last~0_398} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {50292#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:01:22,704 INFO L290 TraceCheckUtils]: 16: Hoare triple {50292#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [253] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {50293#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:01:22,704 INFO L290 TraceCheckUtils]: 17: Hoare triple {50293#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {50294#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:22,705 INFO L290 TraceCheckUtils]: 18: Hoare triple {50294#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {50294#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:22,706 INFO L290 TraceCheckUtils]: 19: Hoare triple {50294#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {50295#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:22,707 INFO L290 TraceCheckUtils]: 20: Hoare triple {50295#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {50295#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:22,707 INFO L272 TraceCheckUtils]: 21: Hoare triple {50295#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {50296#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:01:22,708 INFO L290 TraceCheckUtils]: 22: Hoare triple {50296#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {50297#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:01:22,708 INFO L290 TraceCheckUtils]: 23: Hoare triple {50297#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {50281#false} is VALID [2022-04-28 04:01:22,708 INFO L290 TraceCheckUtils]: 24: Hoare triple {50281#false} assume !false; {50281#false} is VALID [2022-04-28 04:01:22,708 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:01:22,708 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:01:22,708 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1258853863] [2022-04-28 04:01:22,708 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1258853863] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:01:22,709 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1483032280] [2022-04-28 04:01:22,709 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:01:22,709 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:01:22,709 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:01:22,710 INFO L229 MonitoredProcess]: Starting monitored process 39 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:01:22,710 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (39)] Waiting until timeout for monitored process [2022-04-28 04:01:22,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:22,740 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:01:22,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:22,745 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:01:22,957 INFO L272 TraceCheckUtils]: 0: Hoare triple {50280#true} call ULTIMATE.init(); {50280#true} is VALID [2022-04-28 04:01:22,958 INFO L290 TraceCheckUtils]: 1: Hoare triple {50280#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,958 INFO L290 TraceCheckUtils]: 2: Hoare triple {50285#(<= 20 ~SIZE~0)} assume true; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,958 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {50285#(<= 20 ~SIZE~0)} {50280#true} #90#return; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,959 INFO L272 TraceCheckUtils]: 4: Hoare triple {50285#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,959 INFO L290 TraceCheckUtils]: 5: Hoare triple {50285#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,959 INFO L272 TraceCheckUtils]: 6: Hoare triple {50285#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,960 INFO L290 TraceCheckUtils]: 7: Hoare triple {50285#(<= 20 ~SIZE~0)} ~cond := #in~cond; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,960 INFO L290 TraceCheckUtils]: 8: Hoare triple {50285#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,960 INFO L290 TraceCheckUtils]: 9: Hoare triple {50285#(<= 20 ~SIZE~0)} assume true; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,961 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {50285#(<= 20 ~SIZE~0)} {50285#(<= 20 ~SIZE~0)} #86#return; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,961 INFO L290 TraceCheckUtils]: 11: Hoare triple {50285#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:22,961 INFO L290 TraceCheckUtils]: 12: Hoare triple {50285#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {50338#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:01:22,962 INFO L290 TraceCheckUtils]: 13: Hoare triple {50338#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [254] L25-3-->L25-4_primed: Formula: (let ((.cse2 (<= v_~last~0_397 v_main_~c~0_926)) (.cse0 (= v_main_~c~0_926 v_main_~c~0_925)) (.cse1 (= v_main_~st~0_496 v_main_~st~0_495))) (or (and (= v_~SIZE~0_357 v_~SIZE~0_357) (= |v_main_#t~post5_516| |v_main_#t~post5_514|) (= v_~last~0_397 v_~last~0_397) .cse0 .cse1) (and (< v_main_~c~0_925 (+ v_~SIZE~0_357 1)) .cse2 (< v_main_~c~0_926 v_main_~c~0_925) (= v_main_~st~0_495 0)) (and (= |v_main_#t~post5_514| |v_main_#t~post5_516|) (or (not (< v_main_~c~0_926 v_~SIZE~0_357)) (not .cse2)) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_357, main_~c~0=v_main_~c~0_926, main_#t~post5=|v_main_#t~post5_516|, main_~st~0=v_main_~st~0_496, ~last~0=v_~last~0_397} OutVars{~SIZE~0=v_~SIZE~0_357, main_#t~post5=|v_main_#t~post5_514|, main_~c~0=v_main_~c~0_925, main_~st~0=v_main_~st~0_495, ~last~0=v_~last~0_397} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {50342#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:01:22,962 INFO L290 TraceCheckUtils]: 14: Hoare triple {50342#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [255] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {50342#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:01:22,963 INFO L290 TraceCheckUtils]: 15: Hoare triple {50342#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [256] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_928 v_main_~c~0_927))) (or (and (< v_main_~c~0_927 (+ v_~SIZE~0_358 1)) (< v_main_~c~0_928 v_main_~c~0_927) (< v_main_~c~0_927 (+ v_~last~0_398 1))) (and (= |v_main_#t~post5_515| |v_main_#t~post5_519|) (or (not (< v_main_~c~0_928 v_~last~0_398)) (not (< v_main_~c~0_928 v_~SIZE~0_358))) .cse0) (and (= v_~SIZE~0_358 v_~SIZE~0_358) (= v_~last~0_398 v_~last~0_398) .cse0 (= |v_main_#t~post5_519| |v_main_#t~post5_515|)))) InVars {~SIZE~0=v_~SIZE~0_358, main_~c~0=v_main_~c~0_928, main_#t~post5=|v_main_#t~post5_519|, ~last~0=v_~last~0_398} OutVars{~SIZE~0=v_~SIZE~0_358, main_#t~post5=|v_main_#t~post5_515|, main_~c~0=v_main_~c~0_927, ~last~0=v_~last~0_398} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {50342#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:01:22,964 INFO L290 TraceCheckUtils]: 16: Hoare triple {50342#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [253] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {50352#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:01:22,964 INFO L290 TraceCheckUtils]: 17: Hoare triple {50352#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {50281#false} is VALID [2022-04-28 04:01:22,964 INFO L290 TraceCheckUtils]: 18: Hoare triple {50281#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {50281#false} is VALID [2022-04-28 04:01:22,964 INFO L290 TraceCheckUtils]: 19: Hoare triple {50281#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {50281#false} is VALID [2022-04-28 04:01:22,964 INFO L290 TraceCheckUtils]: 20: Hoare triple {50281#false} assume !(~d~0 == ~SIZE~0); {50281#false} is VALID [2022-04-28 04:01:22,964 INFO L272 TraceCheckUtils]: 21: Hoare triple {50281#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {50281#false} is VALID [2022-04-28 04:01:22,964 INFO L290 TraceCheckUtils]: 22: Hoare triple {50281#false} ~cond := #in~cond; {50281#false} is VALID [2022-04-28 04:01:22,965 INFO L290 TraceCheckUtils]: 23: Hoare triple {50281#false} assume 0 == ~cond; {50281#false} is VALID [2022-04-28 04:01:22,965 INFO L290 TraceCheckUtils]: 24: Hoare triple {50281#false} assume !false; {50281#false} is VALID [2022-04-28 04:01:22,965 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:01:22,965 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:01:23,348 INFO L290 TraceCheckUtils]: 24: Hoare triple {50281#false} assume !false; {50281#false} is VALID [2022-04-28 04:01:23,349 INFO L290 TraceCheckUtils]: 23: Hoare triple {50281#false} assume 0 == ~cond; {50281#false} is VALID [2022-04-28 04:01:23,349 INFO L290 TraceCheckUtils]: 22: Hoare triple {50281#false} ~cond := #in~cond; {50281#false} is VALID [2022-04-28 04:01:23,349 INFO L272 TraceCheckUtils]: 21: Hoare triple {50281#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {50281#false} is VALID [2022-04-28 04:01:23,349 INFO L290 TraceCheckUtils]: 20: Hoare triple {50281#false} assume !(~d~0 == ~SIZE~0); {50281#false} is VALID [2022-04-28 04:01:23,349 INFO L290 TraceCheckUtils]: 19: Hoare triple {50281#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {50281#false} is VALID [2022-04-28 04:01:23,349 INFO L290 TraceCheckUtils]: 18: Hoare triple {50281#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {50281#false} is VALID [2022-04-28 04:01:23,349 INFO L290 TraceCheckUtils]: 17: Hoare triple {50398#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {50281#false} is VALID [2022-04-28 04:01:23,350 INFO L290 TraceCheckUtils]: 16: Hoare triple {50402#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [253] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {50398#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:01:23,350 INFO L290 TraceCheckUtils]: 15: Hoare triple {50402#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [256] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_928 v_main_~c~0_927))) (or (and (< v_main_~c~0_927 (+ v_~SIZE~0_358 1)) (< v_main_~c~0_928 v_main_~c~0_927) (< v_main_~c~0_927 (+ v_~last~0_398 1))) (and (= |v_main_#t~post5_515| |v_main_#t~post5_519|) (or (not (< v_main_~c~0_928 v_~last~0_398)) (not (< v_main_~c~0_928 v_~SIZE~0_358))) .cse0) (and (= v_~SIZE~0_358 v_~SIZE~0_358) (= v_~last~0_398 v_~last~0_398) .cse0 (= |v_main_#t~post5_519| |v_main_#t~post5_515|)))) InVars {~SIZE~0=v_~SIZE~0_358, main_~c~0=v_main_~c~0_928, main_#t~post5=|v_main_#t~post5_519|, ~last~0=v_~last~0_398} OutVars{~SIZE~0=v_~SIZE~0_358, main_#t~post5=|v_main_#t~post5_515|, main_~c~0=v_main_~c~0_927, ~last~0=v_~last~0_398} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {50402#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:23,351 INFO L290 TraceCheckUtils]: 14: Hoare triple {50402#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [255] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {50402#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:23,352 INFO L290 TraceCheckUtils]: 13: Hoare triple {50412#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [254] L25-3-->L25-4_primed: Formula: (let ((.cse2 (<= v_~last~0_397 v_main_~c~0_926)) (.cse0 (= v_main_~c~0_926 v_main_~c~0_925)) (.cse1 (= v_main_~st~0_496 v_main_~st~0_495))) (or (and (= v_~SIZE~0_357 v_~SIZE~0_357) (= |v_main_#t~post5_516| |v_main_#t~post5_514|) (= v_~last~0_397 v_~last~0_397) .cse0 .cse1) (and (< v_main_~c~0_925 (+ v_~SIZE~0_357 1)) .cse2 (< v_main_~c~0_926 v_main_~c~0_925) (= v_main_~st~0_495 0)) (and (= |v_main_#t~post5_514| |v_main_#t~post5_516|) (or (not (< v_main_~c~0_926 v_~SIZE~0_357)) (not .cse2)) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_357, main_~c~0=v_main_~c~0_926, main_#t~post5=|v_main_#t~post5_516|, main_~st~0=v_main_~st~0_496, ~last~0=v_~last~0_397} OutVars{~SIZE~0=v_~SIZE~0_357, main_#t~post5=|v_main_#t~post5_514|, main_~c~0=v_main_~c~0_925, main_~st~0=v_main_~st~0_495, ~last~0=v_~last~0_397} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {50402#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:23,352 INFO L290 TraceCheckUtils]: 12: Hoare triple {50416#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {50412#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:01:23,352 INFO L290 TraceCheckUtils]: 11: Hoare triple {50416#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {50416#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:23,353 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {50280#true} {50416#(< 1 ~SIZE~0)} #86#return; {50416#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:23,353 INFO L290 TraceCheckUtils]: 9: Hoare triple {50280#true} assume true; {50280#true} is VALID [2022-04-28 04:01:23,353 INFO L290 TraceCheckUtils]: 8: Hoare triple {50280#true} assume !(0 == ~cond); {50280#true} is VALID [2022-04-28 04:01:23,353 INFO L290 TraceCheckUtils]: 7: Hoare triple {50280#true} ~cond := #in~cond; {50280#true} is VALID [2022-04-28 04:01:23,353 INFO L272 TraceCheckUtils]: 6: Hoare triple {50416#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {50280#true} is VALID [2022-04-28 04:01:23,353 INFO L290 TraceCheckUtils]: 5: Hoare triple {50416#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {50416#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:23,354 INFO L272 TraceCheckUtils]: 4: Hoare triple {50416#(< 1 ~SIZE~0)} call #t~ret7 := main(); {50416#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:23,354 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {50416#(< 1 ~SIZE~0)} {50280#true} #90#return; {50416#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:23,354 INFO L290 TraceCheckUtils]: 2: Hoare triple {50416#(< 1 ~SIZE~0)} assume true; {50416#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:23,355 INFO L290 TraceCheckUtils]: 1: Hoare triple {50280#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {50416#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:23,355 INFO L272 TraceCheckUtils]: 0: Hoare triple {50280#true} call ULTIMATE.init(); {50280#true} is VALID [2022-04-28 04:01:23,355 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:01:23,355 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1483032280] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:01:23,355 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:01:23,355 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:01:24,269 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:01:24,269 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [284686866] [2022-04-28 04:01:24,269 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [284686866] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:01:24,269 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:01:24,269 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [30] imperfect sequences [] total 30 [2022-04-28 04:01:24,269 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [728328939] [2022-04-28 04:01:24,269 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:01:24,269 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 30 states have (on average 1.4333333333333333) internal successors, (43), 28 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 49 [2022-04-28 04:01:24,269 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:01:24,270 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 30 states, 30 states have (on average 1.4333333333333333) internal successors, (43), 28 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:24,306 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:01:24,306 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-28 04:01:24,306 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:01:24,307 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-28 04:01:24,307 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=266, Invalid=1216, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 04:01:24,307 INFO L87 Difference]: Start difference. First operand 172 states and 209 transitions. Second operand has 30 states, 30 states have (on average 1.4333333333333333) internal successors, (43), 28 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:26,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:26,229 INFO L93 Difference]: Finished difference Result 287 states and 355 transitions. [2022-04-28 04:01:26,229 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-28 04:01:26,230 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 30 states have (on average 1.4333333333333333) internal successors, (43), 28 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 49 [2022-04-28 04:01:26,230 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:01:26,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 1.4333333333333333) internal successors, (43), 28 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:26,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 102 transitions. [2022-04-28 04:01:26,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 1.4333333333333333) internal successors, (43), 28 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:26,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 102 transitions. [2022-04-28 04:01:26,231 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 102 transitions. [2022-04-28 04:01:26,276 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:01:26,278 INFO L225 Difference]: With dead ends: 287 [2022-04-28 04:01:26,278 INFO L226 Difference]: Without dead ends: 189 [2022-04-28 04:01:26,278 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 48 SyntacticMatches, 8 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 568 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=278, Invalid=1362, Unknown=0, NotChecked=0, Total=1640 [2022-04-28 04:01:26,278 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 60 mSDsluCounter, 58 mSDsCounter, 0 mSdLazyCounter, 1421 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 61 SdHoareTripleChecker+Valid, 79 SdHoareTripleChecker+Invalid, 1432 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1421 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 04:01:26,279 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [61 Valid, 79 Invalid, 1432 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1421 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 04:01:26,279 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 189 states. [2022-04-28 04:01:26,652 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 189 to 175. [2022-04-28 04:01:26,652 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:01:26,652 INFO L82 GeneralOperation]: Start isEquivalent. First operand 189 states. Second operand has 175 states, 160 states have (on average 1.225) internal successors, (196), 163 states have internal predecessors, (196), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:26,652 INFO L74 IsIncluded]: Start isIncluded. First operand 189 states. Second operand has 175 states, 160 states have (on average 1.225) internal successors, (196), 163 states have internal predecessors, (196), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:26,652 INFO L87 Difference]: Start difference. First operand 189 states. Second operand has 175 states, 160 states have (on average 1.225) internal successors, (196), 163 states have internal predecessors, (196), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:26,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:26,654 INFO L93 Difference]: Finished difference Result 189 states and 229 transitions. [2022-04-28 04:01:26,654 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 229 transitions. [2022-04-28 04:01:26,654 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:01:26,654 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:01:26,655 INFO L74 IsIncluded]: Start isIncluded. First operand has 175 states, 160 states have (on average 1.225) internal successors, (196), 163 states have internal predecessors, (196), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 189 states. [2022-04-28 04:01:26,655 INFO L87 Difference]: Start difference. First operand has 175 states, 160 states have (on average 1.225) internal successors, (196), 163 states have internal predecessors, (196), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 189 states. [2022-04-28 04:01:26,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:26,657 INFO L93 Difference]: Finished difference Result 189 states and 229 transitions. [2022-04-28 04:01:26,657 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 229 transitions. [2022-04-28 04:01:26,657 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:01:26,657 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:01:26,657 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:01:26,657 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:01:26,657 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 175 states, 160 states have (on average 1.225) internal successors, (196), 163 states have internal predecessors, (196), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:26,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 175 states to 175 states and 213 transitions. [2022-04-28 04:01:26,659 INFO L78 Accepts]: Start accepts. Automaton has 175 states and 213 transitions. Word has length 49 [2022-04-28 04:01:26,659 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:01:26,659 INFO L495 AbstractCegarLoop]: Abstraction has 175 states and 213 transitions. [2022-04-28 04:01:26,659 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 30 states, 30 states have (on average 1.4333333333333333) internal successors, (43), 28 states have internal predecessors, (43), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:26,659 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 175 states and 213 transitions. [2022-04-28 04:01:27,098 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 213 edges. 213 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:01:27,098 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 213 transitions. [2022-04-28 04:01:27,098 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 04:01:27,098 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:01:27,098 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:01:27,114 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (39)] Forceful destruction successful, exit code 0 [2022-04-28 04:01:27,314 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 39 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable45 [2022-04-28 04:01:27,314 INFO L420 AbstractCegarLoop]: === Iteration 47 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:01:27,314 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:01:27,315 INFO L85 PathProgramCache]: Analyzing trace with hash 207767157, now seen corresponding path program 3 times [2022-04-28 04:01:27,315 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:01:27,315 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1579820676] [2022-04-28 04:01:27,581 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 4 AssignedVariables, 1 ReadonlyVariables, Eigenvalues: {0={1=3}, 1={1=1, 2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:01:27,744 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 4 AssignedVariables, 1 ReadonlyVariables, Eigenvalues: {0={1=3}, 1={1=1, 2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:01:27,744 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:01:27,745 INFO L85 PathProgramCache]: Analyzing trace with hash -1948738128, now seen corresponding path program 1 times [2022-04-28 04:01:27,745 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:01:27,745 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [268722899] [2022-04-28 04:01:27,745 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:01:27,745 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:01:27,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:27,786 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:01:27,788 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:27,792 INFO L290 TraceCheckUtils]: 0: Hoare triple {51796#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,792 INFO L290 TraceCheckUtils]: 1: Hoare triple {51787#(<= 20 ~SIZE~0)} assume true; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,792 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {51787#(<= 20 ~SIZE~0)} {51782#true} #90#return; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,792 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:01:27,793 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:27,797 INFO L290 TraceCheckUtils]: 0: Hoare triple {51782#true} ~cond := #in~cond; {51782#true} is VALID [2022-04-28 04:01:27,798 INFO L290 TraceCheckUtils]: 1: Hoare triple {51782#true} assume !(0 == ~cond); {51782#true} is VALID [2022-04-28 04:01:27,798 INFO L290 TraceCheckUtils]: 2: Hoare triple {51782#true} assume true; {51782#true} is VALID [2022-04-28 04:01:27,798 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51782#true} {51787#(<= 20 ~SIZE~0)} #86#return; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,798 INFO L272 TraceCheckUtils]: 0: Hoare triple {51782#true} call ULTIMATE.init(); {51796#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:01:27,799 INFO L290 TraceCheckUtils]: 1: Hoare triple {51796#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,799 INFO L290 TraceCheckUtils]: 2: Hoare triple {51787#(<= 20 ~SIZE~0)} assume true; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,799 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51787#(<= 20 ~SIZE~0)} {51782#true} #90#return; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,799 INFO L272 TraceCheckUtils]: 4: Hoare triple {51787#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,800 INFO L290 TraceCheckUtils]: 5: Hoare triple {51787#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,800 INFO L272 TraceCheckUtils]: 6: Hoare triple {51787#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {51782#true} is VALID [2022-04-28 04:01:27,800 INFO L290 TraceCheckUtils]: 7: Hoare triple {51782#true} ~cond := #in~cond; {51782#true} is VALID [2022-04-28 04:01:27,800 INFO L290 TraceCheckUtils]: 8: Hoare triple {51782#true} assume !(0 == ~cond); {51782#true} is VALID [2022-04-28 04:01:27,800 INFO L290 TraceCheckUtils]: 9: Hoare triple {51782#true} assume true; {51782#true} is VALID [2022-04-28 04:01:27,800 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {51782#true} {51787#(<= 20 ~SIZE~0)} #86#return; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,800 INFO L290 TraceCheckUtils]: 11: Hoare triple {51787#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,801 INFO L290 TraceCheckUtils]: 12: Hoare triple {51787#(<= 20 ~SIZE~0)} [258] L42-->L25-3_primed: Formula: (let ((.cse0 (= 3 v_~SIZE~0_367)) (.cse3 (= v_~SIZE~0_367 v_main_~d~0_50)) (.cse2 (<= v_~last~0_407 0)) (.cse4 (= v_main_~a~0_120 v_main_~b~0_116)) (.cse5 (= v_main_~a~0_120 v_main_~a~0_119)) (.cse6 (= v_main_~b~0_116 v_main_~b~0_115))) (or (let ((.cse1 (div (+ v_main_~a~0_120 (* (- 1) v_main_~b~0_115)) (- 2)))) (and (= (mod (+ v_main_~a~0_120 v_main_~b~0_115) 2) 0) .cse0 (= v_~SIZE~0_367 v_main_~c~0_953) (< 0 .cse1) (= v_main_~st~0_505 0) (= v_main_~a~0_119 (+ v_main_~a~0_120 (* 2 .cse1))) .cse2 (not .cse3) .cse4)) (and .cse5 (or (not .cse0) .cse3 (not .cse2) (not .cse4)) .cse6 (= v_main_~st~0_505 v_main_~st~0_509) (= |v_main_#t~post5_527| |v_main_#t~post5_530|) (= v_main_~c~0_953 v_main_~c~0_957)) (and .cse5 .cse6 (= |v_main_#t~post5_530| |v_main_#t~post5_527|) (= v_~SIZE~0_367 v_~SIZE~0_367) (= v_~last~0_407 v_~last~0_407) (= v_main_~c~0_957 v_main_~c~0_953) (= v_main_~st~0_509 v_main_~st~0_505) (= v_main_~d~0_50 v_main_~d~0_50)))) InVars {~SIZE~0=v_~SIZE~0_367, main_~c~0=v_main_~c~0_957, main_#t~post5=|v_main_#t~post5_530|, main_~d~0=v_main_~d~0_50, main_~st~0=v_main_~st~0_509, main_~b~0=v_main_~b~0_116, ~last~0=v_~last~0_407, main_~a~0=v_main_~a~0_120} OutVars{~SIZE~0=v_~SIZE~0_367, main_~c~0=v_main_~c~0_953, main_#t~post5=|v_main_#t~post5_527|, main_~d~0=v_main_~d~0_50, main_~st~0=v_main_~st~0_505, main_~b~0=v_main_~b~0_115, ~last~0=v_~last~0_407, main_~a~0=v_main_~a~0_119} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,801 INFO L290 TraceCheckUtils]: 13: Hoare triple {51787#(<= 20 ~SIZE~0)} [259] L25-3_primed-->L42: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,801 INFO L290 TraceCheckUtils]: 14: Hoare triple {51787#(<= 20 ~SIZE~0)} [260] L42-->L25-3_primed: Formula: (let ((.cse5 (= v_main_~a~0_120 v_main_~a~0_119)) (.cse1 (= 3 v_~SIZE~0_367)) (.cse3 (= v_~SIZE~0_367 v_main_~d~0_50)) (.cse2 (<= v_~last~0_407 0)) (.cse4 (= v_main_~a~0_120 v_main_~b~0_116)) (.cse6 (= v_main_~b~0_116 v_main_~b~0_115)) (.cse7 (= v_main_~st~0_512 v_main_~st~0_505)) (.cse8 (= v_main_~c~0_960 v_main_~c~0_953))) (or (let ((.cse0 (div (+ v_main_~a~0_119 (* (- 1) v_main_~a~0_120)) 2))) (and (< 0 .cse0) .cse1 (= v_~SIZE~0_367 v_main_~c~0_953) (= v_main_~st~0_505 0) .cse2 (= v_main_~b~0_115 (+ (* 2 .cse0) v_main_~a~0_120)) (not .cse3) (= (mod (+ v_main_~a~0_120 v_main_~a~0_119) 2) 0) .cse4)) (and .cse5 (= |v_main_#t~post5_533| |v_main_#t~post5_527|) .cse6 .cse7 (= v_~SIZE~0_367 v_~SIZE~0_367) (= v_~last~0_407 v_~last~0_407) (= v_main_~d~0_50 v_main_~d~0_50) .cse8) (and .cse5 (= |v_main_#t~post5_527| |v_main_#t~post5_533|) (or (not .cse1) .cse3 (not .cse2) (not .cse4)) .cse6 .cse7 .cse8))) InVars {~SIZE~0=v_~SIZE~0_367, main_~c~0=v_main_~c~0_960, main_#t~post5=|v_main_#t~post5_533|, main_~d~0=v_main_~d~0_50, main_~st~0=v_main_~st~0_512, main_~b~0=v_main_~b~0_116, ~last~0=v_~last~0_407, main_~a~0=v_main_~a~0_120} OutVars{~SIZE~0=v_~SIZE~0_367, main_~c~0=v_main_~c~0_953, main_#t~post5=|v_main_#t~post5_527|, main_~d~0=v_main_~d~0_50, main_~st~0=v_main_~st~0_505, main_~b~0=v_main_~b~0_115, ~last~0=v_~last~0_407, main_~a~0=v_main_~a~0_119} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,801 INFO L290 TraceCheckUtils]: 15: Hoare triple {51787#(<= 20 ~SIZE~0)} [257] L25-3_primed-->L25-3: Formula: (and (= 0 v_main_~c~0_10) (= v_main_~st~0_7 1)) InVars {} OutVars{main_~c~0=v_main_~c~0_10, main_~st~0=v_main_~st~0_7} AuxVars[] AssignedVars[main_~c~0, main_~st~0] {51792#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:01:27,801 INFO L290 TraceCheckUtils]: 16: Hoare triple {51792#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} assume !!(~c~0 < ~SIZE~0); {51792#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:01:27,802 INFO L290 TraceCheckUtils]: 17: Hoare triple {51792#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} assume ~c~0 >= ~last~0;~st~0 := 0; {51792#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:01:27,802 INFO L290 TraceCheckUtils]: 18: Hoare triple {51792#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {51793#(<= (+ 19 main_~c~0) ~SIZE~0)} is VALID [2022-04-28 04:01:27,802 INFO L290 TraceCheckUtils]: 19: Hoare triple {51793#(<= (+ 19 main_~c~0) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {51793#(<= (+ 19 main_~c~0) ~SIZE~0)} is VALID [2022-04-28 04:01:27,802 INFO L290 TraceCheckUtils]: 20: Hoare triple {51793#(<= (+ 19 main_~c~0) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {51793#(<= (+ 19 main_~c~0) ~SIZE~0)} is VALID [2022-04-28 04:01:27,803 INFO L290 TraceCheckUtils]: 21: Hoare triple {51793#(<= (+ 19 main_~c~0) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {51794#(<= (+ main_~c~0 18) ~SIZE~0)} is VALID [2022-04-28 04:01:27,803 INFO L290 TraceCheckUtils]: 22: Hoare triple {51794#(<= (+ main_~c~0 18) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {51794#(<= (+ main_~c~0 18) ~SIZE~0)} is VALID [2022-04-28 04:01:27,803 INFO L290 TraceCheckUtils]: 23: Hoare triple {51794#(<= (+ main_~c~0 18) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {51794#(<= (+ main_~c~0 18) ~SIZE~0)} is VALID [2022-04-28 04:01:27,803 INFO L290 TraceCheckUtils]: 24: Hoare triple {51794#(<= (+ main_~c~0 18) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {51795#(<= (+ main_~c~0 17) ~SIZE~0)} is VALID [2022-04-28 04:01:27,804 INFO L290 TraceCheckUtils]: 25: Hoare triple {51795#(<= (+ main_~c~0 17) ~SIZE~0)} assume !(~c~0 < ~SIZE~0); {51783#false} is VALID [2022-04-28 04:01:27,804 INFO L290 TraceCheckUtils]: 26: Hoare triple {51783#false} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {51783#false} is VALID [2022-04-28 04:01:27,804 INFO L290 TraceCheckUtils]: 27: Hoare triple {51783#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {51783#false} is VALID [2022-04-28 04:01:27,804 INFO L290 TraceCheckUtils]: 28: Hoare triple {51783#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {51783#false} is VALID [2022-04-28 04:01:27,804 INFO L290 TraceCheckUtils]: 29: Hoare triple {51783#false} assume !(~d~0 == ~SIZE~0); {51783#false} is VALID [2022-04-28 04:01:27,804 INFO L272 TraceCheckUtils]: 30: Hoare triple {51783#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {51783#false} is VALID [2022-04-28 04:01:27,804 INFO L290 TraceCheckUtils]: 31: Hoare triple {51783#false} ~cond := #in~cond; {51783#false} is VALID [2022-04-28 04:01:27,804 INFO L290 TraceCheckUtils]: 32: Hoare triple {51783#false} assume 0 == ~cond; {51783#false} is VALID [2022-04-28 04:01:27,804 INFO L290 TraceCheckUtils]: 33: Hoare triple {51783#false} assume !false; {51783#false} is VALID [2022-04-28 04:01:27,804 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 04:01:27,804 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:01:27,805 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [268722899] [2022-04-28 04:01:27,805 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [268722899] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:01:27,805 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2130315058] [2022-04-28 04:01:27,805 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:01:27,805 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:01:27,805 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:01:27,806 INFO L229 MonitoredProcess]: Starting monitored process 40 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:01:27,807 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (40)] Waiting until timeout for monitored process [2022-04-28 04:01:27,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:27,837 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-28 04:01:27,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:27,842 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:01:27,976 INFO L272 TraceCheckUtils]: 0: Hoare triple {51782#true} call ULTIMATE.init(); {51782#true} is VALID [2022-04-28 04:01:27,976 INFO L290 TraceCheckUtils]: 1: Hoare triple {51782#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,977 INFO L290 TraceCheckUtils]: 2: Hoare triple {51787#(<= 20 ~SIZE~0)} assume true; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,977 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51787#(<= 20 ~SIZE~0)} {51782#true} #90#return; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,977 INFO L272 TraceCheckUtils]: 4: Hoare triple {51787#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,977 INFO L290 TraceCheckUtils]: 5: Hoare triple {51787#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,978 INFO L272 TraceCheckUtils]: 6: Hoare triple {51787#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,978 INFO L290 TraceCheckUtils]: 7: Hoare triple {51787#(<= 20 ~SIZE~0)} ~cond := #in~cond; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,978 INFO L290 TraceCheckUtils]: 8: Hoare triple {51787#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,978 INFO L290 TraceCheckUtils]: 9: Hoare triple {51787#(<= 20 ~SIZE~0)} assume true; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,978 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {51787#(<= 20 ~SIZE~0)} {51787#(<= 20 ~SIZE~0)} #86#return; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,979 INFO L290 TraceCheckUtils]: 11: Hoare triple {51787#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,979 INFO L290 TraceCheckUtils]: 12: Hoare triple {51787#(<= 20 ~SIZE~0)} [258] L42-->L25-3_primed: Formula: (let ((.cse0 (= 3 v_~SIZE~0_367)) (.cse3 (= v_~SIZE~0_367 v_main_~d~0_50)) (.cse2 (<= v_~last~0_407 0)) (.cse4 (= v_main_~a~0_120 v_main_~b~0_116)) (.cse5 (= v_main_~a~0_120 v_main_~a~0_119)) (.cse6 (= v_main_~b~0_116 v_main_~b~0_115))) (or (let ((.cse1 (div (+ v_main_~a~0_120 (* (- 1) v_main_~b~0_115)) (- 2)))) (and (= (mod (+ v_main_~a~0_120 v_main_~b~0_115) 2) 0) .cse0 (= v_~SIZE~0_367 v_main_~c~0_953) (< 0 .cse1) (= v_main_~st~0_505 0) (= v_main_~a~0_119 (+ v_main_~a~0_120 (* 2 .cse1))) .cse2 (not .cse3) .cse4)) (and .cse5 (or (not .cse0) .cse3 (not .cse2) (not .cse4)) .cse6 (= v_main_~st~0_505 v_main_~st~0_509) (= |v_main_#t~post5_527| |v_main_#t~post5_530|) (= v_main_~c~0_953 v_main_~c~0_957)) (and .cse5 .cse6 (= |v_main_#t~post5_530| |v_main_#t~post5_527|) (= v_~SIZE~0_367 v_~SIZE~0_367) (= v_~last~0_407 v_~last~0_407) (= v_main_~c~0_957 v_main_~c~0_953) (= v_main_~st~0_509 v_main_~st~0_505) (= v_main_~d~0_50 v_main_~d~0_50)))) InVars {~SIZE~0=v_~SIZE~0_367, main_~c~0=v_main_~c~0_957, main_#t~post5=|v_main_#t~post5_530|, main_~d~0=v_main_~d~0_50, main_~st~0=v_main_~st~0_509, main_~b~0=v_main_~b~0_116, ~last~0=v_~last~0_407, main_~a~0=v_main_~a~0_120} OutVars{~SIZE~0=v_~SIZE~0_367, main_~c~0=v_main_~c~0_953, main_#t~post5=|v_main_#t~post5_527|, main_~d~0=v_main_~d~0_50, main_~st~0=v_main_~st~0_505, main_~b~0=v_main_~b~0_115, ~last~0=v_~last~0_407, main_~a~0=v_main_~a~0_119} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,979 INFO L290 TraceCheckUtils]: 13: Hoare triple {51787#(<= 20 ~SIZE~0)} [259] L25-3_primed-->L42: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,979 INFO L290 TraceCheckUtils]: 14: Hoare triple {51787#(<= 20 ~SIZE~0)} [260] L42-->L25-3_primed: Formula: (let ((.cse5 (= v_main_~a~0_120 v_main_~a~0_119)) (.cse1 (= 3 v_~SIZE~0_367)) (.cse3 (= v_~SIZE~0_367 v_main_~d~0_50)) (.cse2 (<= v_~last~0_407 0)) (.cse4 (= v_main_~a~0_120 v_main_~b~0_116)) (.cse6 (= v_main_~b~0_116 v_main_~b~0_115)) (.cse7 (= v_main_~st~0_512 v_main_~st~0_505)) (.cse8 (= v_main_~c~0_960 v_main_~c~0_953))) (or (let ((.cse0 (div (+ v_main_~a~0_119 (* (- 1) v_main_~a~0_120)) 2))) (and (< 0 .cse0) .cse1 (= v_~SIZE~0_367 v_main_~c~0_953) (= v_main_~st~0_505 0) .cse2 (= v_main_~b~0_115 (+ (* 2 .cse0) v_main_~a~0_120)) (not .cse3) (= (mod (+ v_main_~a~0_120 v_main_~a~0_119) 2) 0) .cse4)) (and .cse5 (= |v_main_#t~post5_533| |v_main_#t~post5_527|) .cse6 .cse7 (= v_~SIZE~0_367 v_~SIZE~0_367) (= v_~last~0_407 v_~last~0_407) (= v_main_~d~0_50 v_main_~d~0_50) .cse8) (and .cse5 (= |v_main_#t~post5_527| |v_main_#t~post5_533|) (or (not .cse1) .cse3 (not .cse2) (not .cse4)) .cse6 .cse7 .cse8))) InVars {~SIZE~0=v_~SIZE~0_367, main_~c~0=v_main_~c~0_960, main_#t~post5=|v_main_#t~post5_533|, main_~d~0=v_main_~d~0_50, main_~st~0=v_main_~st~0_512, main_~b~0=v_main_~b~0_116, ~last~0=v_~last~0_407, main_~a~0=v_main_~a~0_120} OutVars{~SIZE~0=v_~SIZE~0_367, main_~c~0=v_main_~c~0_953, main_#t~post5=|v_main_#t~post5_527|, main_~d~0=v_main_~d~0_50, main_~st~0=v_main_~st~0_505, main_~b~0=v_main_~b~0_115, ~last~0=v_~last~0_407, main_~a~0=v_main_~a~0_119} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:27,980 INFO L290 TraceCheckUtils]: 15: Hoare triple {51787#(<= 20 ~SIZE~0)} [257] L25-3_primed-->L25-3: Formula: (and (= 0 v_main_~c~0_10) (= v_main_~st~0_7 1)) InVars {} OutVars{main_~c~0=v_main_~c~0_10, main_~st~0=v_main_~st~0_7} AuxVars[] AssignedVars[main_~c~0, main_~st~0] {51845#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:01:27,980 INFO L290 TraceCheckUtils]: 16: Hoare triple {51845#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} assume !!(~c~0 < ~SIZE~0); {51845#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:01:27,981 INFO L290 TraceCheckUtils]: 17: Hoare triple {51845#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} assume ~c~0 >= ~last~0;~st~0 := 0; {51845#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:01:27,981 INFO L290 TraceCheckUtils]: 18: Hoare triple {51845#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {51855#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} is VALID [2022-04-28 04:01:27,982 INFO L290 TraceCheckUtils]: 19: Hoare triple {51855#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} assume !!(~c~0 < ~SIZE~0); {51855#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} is VALID [2022-04-28 04:01:27,982 INFO L290 TraceCheckUtils]: 20: Hoare triple {51855#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} assume ~c~0 >= ~last~0;~st~0 := 0; {51855#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} is VALID [2022-04-28 04:01:27,982 INFO L290 TraceCheckUtils]: 21: Hoare triple {51855#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {51865#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} is VALID [2022-04-28 04:01:27,983 INFO L290 TraceCheckUtils]: 22: Hoare triple {51865#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} assume !!(~c~0 < ~SIZE~0); {51865#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} is VALID [2022-04-28 04:01:27,983 INFO L290 TraceCheckUtils]: 23: Hoare triple {51865#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} assume ~c~0 >= ~last~0;~st~0 := 0; {51865#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} is VALID [2022-04-28 04:01:27,984 INFO L290 TraceCheckUtils]: 24: Hoare triple {51865#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {51875#(and (<= main_~c~0 3) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:01:27,984 INFO L290 TraceCheckUtils]: 25: Hoare triple {51875#(and (<= main_~c~0 3) (<= 20 ~SIZE~0))} assume !(~c~0 < ~SIZE~0); {51783#false} is VALID [2022-04-28 04:01:27,984 INFO L290 TraceCheckUtils]: 26: Hoare triple {51783#false} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {51783#false} is VALID [2022-04-28 04:01:27,984 INFO L290 TraceCheckUtils]: 27: Hoare triple {51783#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {51783#false} is VALID [2022-04-28 04:01:27,984 INFO L290 TraceCheckUtils]: 28: Hoare triple {51783#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {51783#false} is VALID [2022-04-28 04:01:27,984 INFO L290 TraceCheckUtils]: 29: Hoare triple {51783#false} assume !(~d~0 == ~SIZE~0); {51783#false} is VALID [2022-04-28 04:01:27,984 INFO L272 TraceCheckUtils]: 30: Hoare triple {51783#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {51783#false} is VALID [2022-04-28 04:01:27,985 INFO L290 TraceCheckUtils]: 31: Hoare triple {51783#false} ~cond := #in~cond; {51783#false} is VALID [2022-04-28 04:01:27,985 INFO L290 TraceCheckUtils]: 32: Hoare triple {51783#false} assume 0 == ~cond; {51783#false} is VALID [2022-04-28 04:01:27,985 INFO L290 TraceCheckUtils]: 33: Hoare triple {51783#false} assume !false; {51783#false} is VALID [2022-04-28 04:01:27,985 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 04:01:27,985 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:01:28,154 INFO L290 TraceCheckUtils]: 33: Hoare triple {51783#false} assume !false; {51783#false} is VALID [2022-04-28 04:01:28,154 INFO L290 TraceCheckUtils]: 32: Hoare triple {51783#false} assume 0 == ~cond; {51783#false} is VALID [2022-04-28 04:01:28,154 INFO L290 TraceCheckUtils]: 31: Hoare triple {51783#false} ~cond := #in~cond; {51783#false} is VALID [2022-04-28 04:01:28,155 INFO L272 TraceCheckUtils]: 30: Hoare triple {51783#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {51783#false} is VALID [2022-04-28 04:01:28,155 INFO L290 TraceCheckUtils]: 29: Hoare triple {51783#false} assume !(~d~0 == ~SIZE~0); {51783#false} is VALID [2022-04-28 04:01:28,155 INFO L290 TraceCheckUtils]: 28: Hoare triple {51783#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {51783#false} is VALID [2022-04-28 04:01:28,155 INFO L290 TraceCheckUtils]: 27: Hoare triple {51783#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {51783#false} is VALID [2022-04-28 04:01:28,155 INFO L290 TraceCheckUtils]: 26: Hoare triple {51783#false} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {51783#false} is VALID [2022-04-28 04:01:28,155 INFO L290 TraceCheckUtils]: 25: Hoare triple {51927#(< main_~c~0 ~SIZE~0)} assume !(~c~0 < ~SIZE~0); {51783#false} is VALID [2022-04-28 04:01:28,156 INFO L290 TraceCheckUtils]: 24: Hoare triple {51931#(< (+ main_~c~0 1) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {51927#(< main_~c~0 ~SIZE~0)} is VALID [2022-04-28 04:01:28,156 INFO L290 TraceCheckUtils]: 23: Hoare triple {51931#(< (+ main_~c~0 1) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {51931#(< (+ main_~c~0 1) ~SIZE~0)} is VALID [2022-04-28 04:01:28,156 INFO L290 TraceCheckUtils]: 22: Hoare triple {51931#(< (+ main_~c~0 1) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {51931#(< (+ main_~c~0 1) ~SIZE~0)} is VALID [2022-04-28 04:01:28,157 INFO L290 TraceCheckUtils]: 21: Hoare triple {51941#(< (+ main_~c~0 2) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {51931#(< (+ main_~c~0 1) ~SIZE~0)} is VALID [2022-04-28 04:01:28,157 INFO L290 TraceCheckUtils]: 20: Hoare triple {51941#(< (+ main_~c~0 2) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {51941#(< (+ main_~c~0 2) ~SIZE~0)} is VALID [2022-04-28 04:01:28,157 INFO L290 TraceCheckUtils]: 19: Hoare triple {51941#(< (+ main_~c~0 2) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {51941#(< (+ main_~c~0 2) ~SIZE~0)} is VALID [2022-04-28 04:01:28,158 INFO L290 TraceCheckUtils]: 18: Hoare triple {51951#(< (+ main_~c~0 3) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {51941#(< (+ main_~c~0 2) ~SIZE~0)} is VALID [2022-04-28 04:01:28,158 INFO L290 TraceCheckUtils]: 17: Hoare triple {51951#(< (+ main_~c~0 3) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {51951#(< (+ main_~c~0 3) ~SIZE~0)} is VALID [2022-04-28 04:01:28,158 INFO L290 TraceCheckUtils]: 16: Hoare triple {51951#(< (+ main_~c~0 3) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {51951#(< (+ main_~c~0 3) ~SIZE~0)} is VALID [2022-04-28 04:01:28,159 INFO L290 TraceCheckUtils]: 15: Hoare triple {51961#(< 3 ~SIZE~0)} [257] L25-3_primed-->L25-3: Formula: (and (= 0 v_main_~c~0_10) (= v_main_~st~0_7 1)) InVars {} OutVars{main_~c~0=v_main_~c~0_10, main_~st~0=v_main_~st~0_7} AuxVars[] AssignedVars[main_~c~0, main_~st~0] {51951#(< (+ main_~c~0 3) ~SIZE~0)} is VALID [2022-04-28 04:01:28,159 INFO L290 TraceCheckUtils]: 14: Hoare triple {51961#(< 3 ~SIZE~0)} [260] L42-->L25-3_primed: Formula: (let ((.cse5 (= v_main_~a~0_120 v_main_~a~0_119)) (.cse1 (= 3 v_~SIZE~0_367)) (.cse3 (= v_~SIZE~0_367 v_main_~d~0_50)) (.cse2 (<= v_~last~0_407 0)) (.cse4 (= v_main_~a~0_120 v_main_~b~0_116)) (.cse6 (= v_main_~b~0_116 v_main_~b~0_115)) (.cse7 (= v_main_~st~0_512 v_main_~st~0_505)) (.cse8 (= v_main_~c~0_960 v_main_~c~0_953))) (or (let ((.cse0 (div (+ v_main_~a~0_119 (* (- 1) v_main_~a~0_120)) 2))) (and (< 0 .cse0) .cse1 (= v_~SIZE~0_367 v_main_~c~0_953) (= v_main_~st~0_505 0) .cse2 (= v_main_~b~0_115 (+ (* 2 .cse0) v_main_~a~0_120)) (not .cse3) (= (mod (+ v_main_~a~0_120 v_main_~a~0_119) 2) 0) .cse4)) (and .cse5 (= |v_main_#t~post5_533| |v_main_#t~post5_527|) .cse6 .cse7 (= v_~SIZE~0_367 v_~SIZE~0_367) (= v_~last~0_407 v_~last~0_407) (= v_main_~d~0_50 v_main_~d~0_50) .cse8) (and .cse5 (= |v_main_#t~post5_527| |v_main_#t~post5_533|) (or (not .cse1) .cse3 (not .cse2) (not .cse4)) .cse6 .cse7 .cse8))) InVars {~SIZE~0=v_~SIZE~0_367, main_~c~0=v_main_~c~0_960, main_#t~post5=|v_main_#t~post5_533|, main_~d~0=v_main_~d~0_50, main_~st~0=v_main_~st~0_512, main_~b~0=v_main_~b~0_116, ~last~0=v_~last~0_407, main_~a~0=v_main_~a~0_120} OutVars{~SIZE~0=v_~SIZE~0_367, main_~c~0=v_main_~c~0_953, main_#t~post5=|v_main_#t~post5_527|, main_~d~0=v_main_~d~0_50, main_~st~0=v_main_~st~0_505, main_~b~0=v_main_~b~0_115, ~last~0=v_~last~0_407, main_~a~0=v_main_~a~0_119} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {51961#(< 3 ~SIZE~0)} is VALID [2022-04-28 04:01:28,159 INFO L290 TraceCheckUtils]: 13: Hoare triple {51961#(< 3 ~SIZE~0)} [259] L25-3_primed-->L42: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {51961#(< 3 ~SIZE~0)} is VALID [2022-04-28 04:01:28,160 INFO L290 TraceCheckUtils]: 12: Hoare triple {51961#(< 3 ~SIZE~0)} [258] L42-->L25-3_primed: Formula: (let ((.cse0 (= 3 v_~SIZE~0_367)) (.cse3 (= v_~SIZE~0_367 v_main_~d~0_50)) (.cse2 (<= v_~last~0_407 0)) (.cse4 (= v_main_~a~0_120 v_main_~b~0_116)) (.cse5 (= v_main_~a~0_120 v_main_~a~0_119)) (.cse6 (= v_main_~b~0_116 v_main_~b~0_115))) (or (let ((.cse1 (div (+ v_main_~a~0_120 (* (- 1) v_main_~b~0_115)) (- 2)))) (and (= (mod (+ v_main_~a~0_120 v_main_~b~0_115) 2) 0) .cse0 (= v_~SIZE~0_367 v_main_~c~0_953) (< 0 .cse1) (= v_main_~st~0_505 0) (= v_main_~a~0_119 (+ v_main_~a~0_120 (* 2 .cse1))) .cse2 (not .cse3) .cse4)) (and .cse5 (or (not .cse0) .cse3 (not .cse2) (not .cse4)) .cse6 (= v_main_~st~0_505 v_main_~st~0_509) (= |v_main_#t~post5_527| |v_main_#t~post5_530|) (= v_main_~c~0_953 v_main_~c~0_957)) (and .cse5 .cse6 (= |v_main_#t~post5_530| |v_main_#t~post5_527|) (= v_~SIZE~0_367 v_~SIZE~0_367) (= v_~last~0_407 v_~last~0_407) (= v_main_~c~0_957 v_main_~c~0_953) (= v_main_~st~0_509 v_main_~st~0_505) (= v_main_~d~0_50 v_main_~d~0_50)))) InVars {~SIZE~0=v_~SIZE~0_367, main_~c~0=v_main_~c~0_957, main_#t~post5=|v_main_#t~post5_530|, main_~d~0=v_main_~d~0_50, main_~st~0=v_main_~st~0_509, main_~b~0=v_main_~b~0_116, ~last~0=v_~last~0_407, main_~a~0=v_main_~a~0_120} OutVars{~SIZE~0=v_~SIZE~0_367, main_~c~0=v_main_~c~0_953, main_#t~post5=|v_main_#t~post5_527|, main_~d~0=v_main_~d~0_50, main_~st~0=v_main_~st~0_505, main_~b~0=v_main_~b~0_115, ~last~0=v_~last~0_407, main_~a~0=v_main_~a~0_119} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {51961#(< 3 ~SIZE~0)} is VALID [2022-04-28 04:01:28,160 INFO L290 TraceCheckUtils]: 11: Hoare triple {51961#(< 3 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {51961#(< 3 ~SIZE~0)} is VALID [2022-04-28 04:01:28,160 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {51782#true} {51961#(< 3 ~SIZE~0)} #86#return; {51961#(< 3 ~SIZE~0)} is VALID [2022-04-28 04:01:28,160 INFO L290 TraceCheckUtils]: 9: Hoare triple {51782#true} assume true; {51782#true} is VALID [2022-04-28 04:01:28,161 INFO L290 TraceCheckUtils]: 8: Hoare triple {51782#true} assume !(0 == ~cond); {51782#true} is VALID [2022-04-28 04:01:28,161 INFO L290 TraceCheckUtils]: 7: Hoare triple {51782#true} ~cond := #in~cond; {51782#true} is VALID [2022-04-28 04:01:28,161 INFO L272 TraceCheckUtils]: 6: Hoare triple {51961#(< 3 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {51782#true} is VALID [2022-04-28 04:01:28,161 INFO L290 TraceCheckUtils]: 5: Hoare triple {51961#(< 3 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {51961#(< 3 ~SIZE~0)} is VALID [2022-04-28 04:01:28,161 INFO L272 TraceCheckUtils]: 4: Hoare triple {51961#(< 3 ~SIZE~0)} call #t~ret7 := main(); {51961#(< 3 ~SIZE~0)} is VALID [2022-04-28 04:01:28,162 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51961#(< 3 ~SIZE~0)} {51782#true} #90#return; {51961#(< 3 ~SIZE~0)} is VALID [2022-04-28 04:01:28,162 INFO L290 TraceCheckUtils]: 2: Hoare triple {51961#(< 3 ~SIZE~0)} assume true; {51961#(< 3 ~SIZE~0)} is VALID [2022-04-28 04:01:28,162 INFO L290 TraceCheckUtils]: 1: Hoare triple {51782#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {51961#(< 3 ~SIZE~0)} is VALID [2022-04-28 04:01:28,162 INFO L272 TraceCheckUtils]: 0: Hoare triple {51782#true} call ULTIMATE.init(); {51782#true} is VALID [2022-04-28 04:01:28,163 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 04:01:28,163 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2130315058] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:01:28,163 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:01:28,163 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 17 [2022-04-28 04:01:28,314 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:01:28,314 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1579820676] [2022-04-28 04:01:28,314 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1579820676] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:01:28,314 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:01:28,314 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 04:01:28,314 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [259679616] [2022-04-28 04:01:28,314 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:01:28,315 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 3.0) internal successors, (39), 12 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 51 [2022-04-28 04:01:28,315 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:01:28,315 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 3.0) internal successors, (39), 12 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:01:28,345 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:01:28,346 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 04:01:28,346 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:01:28,346 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 04:01:28,346 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=173, Invalid=289, Unknown=0, NotChecked=0, Total=462 [2022-04-28 04:01:28,346 INFO L87 Difference]: Start difference. First operand 175 states and 213 transitions. Second operand has 13 states, 13 states have (on average 3.0) internal successors, (39), 12 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:01:29,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:29,485 INFO L93 Difference]: Finished difference Result 332 states and 410 transitions. [2022-04-28 04:01:29,485 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 04:01:29,486 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 3.0) internal successors, (39), 12 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 51 [2022-04-28 04:01:29,486 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:01:29,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 3.0) internal successors, (39), 12 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:01:29,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 81 transitions. [2022-04-28 04:01:29,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 3.0) internal successors, (39), 12 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:01:29,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 81 transitions. [2022-04-28 04:01:29,487 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 81 transitions. [2022-04-28 04:01:29,523 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:01:29,526 INFO L225 Difference]: With dead ends: 332 [2022-04-28 04:01:29,526 INFO L226 Difference]: Without dead ends: 236 [2022-04-28 04:01:29,527 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 82 SyntacticMatches, 6 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 367 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=235, Invalid=415, Unknown=0, NotChecked=0, Total=650 [2022-04-28 04:01:29,528 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 57 mSDsluCounter, 16 mSDsCounter, 0 mSdLazyCounter, 296 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 58 SdHoareTripleChecker+Valid, 37 SdHoareTripleChecker+Invalid, 317 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 296 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 04:01:29,528 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [58 Valid, 37 Invalid, 317 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 296 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 04:01:29,528 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 236 states. [2022-04-28 04:01:29,993 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 236 to 193. [2022-04-28 04:01:29,994 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:01:29,994 INFO L82 GeneralOperation]: Start isEquivalent. First operand 236 states. Second operand has 193 states, 178 states have (on average 1.2191011235955056) internal successors, (217), 181 states have internal predecessors, (217), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:29,994 INFO L74 IsIncluded]: Start isIncluded. First operand 236 states. Second operand has 193 states, 178 states have (on average 1.2191011235955056) internal successors, (217), 181 states have internal predecessors, (217), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:29,994 INFO L87 Difference]: Start difference. First operand 236 states. Second operand has 193 states, 178 states have (on average 1.2191011235955056) internal successors, (217), 181 states have internal predecessors, (217), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:29,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:29,997 INFO L93 Difference]: Finished difference Result 236 states and 280 transitions. [2022-04-28 04:01:29,997 INFO L276 IsEmpty]: Start isEmpty. Operand 236 states and 280 transitions. [2022-04-28 04:01:29,997 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:01:29,997 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:01:29,997 INFO L74 IsIncluded]: Start isIncluded. First operand has 193 states, 178 states have (on average 1.2191011235955056) internal successors, (217), 181 states have internal predecessors, (217), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 236 states. [2022-04-28 04:01:29,997 INFO L87 Difference]: Start difference. First operand has 193 states, 178 states have (on average 1.2191011235955056) internal successors, (217), 181 states have internal predecessors, (217), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 236 states. [2022-04-28 04:01:30,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:30,000 INFO L93 Difference]: Finished difference Result 236 states and 280 transitions. [2022-04-28 04:01:30,000 INFO L276 IsEmpty]: Start isEmpty. Operand 236 states and 280 transitions. [2022-04-28 04:01:30,000 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:01:30,000 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:01:30,000 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:01:30,000 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:01:30,000 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 193 states, 178 states have (on average 1.2191011235955056) internal successors, (217), 181 states have internal predecessors, (217), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:30,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193 states to 193 states and 234 transitions. [2022-04-28 04:01:30,003 INFO L78 Accepts]: Start accepts. Automaton has 193 states and 234 transitions. Word has length 51 [2022-04-28 04:01:30,003 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:01:30,003 INFO L495 AbstractCegarLoop]: Abstraction has 193 states and 234 transitions. [2022-04-28 04:01:30,003 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 3.0) internal successors, (39), 12 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:01:30,003 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 193 states and 234 transitions. [2022-04-28 04:01:30,531 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 234 edges. 234 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:01:30,531 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 234 transitions. [2022-04-28 04:01:30,532 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 04:01:30,532 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:01:30,532 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 9, 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:01:30,549 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (40)] Forceful destruction successful, exit code 0 [2022-04-28 04:01:30,743 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 40 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable46 [2022-04-28 04:01:30,744 INFO L420 AbstractCegarLoop]: === Iteration 48 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:01:30,744 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:01:30,744 INFO L85 PathProgramCache]: Analyzing trace with hash 679090812, now seen corresponding path program 37 times [2022-04-28 04:01:30,744 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:01:30,745 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1910260724] [2022-04-28 04:01:31,510 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:01:34,320 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:01:34,428 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:01:34,429 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:01:34,432 INFO L85 PathProgramCache]: Analyzing trace with hash -130547903, now seen corresponding path program 1 times [2022-04-28 04:01:34,432 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:01:34,433 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1793649567] [2022-04-28 04:01:34,433 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:01:34,433 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:01:34,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:34,617 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:01:34,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:34,622 INFO L290 TraceCheckUtils]: 0: Hoare triple {53563#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,623 INFO L290 TraceCheckUtils]: 1: Hoare triple {53550#(<= 20 ~SIZE~0)} assume true; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,623 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {53550#(<= 20 ~SIZE~0)} {53545#true} #90#return; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,623 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:01:34,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:34,625 INFO L290 TraceCheckUtils]: 0: Hoare triple {53545#true} ~cond := #in~cond; {53545#true} is VALID [2022-04-28 04:01:34,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {53545#true} assume !(0 == ~cond); {53545#true} is VALID [2022-04-28 04:01:34,625 INFO L290 TraceCheckUtils]: 2: Hoare triple {53545#true} assume true; {53545#true} is VALID [2022-04-28 04:01:34,626 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53545#true} {53550#(<= 20 ~SIZE~0)} #86#return; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,626 INFO L272 TraceCheckUtils]: 0: Hoare triple {53545#true} call ULTIMATE.init(); {53563#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:01:34,626 INFO L290 TraceCheckUtils]: 1: Hoare triple {53563#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {53550#(<= 20 ~SIZE~0)} assume true; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,627 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53550#(<= 20 ~SIZE~0)} {53545#true} #90#return; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,627 INFO L272 TraceCheckUtils]: 4: Hoare triple {53550#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,628 INFO L290 TraceCheckUtils]: 5: Hoare triple {53550#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,628 INFO L272 TraceCheckUtils]: 6: Hoare triple {53550#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {53545#true} is VALID [2022-04-28 04:01:34,628 INFO L290 TraceCheckUtils]: 7: Hoare triple {53545#true} ~cond := #in~cond; {53545#true} is VALID [2022-04-28 04:01:34,628 INFO L290 TraceCheckUtils]: 8: Hoare triple {53545#true} assume !(0 == ~cond); {53545#true} is VALID [2022-04-28 04:01:34,628 INFO L290 TraceCheckUtils]: 9: Hoare triple {53545#true} assume true; {53545#true} is VALID [2022-04-28 04:01:34,628 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {53545#true} {53550#(<= 20 ~SIZE~0)} #86#return; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,628 INFO L290 TraceCheckUtils]: 11: Hoare triple {53550#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {53555#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:01:34,629 INFO L290 TraceCheckUtils]: 12: Hoare triple {53555#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {53556#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:01:34,629 INFO L290 TraceCheckUtils]: 13: Hoare triple {53556#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [262] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_545| |v_main_#t~post5_543|)) (.cse1 (<= v_~last~0_416 v_main_~c~0_979))) (or (and .cse0 (= v_~last~0_416 v_~last~0_416) (= v_main_~st~0_528 v_main_~st~0_527) (= v_main_~c~0_979 v_main_~c~0_978) (= v_~SIZE~0_375 v_~SIZE~0_375)) (and (< v_main_~c~0_979 v_main_~c~0_978) (= v_main_~st~0_527 0) .cse1 (< v_main_~c~0_978 (+ v_~SIZE~0_375 1))) (and .cse0 (or (not .cse1) (not (< v_main_~c~0_979 v_~SIZE~0_375))) (= v_main_~c~0_978 v_main_~c~0_979) (= v_main_~st~0_527 v_main_~st~0_528)))) InVars {~SIZE~0=v_~SIZE~0_375, main_~c~0=v_main_~c~0_979, main_#t~post5=|v_main_#t~post5_545|, main_~st~0=v_main_~st~0_528, ~last~0=v_~last~0_416} OutVars{~SIZE~0=v_~SIZE~0_375, main_#t~post5=|v_main_#t~post5_543|, main_~c~0=v_main_~c~0_978, main_~st~0=v_main_~st~0_527, ~last~0=v_~last~0_416} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {53557#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:01:34,630 INFO L290 TraceCheckUtils]: 14: Hoare triple {53557#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [263] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {53557#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:01:34,631 INFO L290 TraceCheckUtils]: 15: Hoare triple {53557#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [264] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_548| |v_main_#t~post5_544|)) (.cse1 (= v_main_~c~0_981 v_main_~c~0_980))) (or (and (< v_main_~c~0_981 v_main_~c~0_980) (< v_main_~c~0_980 (+ v_~last~0_417 1)) (< v_main_~c~0_980 (+ v_~SIZE~0_376 1))) (and .cse0 .cse1 (= v_~SIZE~0_376 v_~SIZE~0_376) (= v_~last~0_417 v_~last~0_417)) (and .cse0 .cse1 (or (not (< v_main_~c~0_981 v_~last~0_417)) (not (< v_main_~c~0_981 v_~SIZE~0_376)))))) InVars {~SIZE~0=v_~SIZE~0_376, main_~c~0=v_main_~c~0_981, main_#t~post5=|v_main_#t~post5_548|, ~last~0=v_~last~0_417} OutVars{~SIZE~0=v_~SIZE~0_376, main_#t~post5=|v_main_#t~post5_544|, main_~c~0=v_main_~c~0_980, ~last~0=v_~last~0_417} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {53557#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:01:34,631 INFO L290 TraceCheckUtils]: 16: Hoare triple {53557#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [261] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {53558#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:01:34,632 INFO L290 TraceCheckUtils]: 17: Hoare triple {53558#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {53559#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:34,632 INFO L290 TraceCheckUtils]: 18: Hoare triple {53559#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {53559#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:34,633 INFO L290 TraceCheckUtils]: 19: Hoare triple {53559#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {53560#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:34,633 INFO L290 TraceCheckUtils]: 20: Hoare triple {53560#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {53560#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:34,634 INFO L272 TraceCheckUtils]: 21: Hoare triple {53560#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {53561#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:01:34,634 INFO L290 TraceCheckUtils]: 22: Hoare triple {53561#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {53562#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:01:34,634 INFO L290 TraceCheckUtils]: 23: Hoare triple {53562#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {53546#false} is VALID [2022-04-28 04:01:34,634 INFO L290 TraceCheckUtils]: 24: Hoare triple {53546#false} assume !false; {53546#false} is VALID [2022-04-28 04:01:34,634 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:01:34,635 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:01:34,635 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1793649567] [2022-04-28 04:01:34,635 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1793649567] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:01:34,635 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1816392095] [2022-04-28 04:01:34,635 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:01:34,635 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:01:34,635 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:01:34,636 INFO L229 MonitoredProcess]: Starting monitored process 41 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:01:34,654 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (41)] Waiting until timeout for monitored process [2022-04-28 04:01:34,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:34,682 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:01:34,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:34,690 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:01:34,950 INFO L272 TraceCheckUtils]: 0: Hoare triple {53545#true} call ULTIMATE.init(); {53545#true} is VALID [2022-04-28 04:01:34,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {53545#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,950 INFO L290 TraceCheckUtils]: 2: Hoare triple {53550#(<= 20 ~SIZE~0)} assume true; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,951 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53550#(<= 20 ~SIZE~0)} {53545#true} #90#return; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,951 INFO L272 TraceCheckUtils]: 4: Hoare triple {53550#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,951 INFO L290 TraceCheckUtils]: 5: Hoare triple {53550#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,952 INFO L272 TraceCheckUtils]: 6: Hoare triple {53550#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,952 INFO L290 TraceCheckUtils]: 7: Hoare triple {53550#(<= 20 ~SIZE~0)} ~cond := #in~cond; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,952 INFO L290 TraceCheckUtils]: 8: Hoare triple {53550#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,953 INFO L290 TraceCheckUtils]: 9: Hoare triple {53550#(<= 20 ~SIZE~0)} assume true; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,953 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {53550#(<= 20 ~SIZE~0)} {53550#(<= 20 ~SIZE~0)} #86#return; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,953 INFO L290 TraceCheckUtils]: 11: Hoare triple {53550#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:34,954 INFO L290 TraceCheckUtils]: 12: Hoare triple {53550#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {53603#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:01:34,955 INFO L290 TraceCheckUtils]: 13: Hoare triple {53603#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [262] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_545| |v_main_#t~post5_543|)) (.cse1 (<= v_~last~0_416 v_main_~c~0_979))) (or (and .cse0 (= v_~last~0_416 v_~last~0_416) (= v_main_~st~0_528 v_main_~st~0_527) (= v_main_~c~0_979 v_main_~c~0_978) (= v_~SIZE~0_375 v_~SIZE~0_375)) (and (< v_main_~c~0_979 v_main_~c~0_978) (= v_main_~st~0_527 0) .cse1 (< v_main_~c~0_978 (+ v_~SIZE~0_375 1))) (and .cse0 (or (not .cse1) (not (< v_main_~c~0_979 v_~SIZE~0_375))) (= v_main_~c~0_978 v_main_~c~0_979) (= v_main_~st~0_527 v_main_~st~0_528)))) InVars {~SIZE~0=v_~SIZE~0_375, main_~c~0=v_main_~c~0_979, main_#t~post5=|v_main_#t~post5_545|, main_~st~0=v_main_~st~0_528, ~last~0=v_~last~0_416} OutVars{~SIZE~0=v_~SIZE~0_375, main_#t~post5=|v_main_#t~post5_543|, main_~c~0=v_main_~c~0_978, main_~st~0=v_main_~st~0_527, ~last~0=v_~last~0_416} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {53607#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:01:34,955 INFO L290 TraceCheckUtils]: 14: Hoare triple {53607#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [263] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {53607#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:01:34,956 INFO L290 TraceCheckUtils]: 15: Hoare triple {53607#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [264] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_548| |v_main_#t~post5_544|)) (.cse1 (= v_main_~c~0_981 v_main_~c~0_980))) (or (and (< v_main_~c~0_981 v_main_~c~0_980) (< v_main_~c~0_980 (+ v_~last~0_417 1)) (< v_main_~c~0_980 (+ v_~SIZE~0_376 1))) (and .cse0 .cse1 (= v_~SIZE~0_376 v_~SIZE~0_376) (= v_~last~0_417 v_~last~0_417)) (and .cse0 .cse1 (or (not (< v_main_~c~0_981 v_~last~0_417)) (not (< v_main_~c~0_981 v_~SIZE~0_376)))))) InVars {~SIZE~0=v_~SIZE~0_376, main_~c~0=v_main_~c~0_981, main_#t~post5=|v_main_#t~post5_548|, ~last~0=v_~last~0_417} OutVars{~SIZE~0=v_~SIZE~0_376, main_#t~post5=|v_main_#t~post5_544|, main_~c~0=v_main_~c~0_980, ~last~0=v_~last~0_417} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {53607#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:01:34,956 INFO L290 TraceCheckUtils]: 16: Hoare triple {53607#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [261] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {53617#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:01:34,957 INFO L290 TraceCheckUtils]: 17: Hoare triple {53617#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {53546#false} is VALID [2022-04-28 04:01:34,957 INFO L290 TraceCheckUtils]: 18: Hoare triple {53546#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {53546#false} is VALID [2022-04-28 04:01:34,957 INFO L290 TraceCheckUtils]: 19: Hoare triple {53546#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {53546#false} is VALID [2022-04-28 04:01:34,957 INFO L290 TraceCheckUtils]: 20: Hoare triple {53546#false} assume !(~d~0 == ~SIZE~0); {53546#false} is VALID [2022-04-28 04:01:34,957 INFO L272 TraceCheckUtils]: 21: Hoare triple {53546#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {53546#false} is VALID [2022-04-28 04:01:34,957 INFO L290 TraceCheckUtils]: 22: Hoare triple {53546#false} ~cond := #in~cond; {53546#false} is VALID [2022-04-28 04:01:34,957 INFO L290 TraceCheckUtils]: 23: Hoare triple {53546#false} assume 0 == ~cond; {53546#false} is VALID [2022-04-28 04:01:34,957 INFO L290 TraceCheckUtils]: 24: Hoare triple {53546#false} assume !false; {53546#false} is VALID [2022-04-28 04:01:34,957 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:01:34,957 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:01:35,279 INFO L290 TraceCheckUtils]: 24: Hoare triple {53546#false} assume !false; {53546#false} is VALID [2022-04-28 04:01:35,279 INFO L290 TraceCheckUtils]: 23: Hoare triple {53546#false} assume 0 == ~cond; {53546#false} is VALID [2022-04-28 04:01:35,279 INFO L290 TraceCheckUtils]: 22: Hoare triple {53546#false} ~cond := #in~cond; {53546#false} is VALID [2022-04-28 04:01:35,279 INFO L272 TraceCheckUtils]: 21: Hoare triple {53546#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {53546#false} is VALID [2022-04-28 04:01:35,280 INFO L290 TraceCheckUtils]: 20: Hoare triple {53546#false} assume !(~d~0 == ~SIZE~0); {53546#false} is VALID [2022-04-28 04:01:35,280 INFO L290 TraceCheckUtils]: 19: Hoare triple {53546#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {53546#false} is VALID [2022-04-28 04:01:35,280 INFO L290 TraceCheckUtils]: 18: Hoare triple {53546#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {53546#false} is VALID [2022-04-28 04:01:35,280 INFO L290 TraceCheckUtils]: 17: Hoare triple {53663#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {53546#false} is VALID [2022-04-28 04:01:35,280 INFO L290 TraceCheckUtils]: 16: Hoare triple {53667#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [261] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {53663#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:01:35,281 INFO L290 TraceCheckUtils]: 15: Hoare triple {53667#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [264] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_548| |v_main_#t~post5_544|)) (.cse1 (= v_main_~c~0_981 v_main_~c~0_980))) (or (and (< v_main_~c~0_981 v_main_~c~0_980) (< v_main_~c~0_980 (+ v_~last~0_417 1)) (< v_main_~c~0_980 (+ v_~SIZE~0_376 1))) (and .cse0 .cse1 (= v_~SIZE~0_376 v_~SIZE~0_376) (= v_~last~0_417 v_~last~0_417)) (and .cse0 .cse1 (or (not (< v_main_~c~0_981 v_~last~0_417)) (not (< v_main_~c~0_981 v_~SIZE~0_376)))))) InVars {~SIZE~0=v_~SIZE~0_376, main_~c~0=v_main_~c~0_981, main_#t~post5=|v_main_#t~post5_548|, ~last~0=v_~last~0_417} OutVars{~SIZE~0=v_~SIZE~0_376, main_#t~post5=|v_main_#t~post5_544|, main_~c~0=v_main_~c~0_980, ~last~0=v_~last~0_417} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {53667#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:35,281 INFO L290 TraceCheckUtils]: 14: Hoare triple {53667#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [263] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {53667#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:35,282 INFO L290 TraceCheckUtils]: 13: Hoare triple {53677#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [262] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_545| |v_main_#t~post5_543|)) (.cse1 (<= v_~last~0_416 v_main_~c~0_979))) (or (and .cse0 (= v_~last~0_416 v_~last~0_416) (= v_main_~st~0_528 v_main_~st~0_527) (= v_main_~c~0_979 v_main_~c~0_978) (= v_~SIZE~0_375 v_~SIZE~0_375)) (and (< v_main_~c~0_979 v_main_~c~0_978) (= v_main_~st~0_527 0) .cse1 (< v_main_~c~0_978 (+ v_~SIZE~0_375 1))) (and .cse0 (or (not .cse1) (not (< v_main_~c~0_979 v_~SIZE~0_375))) (= v_main_~c~0_978 v_main_~c~0_979) (= v_main_~st~0_527 v_main_~st~0_528)))) InVars {~SIZE~0=v_~SIZE~0_375, main_~c~0=v_main_~c~0_979, main_#t~post5=|v_main_#t~post5_545|, main_~st~0=v_main_~st~0_528, ~last~0=v_~last~0_416} OutVars{~SIZE~0=v_~SIZE~0_375, main_#t~post5=|v_main_#t~post5_543|, main_~c~0=v_main_~c~0_978, main_~st~0=v_main_~st~0_527, ~last~0=v_~last~0_416} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {53667#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:35,282 INFO L290 TraceCheckUtils]: 12: Hoare triple {53681#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {53677#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:01:35,283 INFO L290 TraceCheckUtils]: 11: Hoare triple {53681#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {53681#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:35,283 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {53545#true} {53681#(< 1 ~SIZE~0)} #86#return; {53681#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:35,283 INFO L290 TraceCheckUtils]: 9: Hoare triple {53545#true} assume true; {53545#true} is VALID [2022-04-28 04:01:35,283 INFO L290 TraceCheckUtils]: 8: Hoare triple {53545#true} assume !(0 == ~cond); {53545#true} is VALID [2022-04-28 04:01:35,283 INFO L290 TraceCheckUtils]: 7: Hoare triple {53545#true} ~cond := #in~cond; {53545#true} is VALID [2022-04-28 04:01:35,283 INFO L272 TraceCheckUtils]: 6: Hoare triple {53681#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {53545#true} is VALID [2022-04-28 04:01:35,284 INFO L290 TraceCheckUtils]: 5: Hoare triple {53681#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {53681#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:35,284 INFO L272 TraceCheckUtils]: 4: Hoare triple {53681#(< 1 ~SIZE~0)} call #t~ret7 := main(); {53681#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:35,284 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53681#(< 1 ~SIZE~0)} {53545#true} #90#return; {53681#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:35,284 INFO L290 TraceCheckUtils]: 2: Hoare triple {53681#(< 1 ~SIZE~0)} assume true; {53681#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:35,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {53545#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {53681#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:35,285 INFO L272 TraceCheckUtils]: 0: Hoare triple {53545#true} call ULTIMATE.init(); {53545#true} is VALID [2022-04-28 04:01:35,285 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:01:35,285 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1816392095] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:01:35,285 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:01:35,285 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:01:36,079 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:01:36,079 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1910260724] [2022-04-28 04:01:36,080 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1910260724] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:01:36,080 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:01:36,080 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [24] imperfect sequences [] total 24 [2022-04-28 04:01:36,080 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1122440450] [2022-04-28 04:01:36,080 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:01:36,080 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 1.9166666666666667) internal successors, (46), 22 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 52 [2022-04-28 04:01:36,080 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:01:36,080 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 24 states, 24 states have (on average 1.9166666666666667) internal successors, (46), 22 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:36,107 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:01:36,107 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-28 04:01:36,107 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:01:36,107 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-28 04:01:36,107 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=175, Invalid=881, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 04:01:36,108 INFO L87 Difference]: Start difference. First operand 193 states and 234 transitions. Second operand has 24 states, 24 states have (on average 1.9166666666666667) internal successors, (46), 22 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:37,915 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:37,915 INFO L93 Difference]: Finished difference Result 335 states and 406 transitions. [2022-04-28 04:01:37,915 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-28 04:01:37,915 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 1.9166666666666667) internal successors, (46), 22 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 52 [2022-04-28 04:01:37,915 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:01:37,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 1.9166666666666667) internal successors, (46), 22 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:37,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 97 transitions. [2022-04-28 04:01:37,916 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 1.9166666666666667) internal successors, (46), 22 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:37,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 97 transitions. [2022-04-28 04:01:37,917 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 97 transitions. [2022-04-28 04:01:37,973 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:01:37,976 INFO L225 Difference]: With dead ends: 335 [2022-04-28 04:01:37,976 INFO L226 Difference]: Without dead ends: 230 [2022-04-28 04:01:37,977 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 48 SyntacticMatches, 17 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 516 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=187, Invalid=1003, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 04:01:37,980 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 44 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 951 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 961 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 951 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 04:01:37,980 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [45 Valid, 60 Invalid, 961 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 951 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 04:01:37,986 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 230 states. [2022-04-28 04:01:38,482 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 230 to 196. [2022-04-28 04:01:38,482 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:01:38,483 INFO L82 GeneralOperation]: Start isEquivalent. First operand 230 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:38,483 INFO L74 IsIncluded]: Start isIncluded. First operand 230 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:38,483 INFO L87 Difference]: Start difference. First operand 230 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:38,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:38,485 INFO L93 Difference]: Finished difference Result 230 states and 273 transitions. [2022-04-28 04:01:38,485 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 273 transitions. [2022-04-28 04:01:38,486 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:01:38,486 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:01:38,486 INFO L74 IsIncluded]: Start isIncluded. First operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 230 states. [2022-04-28 04:01:38,486 INFO L87 Difference]: Start difference. First operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 230 states. [2022-04-28 04:01:38,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:38,488 INFO L93 Difference]: Finished difference Result 230 states and 273 transitions. [2022-04-28 04:01:38,488 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 273 transitions. [2022-04-28 04:01:38,488 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:01:38,488 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:01:38,489 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:01:38,489 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:01:38,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:38,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 196 states to 196 states and 237 transitions. [2022-04-28 04:01:38,491 INFO L78 Accepts]: Start accepts. Automaton has 196 states and 237 transitions. Word has length 52 [2022-04-28 04:01:38,491 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:01:38,491 INFO L495 AbstractCegarLoop]: Abstraction has 196 states and 237 transitions. [2022-04-28 04:01:38,491 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 24 states, 24 states have (on average 1.9166666666666667) internal successors, (46), 22 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:38,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 196 states and 237 transitions. [2022-04-28 04:01:39,106 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 237 edges. 237 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:01:39,107 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 237 transitions. [2022-04-28 04:01:39,107 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 04:01:39,107 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:01:39,107 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 8, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:01:39,125 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (41)] Ended with exit code 0 [2022-04-28 04:01:39,310 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 41 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable47 [2022-04-28 04:01:39,310 INFO L420 AbstractCegarLoop]: === Iteration 49 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:01:39,310 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:01:39,310 INFO L85 PathProgramCache]: Analyzing trace with hash -164914690, now seen corresponding path program 38 times [2022-04-28 04:01:39,310 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:01:39,310 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1660804819] [2022-04-28 04:01:39,540 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:01:42,082 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:01:42,195 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:01:42,196 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:01:42,199 INFO L85 PathProgramCache]: Analyzing trace with hash -1932992447, now seen corresponding path program 1 times [2022-04-28 04:01:42,199 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:01:42,200 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1520123975] [2022-04-28 04:01:42,200 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:01:42,200 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:01:42,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:42,340 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:01:42,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:42,344 INFO L290 TraceCheckUtils]: 0: Hoare triple {55279#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,345 INFO L290 TraceCheckUtils]: 1: Hoare triple {55266#(<= 20 ~SIZE~0)} assume true; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,345 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {55266#(<= 20 ~SIZE~0)} {55261#true} #90#return; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,345 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:01:42,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:42,347 INFO L290 TraceCheckUtils]: 0: Hoare triple {55261#true} ~cond := #in~cond; {55261#true} is VALID [2022-04-28 04:01:42,347 INFO L290 TraceCheckUtils]: 1: Hoare triple {55261#true} assume !(0 == ~cond); {55261#true} is VALID [2022-04-28 04:01:42,347 INFO L290 TraceCheckUtils]: 2: Hoare triple {55261#true} assume true; {55261#true} is VALID [2022-04-28 04:01:42,347 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {55261#true} {55266#(<= 20 ~SIZE~0)} #86#return; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,347 INFO L272 TraceCheckUtils]: 0: Hoare triple {55261#true} call ULTIMATE.init(); {55279#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:01:42,348 INFO L290 TraceCheckUtils]: 1: Hoare triple {55279#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,348 INFO L290 TraceCheckUtils]: 2: Hoare triple {55266#(<= 20 ~SIZE~0)} assume true; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,348 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {55266#(<= 20 ~SIZE~0)} {55261#true} #90#return; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,348 INFO L272 TraceCheckUtils]: 4: Hoare triple {55266#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,349 INFO L290 TraceCheckUtils]: 5: Hoare triple {55266#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,349 INFO L272 TraceCheckUtils]: 6: Hoare triple {55266#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {55261#true} is VALID [2022-04-28 04:01:42,349 INFO L290 TraceCheckUtils]: 7: Hoare triple {55261#true} ~cond := #in~cond; {55261#true} is VALID [2022-04-28 04:01:42,349 INFO L290 TraceCheckUtils]: 8: Hoare triple {55261#true} assume !(0 == ~cond); {55261#true} is VALID [2022-04-28 04:01:42,349 INFO L290 TraceCheckUtils]: 9: Hoare triple {55261#true} assume true; {55261#true} is VALID [2022-04-28 04:01:42,349 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {55261#true} {55266#(<= 20 ~SIZE~0)} #86#return; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,350 INFO L290 TraceCheckUtils]: 11: Hoare triple {55266#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {55271#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:01:42,350 INFO L290 TraceCheckUtils]: 12: Hoare triple {55271#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {55272#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:01:42,350 INFO L290 TraceCheckUtils]: 13: Hoare triple {55272#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [266] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_558| |v_main_#t~post5_556|)) (.cse1 (= v_main_~st~0_546 v_main_~st~0_545)) (.cse2 (<= v_~last~0_426 v_main_~c~0_1006))) (or (and .cse0 (= v_~SIZE~0_384 v_~SIZE~0_384) (= v_~last~0_426 v_~last~0_426) .cse1 (= v_main_~c~0_1006 v_main_~c~0_1005)) (and .cse0 (or (not (< v_main_~c~0_1006 v_~SIZE~0_384)) (not .cse2)) .cse1 (= v_main_~c~0_1005 v_main_~c~0_1006)) (and (= v_main_~st~0_545 0) .cse2 (< v_main_~c~0_1006 v_main_~c~0_1005) (< v_main_~c~0_1005 (+ v_~SIZE~0_384 1))))) InVars {~SIZE~0=v_~SIZE~0_384, main_~c~0=v_main_~c~0_1006, main_#t~post5=|v_main_#t~post5_558|, main_~st~0=v_main_~st~0_546, ~last~0=v_~last~0_426} OutVars{~SIZE~0=v_~SIZE~0_384, main_#t~post5=|v_main_#t~post5_556|, main_~c~0=v_main_~c~0_1005, main_~st~0=v_main_~st~0_545, ~last~0=v_~last~0_426} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {55273#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:01:42,351 INFO L290 TraceCheckUtils]: 14: Hoare triple {55273#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [267] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {55273#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:01:42,351 INFO L290 TraceCheckUtils]: 15: Hoare triple {55273#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [268] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1008 v_main_~c~0_1007))) (or (and (= |v_main_#t~post5_557| |v_main_#t~post5_561|) (or (not (< v_main_~c~0_1008 v_~last~0_427)) (not (< v_main_~c~0_1008 v_~SIZE~0_385))) .cse0) (and (< v_main_~c~0_1008 v_main_~c~0_1007) (< v_main_~c~0_1007 (+ v_~SIZE~0_385 1)) (< v_main_~c~0_1007 (+ v_~last~0_427 1))) (and (= v_~SIZE~0_385 v_~SIZE~0_385) (= v_~last~0_427 v_~last~0_427) .cse0 (= |v_main_#t~post5_561| |v_main_#t~post5_557|)))) InVars {~SIZE~0=v_~SIZE~0_385, main_~c~0=v_main_~c~0_1008, main_#t~post5=|v_main_#t~post5_561|, ~last~0=v_~last~0_427} OutVars{~SIZE~0=v_~SIZE~0_385, main_#t~post5=|v_main_#t~post5_557|, main_~c~0=v_main_~c~0_1007, ~last~0=v_~last~0_427} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {55273#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:01:42,352 INFO L290 TraceCheckUtils]: 16: Hoare triple {55273#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [265] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {55274#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:01:42,352 INFO L290 TraceCheckUtils]: 17: Hoare triple {55274#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {55275#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:42,353 INFO L290 TraceCheckUtils]: 18: Hoare triple {55275#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {55275#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:42,353 INFO L290 TraceCheckUtils]: 19: Hoare triple {55275#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {55276#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:42,354 INFO L290 TraceCheckUtils]: 20: Hoare triple {55276#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {55276#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:42,354 INFO L272 TraceCheckUtils]: 21: Hoare triple {55276#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {55277#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:01:42,354 INFO L290 TraceCheckUtils]: 22: Hoare triple {55277#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {55278#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:01:42,354 INFO L290 TraceCheckUtils]: 23: Hoare triple {55278#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {55262#false} is VALID [2022-04-28 04:01:42,355 INFO L290 TraceCheckUtils]: 24: Hoare triple {55262#false} assume !false; {55262#false} is VALID [2022-04-28 04:01:42,355 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:01:42,355 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:01:42,355 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1520123975] [2022-04-28 04:01:42,355 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1520123975] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:01:42,355 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1690250723] [2022-04-28 04:01:42,355 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:01:42,355 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:01:42,355 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:01:42,372 INFO L229 MonitoredProcess]: Starting monitored process 42 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:01:42,376 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (42)] Waiting until timeout for monitored process [2022-04-28 04:01:42,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:42,405 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:01:42,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:42,410 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:01:42,619 INFO L272 TraceCheckUtils]: 0: Hoare triple {55261#true} call ULTIMATE.init(); {55261#true} is VALID [2022-04-28 04:01:42,620 INFO L290 TraceCheckUtils]: 1: Hoare triple {55261#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,620 INFO L290 TraceCheckUtils]: 2: Hoare triple {55266#(<= 20 ~SIZE~0)} assume true; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,620 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {55266#(<= 20 ~SIZE~0)} {55261#true} #90#return; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,620 INFO L272 TraceCheckUtils]: 4: Hoare triple {55266#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,620 INFO L290 TraceCheckUtils]: 5: Hoare triple {55266#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,621 INFO L272 TraceCheckUtils]: 6: Hoare triple {55266#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,621 INFO L290 TraceCheckUtils]: 7: Hoare triple {55266#(<= 20 ~SIZE~0)} ~cond := #in~cond; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,621 INFO L290 TraceCheckUtils]: 8: Hoare triple {55266#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,621 INFO L290 TraceCheckUtils]: 9: Hoare triple {55266#(<= 20 ~SIZE~0)} assume true; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,622 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {55266#(<= 20 ~SIZE~0)} {55266#(<= 20 ~SIZE~0)} #86#return; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,622 INFO L290 TraceCheckUtils]: 11: Hoare triple {55266#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:42,622 INFO L290 TraceCheckUtils]: 12: Hoare triple {55266#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {55319#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:01:42,623 INFO L290 TraceCheckUtils]: 13: Hoare triple {55319#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [266] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_558| |v_main_#t~post5_556|)) (.cse1 (= v_main_~st~0_546 v_main_~st~0_545)) (.cse2 (<= v_~last~0_426 v_main_~c~0_1006))) (or (and .cse0 (= v_~SIZE~0_384 v_~SIZE~0_384) (= v_~last~0_426 v_~last~0_426) .cse1 (= v_main_~c~0_1006 v_main_~c~0_1005)) (and .cse0 (or (not (< v_main_~c~0_1006 v_~SIZE~0_384)) (not .cse2)) .cse1 (= v_main_~c~0_1005 v_main_~c~0_1006)) (and (= v_main_~st~0_545 0) .cse2 (< v_main_~c~0_1006 v_main_~c~0_1005) (< v_main_~c~0_1005 (+ v_~SIZE~0_384 1))))) InVars {~SIZE~0=v_~SIZE~0_384, main_~c~0=v_main_~c~0_1006, main_#t~post5=|v_main_#t~post5_558|, main_~st~0=v_main_~st~0_546, ~last~0=v_~last~0_426} OutVars{~SIZE~0=v_~SIZE~0_384, main_#t~post5=|v_main_#t~post5_556|, main_~c~0=v_main_~c~0_1005, main_~st~0=v_main_~st~0_545, ~last~0=v_~last~0_426} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {55323#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:01:42,623 INFO L290 TraceCheckUtils]: 14: Hoare triple {55323#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [267] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {55323#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:01:42,623 INFO L290 TraceCheckUtils]: 15: Hoare triple {55323#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [268] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1008 v_main_~c~0_1007))) (or (and (= |v_main_#t~post5_557| |v_main_#t~post5_561|) (or (not (< v_main_~c~0_1008 v_~last~0_427)) (not (< v_main_~c~0_1008 v_~SIZE~0_385))) .cse0) (and (< v_main_~c~0_1008 v_main_~c~0_1007) (< v_main_~c~0_1007 (+ v_~SIZE~0_385 1)) (< v_main_~c~0_1007 (+ v_~last~0_427 1))) (and (= v_~SIZE~0_385 v_~SIZE~0_385) (= v_~last~0_427 v_~last~0_427) .cse0 (= |v_main_#t~post5_561| |v_main_#t~post5_557|)))) InVars {~SIZE~0=v_~SIZE~0_385, main_~c~0=v_main_~c~0_1008, main_#t~post5=|v_main_#t~post5_561|, ~last~0=v_~last~0_427} OutVars{~SIZE~0=v_~SIZE~0_385, main_#t~post5=|v_main_#t~post5_557|, main_~c~0=v_main_~c~0_1007, ~last~0=v_~last~0_427} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {55323#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:01:42,624 INFO L290 TraceCheckUtils]: 16: Hoare triple {55323#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [265] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {55333#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:01:42,624 INFO L290 TraceCheckUtils]: 17: Hoare triple {55333#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {55262#false} is VALID [2022-04-28 04:01:42,624 INFO L290 TraceCheckUtils]: 18: Hoare triple {55262#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {55262#false} is VALID [2022-04-28 04:01:42,624 INFO L290 TraceCheckUtils]: 19: Hoare triple {55262#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {55262#false} is VALID [2022-04-28 04:01:42,624 INFO L290 TraceCheckUtils]: 20: Hoare triple {55262#false} assume !(~d~0 == ~SIZE~0); {55262#false} is VALID [2022-04-28 04:01:42,625 INFO L272 TraceCheckUtils]: 21: Hoare triple {55262#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {55262#false} is VALID [2022-04-28 04:01:42,625 INFO L290 TraceCheckUtils]: 22: Hoare triple {55262#false} ~cond := #in~cond; {55262#false} is VALID [2022-04-28 04:01:42,625 INFO L290 TraceCheckUtils]: 23: Hoare triple {55262#false} assume 0 == ~cond; {55262#false} is VALID [2022-04-28 04:01:42,625 INFO L290 TraceCheckUtils]: 24: Hoare triple {55262#false} assume !false; {55262#false} is VALID [2022-04-28 04:01:42,625 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:01:42,625 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:01:42,846 INFO L290 TraceCheckUtils]: 24: Hoare triple {55262#false} assume !false; {55262#false} is VALID [2022-04-28 04:01:42,846 INFO L290 TraceCheckUtils]: 23: Hoare triple {55262#false} assume 0 == ~cond; {55262#false} is VALID [2022-04-28 04:01:42,846 INFO L290 TraceCheckUtils]: 22: Hoare triple {55262#false} ~cond := #in~cond; {55262#false} is VALID [2022-04-28 04:01:42,846 INFO L272 TraceCheckUtils]: 21: Hoare triple {55262#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {55262#false} is VALID [2022-04-28 04:01:42,847 INFO L290 TraceCheckUtils]: 20: Hoare triple {55262#false} assume !(~d~0 == ~SIZE~0); {55262#false} is VALID [2022-04-28 04:01:42,847 INFO L290 TraceCheckUtils]: 19: Hoare triple {55262#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {55262#false} is VALID [2022-04-28 04:01:42,847 INFO L290 TraceCheckUtils]: 18: Hoare triple {55262#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {55262#false} is VALID [2022-04-28 04:01:42,847 INFO L290 TraceCheckUtils]: 17: Hoare triple {55379#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {55262#false} is VALID [2022-04-28 04:01:42,847 INFO L290 TraceCheckUtils]: 16: Hoare triple {55383#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [265] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {55379#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:01:42,848 INFO L290 TraceCheckUtils]: 15: Hoare triple {55383#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [268] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1008 v_main_~c~0_1007))) (or (and (= |v_main_#t~post5_557| |v_main_#t~post5_561|) (or (not (< v_main_~c~0_1008 v_~last~0_427)) (not (< v_main_~c~0_1008 v_~SIZE~0_385))) .cse0) (and (< v_main_~c~0_1008 v_main_~c~0_1007) (< v_main_~c~0_1007 (+ v_~SIZE~0_385 1)) (< v_main_~c~0_1007 (+ v_~last~0_427 1))) (and (= v_~SIZE~0_385 v_~SIZE~0_385) (= v_~last~0_427 v_~last~0_427) .cse0 (= |v_main_#t~post5_561| |v_main_#t~post5_557|)))) InVars {~SIZE~0=v_~SIZE~0_385, main_~c~0=v_main_~c~0_1008, main_#t~post5=|v_main_#t~post5_561|, ~last~0=v_~last~0_427} OutVars{~SIZE~0=v_~SIZE~0_385, main_#t~post5=|v_main_#t~post5_557|, main_~c~0=v_main_~c~0_1007, ~last~0=v_~last~0_427} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {55383#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:42,848 INFO L290 TraceCheckUtils]: 14: Hoare triple {55383#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [267] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {55383#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:42,849 INFO L290 TraceCheckUtils]: 13: Hoare triple {55393#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [266] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_558| |v_main_#t~post5_556|)) (.cse1 (= v_main_~st~0_546 v_main_~st~0_545)) (.cse2 (<= v_~last~0_426 v_main_~c~0_1006))) (or (and .cse0 (= v_~SIZE~0_384 v_~SIZE~0_384) (= v_~last~0_426 v_~last~0_426) .cse1 (= v_main_~c~0_1006 v_main_~c~0_1005)) (and .cse0 (or (not (< v_main_~c~0_1006 v_~SIZE~0_384)) (not .cse2)) .cse1 (= v_main_~c~0_1005 v_main_~c~0_1006)) (and (= v_main_~st~0_545 0) .cse2 (< v_main_~c~0_1006 v_main_~c~0_1005) (< v_main_~c~0_1005 (+ v_~SIZE~0_384 1))))) InVars {~SIZE~0=v_~SIZE~0_384, main_~c~0=v_main_~c~0_1006, main_#t~post5=|v_main_#t~post5_558|, main_~st~0=v_main_~st~0_546, ~last~0=v_~last~0_426} OutVars{~SIZE~0=v_~SIZE~0_384, main_#t~post5=|v_main_#t~post5_556|, main_~c~0=v_main_~c~0_1005, main_~st~0=v_main_~st~0_545, ~last~0=v_~last~0_426} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {55383#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:42,849 INFO L290 TraceCheckUtils]: 12: Hoare triple {55397#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {55393#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:01:42,849 INFO L290 TraceCheckUtils]: 11: Hoare triple {55397#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {55397#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:42,850 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {55261#true} {55397#(< 1 ~SIZE~0)} #86#return; {55397#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:42,850 INFO L290 TraceCheckUtils]: 9: Hoare triple {55261#true} assume true; {55261#true} is VALID [2022-04-28 04:01:42,850 INFO L290 TraceCheckUtils]: 8: Hoare triple {55261#true} assume !(0 == ~cond); {55261#true} is VALID [2022-04-28 04:01:42,850 INFO L290 TraceCheckUtils]: 7: Hoare triple {55261#true} ~cond := #in~cond; {55261#true} is VALID [2022-04-28 04:01:42,850 INFO L272 TraceCheckUtils]: 6: Hoare triple {55397#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {55261#true} is VALID [2022-04-28 04:01:42,850 INFO L290 TraceCheckUtils]: 5: Hoare triple {55397#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {55397#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:42,850 INFO L272 TraceCheckUtils]: 4: Hoare triple {55397#(< 1 ~SIZE~0)} call #t~ret7 := main(); {55397#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:42,851 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {55397#(< 1 ~SIZE~0)} {55261#true} #90#return; {55397#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:42,851 INFO L290 TraceCheckUtils]: 2: Hoare triple {55397#(< 1 ~SIZE~0)} assume true; {55397#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:42,851 INFO L290 TraceCheckUtils]: 1: Hoare triple {55261#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {55397#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:42,851 INFO L272 TraceCheckUtils]: 0: Hoare triple {55261#true} call ULTIMATE.init(); {55261#true} is VALID [2022-04-28 04:01:42,851 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:01:42,851 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1690250723] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:01:42,852 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:01:42,852 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:01:43,523 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:01:43,523 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1660804819] [2022-04-28 04:01:43,523 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1660804819] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:01:43,523 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:01:43,524 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-28 04:01:43,524 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1512622006] [2022-04-28 04:01:43,524 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:01:43,524 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 1.84) internal successors, (46), 23 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 52 [2022-04-28 04:01:43,524 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:01:43,524 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 25 states have (on average 1.84) internal successors, (46), 23 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:43,550 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:01:43,550 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-28 04:01:43,550 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:01:43,550 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-28 04:01:43,551 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=189, Invalid=933, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 04:01:43,551 INFO L87 Difference]: Start difference. First operand 196 states and 237 transitions. Second operand has 25 states, 25 states have (on average 1.84) internal successors, (46), 23 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:45,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:45,317 INFO L93 Difference]: Finished difference Result 338 states and 409 transitions. [2022-04-28 04:01:45,317 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-28 04:01:45,317 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 1.84) internal successors, (46), 23 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 52 [2022-04-28 04:01:45,317 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:01:45,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.84) internal successors, (46), 23 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:45,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 98 transitions. [2022-04-28 04:01:45,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.84) internal successors, (46), 23 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:45,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 98 transitions. [2022-04-28 04:01:45,318 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 98 transitions. [2022-04-28 04:01:45,401 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:01:45,404 INFO L225 Difference]: With dead ends: 338 [2022-04-28 04:01:45,404 INFO L226 Difference]: Without dead ends: 233 [2022-04-28 04:01:45,404 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 48 SyntacticMatches, 16 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 563 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=201, Invalid=1059, Unknown=0, NotChecked=0, Total=1260 [2022-04-28 04:01:45,404 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 48 mSDsluCounter, 38 mSDsCounter, 0 mSdLazyCounter, 949 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 58 SdHoareTripleChecker+Invalid, 959 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 949 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 04:01:45,405 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [49 Valid, 58 Invalid, 959 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 949 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 04:01:45,405 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 233 states. [2022-04-28 04:01:45,856 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 233 to 196. [2022-04-28 04:01:45,856 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:01:45,856 INFO L82 GeneralOperation]: Start isEquivalent. First operand 233 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:45,856 INFO L74 IsIncluded]: Start isIncluded. First operand 233 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:45,856 INFO L87 Difference]: Start difference. First operand 233 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:45,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:45,859 INFO L93 Difference]: Finished difference Result 233 states and 276 transitions. [2022-04-28 04:01:45,859 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 276 transitions. [2022-04-28 04:01:45,859 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:01:45,859 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:01:45,859 INFO L74 IsIncluded]: Start isIncluded. First operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 233 states. [2022-04-28 04:01:45,860 INFO L87 Difference]: Start difference. First operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 233 states. [2022-04-28 04:01:45,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:45,862 INFO L93 Difference]: Finished difference Result 233 states and 276 transitions. [2022-04-28 04:01:45,862 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 276 transitions. [2022-04-28 04:01:45,862 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:01:45,862 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:01:45,862 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:01:45,862 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:01:45,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:45,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 196 states to 196 states and 237 transitions. [2022-04-28 04:01:45,865 INFO L78 Accepts]: Start accepts. Automaton has 196 states and 237 transitions. Word has length 52 [2022-04-28 04:01:45,865 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:01:45,865 INFO L495 AbstractCegarLoop]: Abstraction has 196 states and 237 transitions. [2022-04-28 04:01:45,865 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 25 states have (on average 1.84) internal successors, (46), 23 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:45,865 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 196 states and 237 transitions. [2022-04-28 04:01:46,464 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 237 edges. 237 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:01:46,464 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 237 transitions. [2022-04-28 04:01:46,464 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 04:01:46,464 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:01:46,464 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 7, 3, 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:01:46,483 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (42)] Forceful destruction successful, exit code 0 [2022-04-28 04:01:46,681 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 42 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable48 [2022-04-28 04:01:46,682 INFO L420 AbstractCegarLoop]: === Iteration 50 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:01:46,683 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:01:46,683 INFO L85 PathProgramCache]: Analyzing trace with hash 109844924, now seen corresponding path program 39 times [2022-04-28 04:01:46,683 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:01:46,683 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [39400387] [2022-04-28 04:01:50,809 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:01:50,914 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:01:51,123 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:01:51,124 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:01:51,127 INFO L85 PathProgramCache]: Analyzing trace with hash 559530305, now seen corresponding path program 1 times [2022-04-28 04:01:51,127 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:01:51,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1535506750] [2022-04-28 04:01:51,128 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:01:51,128 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:01:51,134 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:51,324 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:01:51,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:51,345 INFO L290 TraceCheckUtils]: 0: Hoare triple {57008#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {56995#(<= 20 ~SIZE~0)} assume true; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,346 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {56995#(<= 20 ~SIZE~0)} {56990#true} #90#return; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,346 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:01:51,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:51,348 INFO L290 TraceCheckUtils]: 0: Hoare triple {56990#true} ~cond := #in~cond; {56990#true} is VALID [2022-04-28 04:01:51,348 INFO L290 TraceCheckUtils]: 1: Hoare triple {56990#true} assume !(0 == ~cond); {56990#true} is VALID [2022-04-28 04:01:51,348 INFO L290 TraceCheckUtils]: 2: Hoare triple {56990#true} assume true; {56990#true} is VALID [2022-04-28 04:01:51,349 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56990#true} {56995#(<= 20 ~SIZE~0)} #86#return; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,349 INFO L272 TraceCheckUtils]: 0: Hoare triple {56990#true} call ULTIMATE.init(); {57008#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:01:51,350 INFO L290 TraceCheckUtils]: 1: Hoare triple {57008#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,350 INFO L290 TraceCheckUtils]: 2: Hoare triple {56995#(<= 20 ~SIZE~0)} assume true; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,350 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56995#(<= 20 ~SIZE~0)} {56990#true} #90#return; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,351 INFO L272 TraceCheckUtils]: 4: Hoare triple {56995#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,351 INFO L290 TraceCheckUtils]: 5: Hoare triple {56995#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,351 INFO L272 TraceCheckUtils]: 6: Hoare triple {56995#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {56990#true} is VALID [2022-04-28 04:01:51,351 INFO L290 TraceCheckUtils]: 7: Hoare triple {56990#true} ~cond := #in~cond; {56990#true} is VALID [2022-04-28 04:01:51,351 INFO L290 TraceCheckUtils]: 8: Hoare triple {56990#true} assume !(0 == ~cond); {56990#true} is VALID [2022-04-28 04:01:51,351 INFO L290 TraceCheckUtils]: 9: Hoare triple {56990#true} assume true; {56990#true} is VALID [2022-04-28 04:01:51,352 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {56990#true} {56995#(<= 20 ~SIZE~0)} #86#return; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,352 INFO L290 TraceCheckUtils]: 11: Hoare triple {56995#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {57000#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:01:51,352 INFO L290 TraceCheckUtils]: 12: Hoare triple {57000#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {57001#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:01:51,353 INFO L290 TraceCheckUtils]: 13: Hoare triple {57001#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [270] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_563 v_main_~st~0_562)) (.cse2 (= v_main_~c~0_1033 v_main_~c~0_1032)) (.cse0 (<= v_~last~0_436 v_main_~c~0_1033))) (or (and (< v_main_~c~0_1033 v_main_~c~0_1032) (= v_main_~st~0_562 0) .cse0 (< v_main_~c~0_1032 (+ v_~SIZE~0_393 1))) (and .cse1 .cse2 (= v_~SIZE~0_393 v_~SIZE~0_393) (= v_~last~0_436 v_~last~0_436) (= |v_main_#t~post5_571| |v_main_#t~post5_569|)) (and .cse1 .cse2 (or (not .cse0) (not (< v_main_~c~0_1033 v_~SIZE~0_393))) (= |v_main_#t~post5_569| |v_main_#t~post5_571|)))) InVars {~SIZE~0=v_~SIZE~0_393, main_~c~0=v_main_~c~0_1033, main_#t~post5=|v_main_#t~post5_571|, main_~st~0=v_main_~st~0_563, ~last~0=v_~last~0_436} OutVars{~SIZE~0=v_~SIZE~0_393, main_#t~post5=|v_main_#t~post5_569|, main_~c~0=v_main_~c~0_1032, main_~st~0=v_main_~st~0_562, ~last~0=v_~last~0_436} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {57002#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:01:51,353 INFO L290 TraceCheckUtils]: 14: Hoare triple {57002#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [271] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {57002#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:01:51,354 INFO L290 TraceCheckUtils]: 15: Hoare triple {57002#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [272] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_574| |v_main_#t~post5_570|)) (.cse1 (= v_main_~c~0_1035 v_main_~c~0_1034))) (or (and .cse0 (= v_~SIZE~0_394 v_~SIZE~0_394) .cse1 (= v_~last~0_437 v_~last~0_437)) (and (< v_main_~c~0_1034 (+ v_~last~0_437 1)) (< v_main_~c~0_1035 v_main_~c~0_1034) (< v_main_~c~0_1034 (+ v_~SIZE~0_394 1))) (and .cse0 (or (not (< v_main_~c~0_1035 v_~last~0_437)) (not (< v_main_~c~0_1035 v_~SIZE~0_394))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_394, main_~c~0=v_main_~c~0_1035, main_#t~post5=|v_main_#t~post5_574|, ~last~0=v_~last~0_437} OutVars{~SIZE~0=v_~SIZE~0_394, main_#t~post5=|v_main_#t~post5_570|, main_~c~0=v_main_~c~0_1034, ~last~0=v_~last~0_437} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {57002#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:01:51,355 INFO L290 TraceCheckUtils]: 16: Hoare triple {57002#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [269] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {57003#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:01:51,355 INFO L290 TraceCheckUtils]: 17: Hoare triple {57003#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {57004#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:51,356 INFO L290 TraceCheckUtils]: 18: Hoare triple {57004#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {57004#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:51,356 INFO L290 TraceCheckUtils]: 19: Hoare triple {57004#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {57005#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:51,357 INFO L290 TraceCheckUtils]: 20: Hoare triple {57005#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {57005#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:51,357 INFO L272 TraceCheckUtils]: 21: Hoare triple {57005#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {57006#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:01:51,357 INFO L290 TraceCheckUtils]: 22: Hoare triple {57006#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {57007#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:01:51,358 INFO L290 TraceCheckUtils]: 23: Hoare triple {57007#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {56991#false} is VALID [2022-04-28 04:01:51,358 INFO L290 TraceCheckUtils]: 24: Hoare triple {56991#false} assume !false; {56991#false} is VALID [2022-04-28 04:01:51,358 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:01:51,358 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:01:51,358 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1535506750] [2022-04-28 04:01:51,358 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1535506750] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:01:51,358 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1122659139] [2022-04-28 04:01:51,358 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:01:51,358 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:01:51,358 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:01:51,359 INFO L229 MonitoredProcess]: Starting monitored process 43 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:01:51,360 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (43)] Waiting until timeout for monitored process [2022-04-28 04:01:51,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:51,389 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:01:51,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:51,393 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:01:51,562 INFO L272 TraceCheckUtils]: 0: Hoare triple {56990#true} call ULTIMATE.init(); {56990#true} is VALID [2022-04-28 04:01:51,563 INFO L290 TraceCheckUtils]: 1: Hoare triple {56990#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,563 INFO L290 TraceCheckUtils]: 2: Hoare triple {56995#(<= 20 ~SIZE~0)} assume true; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,563 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56995#(<= 20 ~SIZE~0)} {56990#true} #90#return; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,564 INFO L272 TraceCheckUtils]: 4: Hoare triple {56995#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,564 INFO L290 TraceCheckUtils]: 5: Hoare triple {56995#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,564 INFO L272 TraceCheckUtils]: 6: Hoare triple {56995#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,564 INFO L290 TraceCheckUtils]: 7: Hoare triple {56995#(<= 20 ~SIZE~0)} ~cond := #in~cond; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,564 INFO L290 TraceCheckUtils]: 8: Hoare triple {56995#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,565 INFO L290 TraceCheckUtils]: 9: Hoare triple {56995#(<= 20 ~SIZE~0)} assume true; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,565 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {56995#(<= 20 ~SIZE~0)} {56995#(<= 20 ~SIZE~0)} #86#return; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,565 INFO L290 TraceCheckUtils]: 11: Hoare triple {56995#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:51,565 INFO L290 TraceCheckUtils]: 12: Hoare triple {56995#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {57048#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:01:51,566 INFO L290 TraceCheckUtils]: 13: Hoare triple {57048#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [270] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_563 v_main_~st~0_562)) (.cse2 (= v_main_~c~0_1033 v_main_~c~0_1032)) (.cse0 (<= v_~last~0_436 v_main_~c~0_1033))) (or (and (< v_main_~c~0_1033 v_main_~c~0_1032) (= v_main_~st~0_562 0) .cse0 (< v_main_~c~0_1032 (+ v_~SIZE~0_393 1))) (and .cse1 .cse2 (= v_~SIZE~0_393 v_~SIZE~0_393) (= v_~last~0_436 v_~last~0_436) (= |v_main_#t~post5_571| |v_main_#t~post5_569|)) (and .cse1 .cse2 (or (not .cse0) (not (< v_main_~c~0_1033 v_~SIZE~0_393))) (= |v_main_#t~post5_569| |v_main_#t~post5_571|)))) InVars {~SIZE~0=v_~SIZE~0_393, main_~c~0=v_main_~c~0_1033, main_#t~post5=|v_main_#t~post5_571|, main_~st~0=v_main_~st~0_563, ~last~0=v_~last~0_436} OutVars{~SIZE~0=v_~SIZE~0_393, main_#t~post5=|v_main_#t~post5_569|, main_~c~0=v_main_~c~0_1032, main_~st~0=v_main_~st~0_562, ~last~0=v_~last~0_436} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {57052#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:01:51,566 INFO L290 TraceCheckUtils]: 14: Hoare triple {57052#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [271] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {57052#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:01:51,567 INFO L290 TraceCheckUtils]: 15: Hoare triple {57052#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [272] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_574| |v_main_#t~post5_570|)) (.cse1 (= v_main_~c~0_1035 v_main_~c~0_1034))) (or (and .cse0 (= v_~SIZE~0_394 v_~SIZE~0_394) .cse1 (= v_~last~0_437 v_~last~0_437)) (and (< v_main_~c~0_1034 (+ v_~last~0_437 1)) (< v_main_~c~0_1035 v_main_~c~0_1034) (< v_main_~c~0_1034 (+ v_~SIZE~0_394 1))) (and .cse0 (or (not (< v_main_~c~0_1035 v_~last~0_437)) (not (< v_main_~c~0_1035 v_~SIZE~0_394))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_394, main_~c~0=v_main_~c~0_1035, main_#t~post5=|v_main_#t~post5_574|, ~last~0=v_~last~0_437} OutVars{~SIZE~0=v_~SIZE~0_394, main_#t~post5=|v_main_#t~post5_570|, main_~c~0=v_main_~c~0_1034, ~last~0=v_~last~0_437} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {57052#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:01:51,567 INFO L290 TraceCheckUtils]: 16: Hoare triple {57052#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [269] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {57062#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:01:51,568 INFO L290 TraceCheckUtils]: 17: Hoare triple {57062#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {56991#false} is VALID [2022-04-28 04:01:51,568 INFO L290 TraceCheckUtils]: 18: Hoare triple {56991#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {56991#false} is VALID [2022-04-28 04:01:51,568 INFO L290 TraceCheckUtils]: 19: Hoare triple {56991#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {56991#false} is VALID [2022-04-28 04:01:51,568 INFO L290 TraceCheckUtils]: 20: Hoare triple {56991#false} assume !(~d~0 == ~SIZE~0); {56991#false} is VALID [2022-04-28 04:01:51,568 INFO L272 TraceCheckUtils]: 21: Hoare triple {56991#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {56991#false} is VALID [2022-04-28 04:01:51,568 INFO L290 TraceCheckUtils]: 22: Hoare triple {56991#false} ~cond := #in~cond; {56991#false} is VALID [2022-04-28 04:01:51,568 INFO L290 TraceCheckUtils]: 23: Hoare triple {56991#false} assume 0 == ~cond; {56991#false} is VALID [2022-04-28 04:01:51,568 INFO L290 TraceCheckUtils]: 24: Hoare triple {56991#false} assume !false; {56991#false} is VALID [2022-04-28 04:01:51,568 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:01:51,568 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:01:51,873 INFO L290 TraceCheckUtils]: 24: Hoare triple {56991#false} assume !false; {56991#false} is VALID [2022-04-28 04:01:51,873 INFO L290 TraceCheckUtils]: 23: Hoare triple {56991#false} assume 0 == ~cond; {56991#false} is VALID [2022-04-28 04:01:51,873 INFO L290 TraceCheckUtils]: 22: Hoare triple {56991#false} ~cond := #in~cond; {56991#false} is VALID [2022-04-28 04:01:51,873 INFO L272 TraceCheckUtils]: 21: Hoare triple {56991#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {56991#false} is VALID [2022-04-28 04:01:51,873 INFO L290 TraceCheckUtils]: 20: Hoare triple {56991#false} assume !(~d~0 == ~SIZE~0); {56991#false} is VALID [2022-04-28 04:01:51,873 INFO L290 TraceCheckUtils]: 19: Hoare triple {56991#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {56991#false} is VALID [2022-04-28 04:01:51,873 INFO L290 TraceCheckUtils]: 18: Hoare triple {56991#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {56991#false} is VALID [2022-04-28 04:01:51,874 INFO L290 TraceCheckUtils]: 17: Hoare triple {57108#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {56991#false} is VALID [2022-04-28 04:01:51,874 INFO L290 TraceCheckUtils]: 16: Hoare triple {57112#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [269] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {57108#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:01:51,875 INFO L290 TraceCheckUtils]: 15: Hoare triple {57112#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [272] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_574| |v_main_#t~post5_570|)) (.cse1 (= v_main_~c~0_1035 v_main_~c~0_1034))) (or (and .cse0 (= v_~SIZE~0_394 v_~SIZE~0_394) .cse1 (= v_~last~0_437 v_~last~0_437)) (and (< v_main_~c~0_1034 (+ v_~last~0_437 1)) (< v_main_~c~0_1035 v_main_~c~0_1034) (< v_main_~c~0_1034 (+ v_~SIZE~0_394 1))) (and .cse0 (or (not (< v_main_~c~0_1035 v_~last~0_437)) (not (< v_main_~c~0_1035 v_~SIZE~0_394))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_394, main_~c~0=v_main_~c~0_1035, main_#t~post5=|v_main_#t~post5_574|, ~last~0=v_~last~0_437} OutVars{~SIZE~0=v_~SIZE~0_394, main_#t~post5=|v_main_#t~post5_570|, main_~c~0=v_main_~c~0_1034, ~last~0=v_~last~0_437} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {57112#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:51,875 INFO L290 TraceCheckUtils]: 14: Hoare triple {57112#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [271] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {57112#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:51,876 INFO L290 TraceCheckUtils]: 13: Hoare triple {57122#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [270] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_563 v_main_~st~0_562)) (.cse2 (= v_main_~c~0_1033 v_main_~c~0_1032)) (.cse0 (<= v_~last~0_436 v_main_~c~0_1033))) (or (and (< v_main_~c~0_1033 v_main_~c~0_1032) (= v_main_~st~0_562 0) .cse0 (< v_main_~c~0_1032 (+ v_~SIZE~0_393 1))) (and .cse1 .cse2 (= v_~SIZE~0_393 v_~SIZE~0_393) (= v_~last~0_436 v_~last~0_436) (= |v_main_#t~post5_571| |v_main_#t~post5_569|)) (and .cse1 .cse2 (or (not .cse0) (not (< v_main_~c~0_1033 v_~SIZE~0_393))) (= |v_main_#t~post5_569| |v_main_#t~post5_571|)))) InVars {~SIZE~0=v_~SIZE~0_393, main_~c~0=v_main_~c~0_1033, main_#t~post5=|v_main_#t~post5_571|, main_~st~0=v_main_~st~0_563, ~last~0=v_~last~0_436} OutVars{~SIZE~0=v_~SIZE~0_393, main_#t~post5=|v_main_#t~post5_569|, main_~c~0=v_main_~c~0_1032, main_~st~0=v_main_~st~0_562, ~last~0=v_~last~0_436} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {57112#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:51,877 INFO L290 TraceCheckUtils]: 12: Hoare triple {57126#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {57122#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:01:51,877 INFO L290 TraceCheckUtils]: 11: Hoare triple {57126#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {57126#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:51,877 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {56990#true} {57126#(< 1 ~SIZE~0)} #86#return; {57126#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:51,877 INFO L290 TraceCheckUtils]: 9: Hoare triple {56990#true} assume true; {56990#true} is VALID [2022-04-28 04:01:51,877 INFO L290 TraceCheckUtils]: 8: Hoare triple {56990#true} assume !(0 == ~cond); {56990#true} is VALID [2022-04-28 04:01:51,878 INFO L290 TraceCheckUtils]: 7: Hoare triple {56990#true} ~cond := #in~cond; {56990#true} is VALID [2022-04-28 04:01:51,878 INFO L272 TraceCheckUtils]: 6: Hoare triple {57126#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {56990#true} is VALID [2022-04-28 04:01:51,878 INFO L290 TraceCheckUtils]: 5: Hoare triple {57126#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {57126#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:51,878 INFO L272 TraceCheckUtils]: 4: Hoare triple {57126#(< 1 ~SIZE~0)} call #t~ret7 := main(); {57126#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:51,879 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57126#(< 1 ~SIZE~0)} {56990#true} #90#return; {57126#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:51,879 INFO L290 TraceCheckUtils]: 2: Hoare triple {57126#(< 1 ~SIZE~0)} assume true; {57126#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:51,879 INFO L290 TraceCheckUtils]: 1: Hoare triple {56990#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {57126#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:51,879 INFO L272 TraceCheckUtils]: 0: Hoare triple {56990#true} call ULTIMATE.init(); {56990#true} is VALID [2022-04-28 04:01:51,880 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:01:51,880 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1122659139] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:01:51,880 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:01:51,880 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:01:52,606 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:01:52,606 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [39400387] [2022-04-28 04:01:52,606 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [39400387] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:01:52,606 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:01:52,606 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-28 04:01:52,607 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1886906117] [2022-04-28 04:01:52,607 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:01:52,607 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 1.7692307692307692) internal successors, (46), 24 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 52 [2022-04-28 04:01:52,607 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:01:52,607 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 26 states have (on average 1.7692307692307692) internal successors, (46), 24 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:52,633 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:01:52,633 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-28 04:01:52,633 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:01:52,633 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-28 04:01:52,633 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=203, Invalid=987, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 04:01:52,634 INFO L87 Difference]: Start difference. First operand 196 states and 237 transitions. Second operand has 26 states, 26 states have (on average 1.7692307692307692) internal successors, (46), 24 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:54,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:54,786 INFO L93 Difference]: Finished difference Result 335 states and 406 transitions. [2022-04-28 04:01:54,786 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 04:01:54,786 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 1.7692307692307692) internal successors, (46), 24 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 52 [2022-04-28 04:01:54,786 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:01:54,786 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 1.7692307692307692) internal successors, (46), 24 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:54,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 99 transitions. [2022-04-28 04:01:54,787 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 1.7692307692307692) internal successors, (46), 24 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:54,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 99 transitions. [2022-04-28 04:01:54,788 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 99 transitions. [2022-04-28 04:01:54,859 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:01:54,861 INFO L225 Difference]: With dead ends: 335 [2022-04-28 04:01:54,861 INFO L226 Difference]: Without dead ends: 230 [2022-04-28 04:01:54,862 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 48 SyntacticMatches, 15 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 601 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=215, Invalid=1117, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 04:01:54,862 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 52 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 1225 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 71 SdHoareTripleChecker+Invalid, 1236 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1225 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 04:01:54,862 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [53 Valid, 71 Invalid, 1236 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1225 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 04:01:54,862 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 230 states. [2022-04-28 04:01:55,440 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 230 to 196. [2022-04-28 04:01:55,440 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:01:55,440 INFO L82 GeneralOperation]: Start isEquivalent. First operand 230 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:55,440 INFO L74 IsIncluded]: Start isIncluded. First operand 230 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:55,440 INFO L87 Difference]: Start difference. First operand 230 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:55,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:55,443 INFO L93 Difference]: Finished difference Result 230 states and 273 transitions. [2022-04-28 04:01:55,443 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 273 transitions. [2022-04-28 04:01:55,443 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:01:55,443 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:01:55,443 INFO L74 IsIncluded]: Start isIncluded. First operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 230 states. [2022-04-28 04:01:55,444 INFO L87 Difference]: Start difference. First operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 230 states. [2022-04-28 04:01:55,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:01:55,446 INFO L93 Difference]: Finished difference Result 230 states and 273 transitions. [2022-04-28 04:01:55,446 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 273 transitions. [2022-04-28 04:01:55,446 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:01:55,446 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:01:55,446 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:01:55,446 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:01:55,447 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:01:55,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 196 states to 196 states and 237 transitions. [2022-04-28 04:01:55,449 INFO L78 Accepts]: Start accepts. Automaton has 196 states and 237 transitions. Word has length 52 [2022-04-28 04:01:55,449 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:01:55,449 INFO L495 AbstractCegarLoop]: Abstraction has 196 states and 237 transitions. [2022-04-28 04:01:55,449 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 26 states have (on average 1.7692307692307692) internal successors, (46), 24 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:55,449 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 196 states and 237 transitions. [2022-04-28 04:01:56,218 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 237 edges. 237 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:01:56,218 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 237 transitions. [2022-04-28 04:01:56,219 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 04:01:56,219 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:01:56,219 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 6, 4, 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:01:56,235 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (43)] Forceful destruction successful, exit code 0 [2022-04-28 04:01:56,419 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 43 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable49 [2022-04-28 04:01:56,420 INFO L420 AbstractCegarLoop]: === Iteration 51 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:01:56,420 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:01:56,420 INFO L85 PathProgramCache]: Analyzing trace with hash 1496048318, now seen corresponding path program 40 times [2022-04-28 04:01:56,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:01:56,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [333349048] [2022-04-28 04:01:56,670 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:01:56,888 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:01:56,889 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:01:56,892 INFO L85 PathProgramCache]: Analyzing trace with hash -1242914239, now seen corresponding path program 1 times [2022-04-28 04:01:56,892 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:01:56,892 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2062298126] [2022-04-28 04:01:56,892 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:01:56,892 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:01:56,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:57,054 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:01:57,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:57,059 INFO L290 TraceCheckUtils]: 0: Hoare triple {58726#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {58713#(<= 20 ~SIZE~0)} assume true; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,060 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {58713#(<= 20 ~SIZE~0)} {58708#true} #90#return; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,060 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:01:57,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:57,062 INFO L290 TraceCheckUtils]: 0: Hoare triple {58708#true} ~cond := #in~cond; {58708#true} is VALID [2022-04-28 04:01:57,062 INFO L290 TraceCheckUtils]: 1: Hoare triple {58708#true} assume !(0 == ~cond); {58708#true} is VALID [2022-04-28 04:01:57,062 INFO L290 TraceCheckUtils]: 2: Hoare triple {58708#true} assume true; {58708#true} is VALID [2022-04-28 04:01:57,063 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {58708#true} {58713#(<= 20 ~SIZE~0)} #86#return; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,063 INFO L272 TraceCheckUtils]: 0: Hoare triple {58708#true} call ULTIMATE.init(); {58726#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:01:57,064 INFO L290 TraceCheckUtils]: 1: Hoare triple {58726#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,064 INFO L290 TraceCheckUtils]: 2: Hoare triple {58713#(<= 20 ~SIZE~0)} assume true; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,064 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {58713#(<= 20 ~SIZE~0)} {58708#true} #90#return; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,065 INFO L272 TraceCheckUtils]: 4: Hoare triple {58713#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,065 INFO L290 TraceCheckUtils]: 5: Hoare triple {58713#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,065 INFO L272 TraceCheckUtils]: 6: Hoare triple {58713#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {58708#true} is VALID [2022-04-28 04:01:57,065 INFO L290 TraceCheckUtils]: 7: Hoare triple {58708#true} ~cond := #in~cond; {58708#true} is VALID [2022-04-28 04:01:57,065 INFO L290 TraceCheckUtils]: 8: Hoare triple {58708#true} assume !(0 == ~cond); {58708#true} is VALID [2022-04-28 04:01:57,065 INFO L290 TraceCheckUtils]: 9: Hoare triple {58708#true} assume true; {58708#true} is VALID [2022-04-28 04:01:57,066 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {58708#true} {58713#(<= 20 ~SIZE~0)} #86#return; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,066 INFO L290 TraceCheckUtils]: 11: Hoare triple {58713#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {58718#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:01:57,066 INFO L290 TraceCheckUtils]: 12: Hoare triple {58718#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {58719#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:01:57,067 INFO L290 TraceCheckUtils]: 13: Hoare triple {58719#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [274] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_446 v_main_~c~0_1060)) (.cse1 (= |v_main_#t~post5_584| |v_main_#t~post5_582|)) (.cse2 (= v_main_~st~0_579 v_main_~st~0_578))) (or (and (or (not (< v_main_~c~0_1060 v_~SIZE~0_402)) (not .cse0)) (= v_main_~c~0_1059 v_main_~c~0_1060) .cse1 .cse2) (and (< v_main_~c~0_1059 (+ v_~SIZE~0_402 1)) (= v_main_~st~0_578 0) .cse0 (< v_main_~c~0_1060 v_main_~c~0_1059)) (and (= v_main_~c~0_1060 v_main_~c~0_1059) (= v_~SIZE~0_402 v_~SIZE~0_402) .cse1 (= v_~last~0_446 v_~last~0_446) .cse2))) InVars {~SIZE~0=v_~SIZE~0_402, main_~c~0=v_main_~c~0_1060, main_#t~post5=|v_main_#t~post5_584|, main_~st~0=v_main_~st~0_579, ~last~0=v_~last~0_446} OutVars{~SIZE~0=v_~SIZE~0_402, main_#t~post5=|v_main_#t~post5_582|, main_~c~0=v_main_~c~0_1059, main_~st~0=v_main_~st~0_578, ~last~0=v_~last~0_446} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {58720#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:01:57,068 INFO L290 TraceCheckUtils]: 14: Hoare triple {58720#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [275] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {58720#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:01:57,068 INFO L290 TraceCheckUtils]: 15: Hoare triple {58720#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [276] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1062 v_main_~c~0_1061)) (.cse1 (= |v_main_#t~post5_587| |v_main_#t~post5_583|))) (or (and (or (not (< v_main_~c~0_1062 v_~SIZE~0_403)) (not (< v_main_~c~0_1062 v_~last~0_447))) .cse0 .cse1) (and (= v_~SIZE~0_403 v_~SIZE~0_403) .cse0 (= v_~last~0_447 v_~last~0_447) .cse1) (and (< v_main_~c~0_1062 v_main_~c~0_1061) (< v_main_~c~0_1061 (+ v_~last~0_447 1)) (< v_main_~c~0_1061 (+ v_~SIZE~0_403 1))))) InVars {~SIZE~0=v_~SIZE~0_403, main_~c~0=v_main_~c~0_1062, main_#t~post5=|v_main_#t~post5_587|, ~last~0=v_~last~0_447} OutVars{~SIZE~0=v_~SIZE~0_403, main_#t~post5=|v_main_#t~post5_583|, main_~c~0=v_main_~c~0_1061, ~last~0=v_~last~0_447} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {58720#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:01:57,069 INFO L290 TraceCheckUtils]: 16: Hoare triple {58720#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [273] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {58721#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:01:57,069 INFO L290 TraceCheckUtils]: 17: Hoare triple {58721#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {58722#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:57,070 INFO L290 TraceCheckUtils]: 18: Hoare triple {58722#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {58722#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:57,070 INFO L290 TraceCheckUtils]: 19: Hoare triple {58722#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {58723#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:57,071 INFO L290 TraceCheckUtils]: 20: Hoare triple {58723#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {58723#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:01:57,072 INFO L272 TraceCheckUtils]: 21: Hoare triple {58723#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {58724#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:01:57,072 INFO L290 TraceCheckUtils]: 22: Hoare triple {58724#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {58725#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:01:57,072 INFO L290 TraceCheckUtils]: 23: Hoare triple {58725#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {58709#false} is VALID [2022-04-28 04:01:57,072 INFO L290 TraceCheckUtils]: 24: Hoare triple {58709#false} assume !false; {58709#false} is VALID [2022-04-28 04:01:57,073 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:01:57,073 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:01:57,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2062298126] [2022-04-28 04:01:57,073 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2062298126] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:01:57,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1648983482] [2022-04-28 04:01:57,073 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:01:57,073 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:01:57,073 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:01:57,075 INFO L229 MonitoredProcess]: Starting monitored process 44 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:01:57,077 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (44)] Waiting until timeout for monitored process [2022-04-28 04:01:57,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:57,107 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:01:57,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:01:57,114 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:01:57,334 INFO L272 TraceCheckUtils]: 0: Hoare triple {58708#true} call ULTIMATE.init(); {58708#true} is VALID [2022-04-28 04:01:57,335 INFO L290 TraceCheckUtils]: 1: Hoare triple {58708#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,335 INFO L290 TraceCheckUtils]: 2: Hoare triple {58713#(<= 20 ~SIZE~0)} assume true; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,335 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {58713#(<= 20 ~SIZE~0)} {58708#true} #90#return; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,335 INFO L272 TraceCheckUtils]: 4: Hoare triple {58713#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,336 INFO L290 TraceCheckUtils]: 5: Hoare triple {58713#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,336 INFO L272 TraceCheckUtils]: 6: Hoare triple {58713#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,336 INFO L290 TraceCheckUtils]: 7: Hoare triple {58713#(<= 20 ~SIZE~0)} ~cond := #in~cond; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,336 INFO L290 TraceCheckUtils]: 8: Hoare triple {58713#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,337 INFO L290 TraceCheckUtils]: 9: Hoare triple {58713#(<= 20 ~SIZE~0)} assume true; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,337 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {58713#(<= 20 ~SIZE~0)} {58713#(<= 20 ~SIZE~0)} #86#return; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,337 INFO L290 TraceCheckUtils]: 11: Hoare triple {58713#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:01:57,337 INFO L290 TraceCheckUtils]: 12: Hoare triple {58713#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {58766#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:01:57,338 INFO L290 TraceCheckUtils]: 13: Hoare triple {58766#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [274] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_446 v_main_~c~0_1060)) (.cse1 (= |v_main_#t~post5_584| |v_main_#t~post5_582|)) (.cse2 (= v_main_~st~0_579 v_main_~st~0_578))) (or (and (or (not (< v_main_~c~0_1060 v_~SIZE~0_402)) (not .cse0)) (= v_main_~c~0_1059 v_main_~c~0_1060) .cse1 .cse2) (and (< v_main_~c~0_1059 (+ v_~SIZE~0_402 1)) (= v_main_~st~0_578 0) .cse0 (< v_main_~c~0_1060 v_main_~c~0_1059)) (and (= v_main_~c~0_1060 v_main_~c~0_1059) (= v_~SIZE~0_402 v_~SIZE~0_402) .cse1 (= v_~last~0_446 v_~last~0_446) .cse2))) InVars {~SIZE~0=v_~SIZE~0_402, main_~c~0=v_main_~c~0_1060, main_#t~post5=|v_main_#t~post5_584|, main_~st~0=v_main_~st~0_579, ~last~0=v_~last~0_446} OutVars{~SIZE~0=v_~SIZE~0_402, main_#t~post5=|v_main_#t~post5_582|, main_~c~0=v_main_~c~0_1059, main_~st~0=v_main_~st~0_578, ~last~0=v_~last~0_446} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {58770#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:01:57,338 INFO L290 TraceCheckUtils]: 14: Hoare triple {58770#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [275] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {58770#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:01:57,339 INFO L290 TraceCheckUtils]: 15: Hoare triple {58770#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [276] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1062 v_main_~c~0_1061)) (.cse1 (= |v_main_#t~post5_587| |v_main_#t~post5_583|))) (or (and (or (not (< v_main_~c~0_1062 v_~SIZE~0_403)) (not (< v_main_~c~0_1062 v_~last~0_447))) .cse0 .cse1) (and (= v_~SIZE~0_403 v_~SIZE~0_403) .cse0 (= v_~last~0_447 v_~last~0_447) .cse1) (and (< v_main_~c~0_1062 v_main_~c~0_1061) (< v_main_~c~0_1061 (+ v_~last~0_447 1)) (< v_main_~c~0_1061 (+ v_~SIZE~0_403 1))))) InVars {~SIZE~0=v_~SIZE~0_403, main_~c~0=v_main_~c~0_1062, main_#t~post5=|v_main_#t~post5_587|, ~last~0=v_~last~0_447} OutVars{~SIZE~0=v_~SIZE~0_403, main_#t~post5=|v_main_#t~post5_583|, main_~c~0=v_main_~c~0_1061, ~last~0=v_~last~0_447} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {58770#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:01:57,339 INFO L290 TraceCheckUtils]: 16: Hoare triple {58770#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [273] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {58780#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:01:57,340 INFO L290 TraceCheckUtils]: 17: Hoare triple {58780#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {58709#false} is VALID [2022-04-28 04:01:57,340 INFO L290 TraceCheckUtils]: 18: Hoare triple {58709#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {58709#false} is VALID [2022-04-28 04:01:57,340 INFO L290 TraceCheckUtils]: 19: Hoare triple {58709#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {58709#false} is VALID [2022-04-28 04:01:57,340 INFO L290 TraceCheckUtils]: 20: Hoare triple {58709#false} assume !(~d~0 == ~SIZE~0); {58709#false} is VALID [2022-04-28 04:01:57,340 INFO L272 TraceCheckUtils]: 21: Hoare triple {58709#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {58709#false} is VALID [2022-04-28 04:01:57,340 INFO L290 TraceCheckUtils]: 22: Hoare triple {58709#false} ~cond := #in~cond; {58709#false} is VALID [2022-04-28 04:01:57,340 INFO L290 TraceCheckUtils]: 23: Hoare triple {58709#false} assume 0 == ~cond; {58709#false} is VALID [2022-04-28 04:01:57,340 INFO L290 TraceCheckUtils]: 24: Hoare triple {58709#false} assume !false; {58709#false} is VALID [2022-04-28 04:01:57,341 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:01:57,341 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:01:57,715 INFO L290 TraceCheckUtils]: 24: Hoare triple {58709#false} assume !false; {58709#false} is VALID [2022-04-28 04:01:57,715 INFO L290 TraceCheckUtils]: 23: Hoare triple {58709#false} assume 0 == ~cond; {58709#false} is VALID [2022-04-28 04:01:57,715 INFO L290 TraceCheckUtils]: 22: Hoare triple {58709#false} ~cond := #in~cond; {58709#false} is VALID [2022-04-28 04:01:57,716 INFO L272 TraceCheckUtils]: 21: Hoare triple {58709#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {58709#false} is VALID [2022-04-28 04:01:57,716 INFO L290 TraceCheckUtils]: 20: Hoare triple {58709#false} assume !(~d~0 == ~SIZE~0); {58709#false} is VALID [2022-04-28 04:01:57,716 INFO L290 TraceCheckUtils]: 19: Hoare triple {58709#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {58709#false} is VALID [2022-04-28 04:01:57,716 INFO L290 TraceCheckUtils]: 18: Hoare triple {58709#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {58709#false} is VALID [2022-04-28 04:01:57,716 INFO L290 TraceCheckUtils]: 17: Hoare triple {58826#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {58709#false} is VALID [2022-04-28 04:01:57,717 INFO L290 TraceCheckUtils]: 16: Hoare triple {58830#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [273] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {58826#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:01:57,717 INFO L290 TraceCheckUtils]: 15: Hoare triple {58830#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [276] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1062 v_main_~c~0_1061)) (.cse1 (= |v_main_#t~post5_587| |v_main_#t~post5_583|))) (or (and (or (not (< v_main_~c~0_1062 v_~SIZE~0_403)) (not (< v_main_~c~0_1062 v_~last~0_447))) .cse0 .cse1) (and (= v_~SIZE~0_403 v_~SIZE~0_403) .cse0 (= v_~last~0_447 v_~last~0_447) .cse1) (and (< v_main_~c~0_1062 v_main_~c~0_1061) (< v_main_~c~0_1061 (+ v_~last~0_447 1)) (< v_main_~c~0_1061 (+ v_~SIZE~0_403 1))))) InVars {~SIZE~0=v_~SIZE~0_403, main_~c~0=v_main_~c~0_1062, main_#t~post5=|v_main_#t~post5_587|, ~last~0=v_~last~0_447} OutVars{~SIZE~0=v_~SIZE~0_403, main_#t~post5=|v_main_#t~post5_583|, main_~c~0=v_main_~c~0_1061, ~last~0=v_~last~0_447} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {58830#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:57,717 INFO L290 TraceCheckUtils]: 14: Hoare triple {58830#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [275] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {58830#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:57,718 INFO L290 TraceCheckUtils]: 13: Hoare triple {58840#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [274] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_446 v_main_~c~0_1060)) (.cse1 (= |v_main_#t~post5_584| |v_main_#t~post5_582|)) (.cse2 (= v_main_~st~0_579 v_main_~st~0_578))) (or (and (or (not (< v_main_~c~0_1060 v_~SIZE~0_402)) (not .cse0)) (= v_main_~c~0_1059 v_main_~c~0_1060) .cse1 .cse2) (and (< v_main_~c~0_1059 (+ v_~SIZE~0_402 1)) (= v_main_~st~0_578 0) .cse0 (< v_main_~c~0_1060 v_main_~c~0_1059)) (and (= v_main_~c~0_1060 v_main_~c~0_1059) (= v_~SIZE~0_402 v_~SIZE~0_402) .cse1 (= v_~last~0_446 v_~last~0_446) .cse2))) InVars {~SIZE~0=v_~SIZE~0_402, main_~c~0=v_main_~c~0_1060, main_#t~post5=|v_main_#t~post5_584|, main_~st~0=v_main_~st~0_579, ~last~0=v_~last~0_446} OutVars{~SIZE~0=v_~SIZE~0_402, main_#t~post5=|v_main_#t~post5_582|, main_~c~0=v_main_~c~0_1059, main_~st~0=v_main_~st~0_578, ~last~0=v_~last~0_446} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {58830#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:01:57,719 INFO L290 TraceCheckUtils]: 12: Hoare triple {58844#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {58840#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:01:57,719 INFO L290 TraceCheckUtils]: 11: Hoare triple {58844#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {58844#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:57,719 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {58708#true} {58844#(< 1 ~SIZE~0)} #86#return; {58844#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:57,719 INFO L290 TraceCheckUtils]: 9: Hoare triple {58708#true} assume true; {58708#true} is VALID [2022-04-28 04:01:57,719 INFO L290 TraceCheckUtils]: 8: Hoare triple {58708#true} assume !(0 == ~cond); {58708#true} is VALID [2022-04-28 04:01:57,720 INFO L290 TraceCheckUtils]: 7: Hoare triple {58708#true} ~cond := #in~cond; {58708#true} is VALID [2022-04-28 04:01:57,720 INFO L272 TraceCheckUtils]: 6: Hoare triple {58844#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {58708#true} is VALID [2022-04-28 04:01:57,720 INFO L290 TraceCheckUtils]: 5: Hoare triple {58844#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {58844#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:57,720 INFO L272 TraceCheckUtils]: 4: Hoare triple {58844#(< 1 ~SIZE~0)} call #t~ret7 := main(); {58844#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:57,721 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {58844#(< 1 ~SIZE~0)} {58708#true} #90#return; {58844#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:57,721 INFO L290 TraceCheckUtils]: 2: Hoare triple {58844#(< 1 ~SIZE~0)} assume true; {58844#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:57,721 INFO L290 TraceCheckUtils]: 1: Hoare triple {58708#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {58844#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:01:57,721 INFO L272 TraceCheckUtils]: 0: Hoare triple {58708#true} call ULTIMATE.init(); {58708#true} is VALID [2022-04-28 04:01:57,722 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:01:57,722 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1648983482] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:01:57,722 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:01:57,722 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:01:58,701 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:01:58,701 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [333349048] [2022-04-28 04:01:58,701 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [333349048] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:01:58,701 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:01:58,701 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-28 04:01:58,701 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [633878189] [2022-04-28 04:01:58,701 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:01:58,702 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 1.7037037037037037) internal successors, (46), 25 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 52 [2022-04-28 04:01:58,702 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:01:58,702 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 27 states, 27 states have (on average 1.7037037037037037) internal successors, (46), 25 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:01:58,742 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:01:58,742 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-28 04:01:58,742 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:01:58,743 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-28 04:01:58,743 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=217, Invalid=1043, Unknown=0, NotChecked=0, Total=1260 [2022-04-28 04:01:58,743 INFO L87 Difference]: Start difference. First operand 196 states and 237 transitions. Second operand has 27 states, 27 states have (on average 1.7037037037037037) internal successors, (46), 25 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:01,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:02:01,396 INFO L93 Difference]: Finished difference Result 332 states and 403 transitions. [2022-04-28 04:02:01,396 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-28 04:02:01,396 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 1.7037037037037037) internal successors, (46), 25 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 52 [2022-04-28 04:02:01,396 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:02:01,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 1.7037037037037037) internal successors, (46), 25 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:01,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 100 transitions. [2022-04-28 04:02:01,397 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 1.7037037037037037) internal successors, (46), 25 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:01,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 100 transitions. [2022-04-28 04:02:01,398 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 100 transitions. [2022-04-28 04:02:01,444 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:02:01,447 INFO L225 Difference]: With dead ends: 332 [2022-04-28 04:02:01,447 INFO L226 Difference]: Without dead ends: 227 [2022-04-28 04:02:01,447 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 48 SyntacticMatches, 14 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 630 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=229, Invalid=1177, Unknown=0, NotChecked=0, Total=1406 [2022-04-28 04:02:01,449 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 47 mSDsluCounter, 60 mSDsCounter, 0 mSdLazyCounter, 1286 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 80 SdHoareTripleChecker+Invalid, 1296 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1286 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 04:02:01,449 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 80 Invalid, 1296 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1286 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 04:02:01,449 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 227 states. [2022-04-28 04:02:01,908 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 227 to 196. [2022-04-28 04:02:01,908 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:02:01,908 INFO L82 GeneralOperation]: Start isEquivalent. First operand 227 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:01,909 INFO L74 IsIncluded]: Start isIncluded. First operand 227 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:01,909 INFO L87 Difference]: Start difference. First operand 227 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:01,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:02:01,912 INFO L93 Difference]: Finished difference Result 227 states and 270 transitions. [2022-04-28 04:02:01,912 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 270 transitions. [2022-04-28 04:02:01,912 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:02:01,912 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:02:01,912 INFO L74 IsIncluded]: Start isIncluded. First operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 227 states. [2022-04-28 04:02:01,912 INFO L87 Difference]: Start difference. First operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 227 states. [2022-04-28 04:02:01,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:02:01,915 INFO L93 Difference]: Finished difference Result 227 states and 270 transitions. [2022-04-28 04:02:01,915 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 270 transitions. [2022-04-28 04:02:01,915 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:02:01,915 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:02:01,915 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:02:01,915 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:02:01,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:01,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 196 states to 196 states and 237 transitions. [2022-04-28 04:02:01,917 INFO L78 Accepts]: Start accepts. Automaton has 196 states and 237 transitions. Word has length 52 [2022-04-28 04:02:01,917 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:02:01,917 INFO L495 AbstractCegarLoop]: Abstraction has 196 states and 237 transitions. [2022-04-28 04:02:01,917 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 27 states have (on average 1.7037037037037037) internal successors, (46), 25 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:01,918 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 196 states and 237 transitions. [2022-04-28 04:02:02,555 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 237 edges. 237 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:02:02,555 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 237 transitions. [2022-04-28 04:02:02,555 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 04:02:02,555 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:02:02,555 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 5, 5, 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:02:02,573 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (44)] Forceful destruction successful, exit code 0 [2022-04-28 04:02:02,776 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 44 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable50 [2022-04-28 04:02:02,776 INFO L420 AbstractCegarLoop]: === Iteration 52 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:02:02,776 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:02:02,776 INFO L85 PathProgramCache]: Analyzing trace with hash 1558087932, now seen corresponding path program 41 times [2022-04-28 04:02:02,776 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:02:02,776 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [28954807] [2022-04-28 04:02:02,994 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:02:07,115 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:02:07,225 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:02:07,226 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:02:07,229 INFO L85 PathProgramCache]: Analyzing trace with hash 1249608513, now seen corresponding path program 1 times [2022-04-28 04:02:07,229 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:02:07,229 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1547160013] [2022-04-28 04:02:07,229 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:02:07,229 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:02:07,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:07,386 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:02:07,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:07,391 INFO L290 TraceCheckUtils]: 0: Hoare triple {60433#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,391 INFO L290 TraceCheckUtils]: 1: Hoare triple {60420#(<= 20 ~SIZE~0)} assume true; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,392 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {60420#(<= 20 ~SIZE~0)} {60415#true} #90#return; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,392 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:02:07,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:07,394 INFO L290 TraceCheckUtils]: 0: Hoare triple {60415#true} ~cond := #in~cond; {60415#true} is VALID [2022-04-28 04:02:07,394 INFO L290 TraceCheckUtils]: 1: Hoare triple {60415#true} assume !(0 == ~cond); {60415#true} is VALID [2022-04-28 04:02:07,394 INFO L290 TraceCheckUtils]: 2: Hoare triple {60415#true} assume true; {60415#true} is VALID [2022-04-28 04:02:07,394 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60415#true} {60420#(<= 20 ~SIZE~0)} #86#return; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,395 INFO L272 TraceCheckUtils]: 0: Hoare triple {60415#true} call ULTIMATE.init(); {60433#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:02:07,395 INFO L290 TraceCheckUtils]: 1: Hoare triple {60433#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,395 INFO L290 TraceCheckUtils]: 2: Hoare triple {60420#(<= 20 ~SIZE~0)} assume true; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,396 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60420#(<= 20 ~SIZE~0)} {60415#true} #90#return; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,396 INFO L272 TraceCheckUtils]: 4: Hoare triple {60420#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,396 INFO L290 TraceCheckUtils]: 5: Hoare triple {60420#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,396 INFO L272 TraceCheckUtils]: 6: Hoare triple {60420#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {60415#true} is VALID [2022-04-28 04:02:07,397 INFO L290 TraceCheckUtils]: 7: Hoare triple {60415#true} ~cond := #in~cond; {60415#true} is VALID [2022-04-28 04:02:07,397 INFO L290 TraceCheckUtils]: 8: Hoare triple {60415#true} assume !(0 == ~cond); {60415#true} is VALID [2022-04-28 04:02:07,397 INFO L290 TraceCheckUtils]: 9: Hoare triple {60415#true} assume true; {60415#true} is VALID [2022-04-28 04:02:07,397 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {60415#true} {60420#(<= 20 ~SIZE~0)} #86#return; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,397 INFO L290 TraceCheckUtils]: 11: Hoare triple {60420#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {60425#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:02:07,398 INFO L290 TraceCheckUtils]: 12: Hoare triple {60425#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {60426#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:02:07,399 INFO L290 TraceCheckUtils]: 13: Hoare triple {60426#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [278] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_597| |v_main_#t~post5_595|)) (.cse2 (= v_main_~c~0_1087 v_main_~c~0_1086)) (.cse3 (= v_main_~st~0_594 v_main_~st~0_593)) (.cse1 (<= v_~last~0_456 v_main_~c~0_1087))) (or (and .cse0 (or (not (< v_main_~c~0_1087 v_~SIZE~0_411)) (not .cse1)) .cse2 .cse3) (and .cse0 (= v_~SIZE~0_411 v_~SIZE~0_411) .cse2 .cse3 (= v_~last~0_456 v_~last~0_456)) (and (< v_main_~c~0_1086 (+ v_~SIZE~0_411 1)) .cse1 (< v_main_~c~0_1087 v_main_~c~0_1086) (= v_main_~st~0_593 0)))) InVars {~SIZE~0=v_~SIZE~0_411, main_~c~0=v_main_~c~0_1087, main_#t~post5=|v_main_#t~post5_597|, main_~st~0=v_main_~st~0_594, ~last~0=v_~last~0_456} OutVars{~SIZE~0=v_~SIZE~0_411, main_#t~post5=|v_main_#t~post5_595|, main_~c~0=v_main_~c~0_1086, main_~st~0=v_main_~st~0_593, ~last~0=v_~last~0_456} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {60427#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:02:07,399 INFO L290 TraceCheckUtils]: 14: Hoare triple {60427#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [279] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {60427#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:02:07,400 INFO L290 TraceCheckUtils]: 15: Hoare triple {60427#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [280] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_600| |v_main_#t~post5_596|)) (.cse1 (= v_main_~c~0_1089 v_main_~c~0_1088))) (or (and .cse0 (= v_~SIZE~0_412 v_~SIZE~0_412) (= v_~last~0_457 v_~last~0_457) .cse1) (and (< v_main_~c~0_1088 (+ v_~last~0_457 1)) (< v_main_~c~0_1088 (+ v_~SIZE~0_412 1)) (< v_main_~c~0_1089 v_main_~c~0_1088)) (and (or (not (< v_main_~c~0_1089 v_~SIZE~0_412)) (not (< v_main_~c~0_1089 v_~last~0_457))) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_412, main_~c~0=v_main_~c~0_1089, main_#t~post5=|v_main_#t~post5_600|, ~last~0=v_~last~0_457} OutVars{~SIZE~0=v_~SIZE~0_412, main_#t~post5=|v_main_#t~post5_596|, main_~c~0=v_main_~c~0_1088, ~last~0=v_~last~0_457} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {60427#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:02:07,400 INFO L290 TraceCheckUtils]: 16: Hoare triple {60427#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [277] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {60428#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:02:07,401 INFO L290 TraceCheckUtils]: 17: Hoare triple {60428#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {60429#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:07,401 INFO L290 TraceCheckUtils]: 18: Hoare triple {60429#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {60429#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:07,402 INFO L290 TraceCheckUtils]: 19: Hoare triple {60429#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {60430#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:07,402 INFO L290 TraceCheckUtils]: 20: Hoare triple {60430#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {60430#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:07,403 INFO L272 TraceCheckUtils]: 21: Hoare triple {60430#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {60431#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:02:07,403 INFO L290 TraceCheckUtils]: 22: Hoare triple {60431#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {60432#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:02:07,404 INFO L290 TraceCheckUtils]: 23: Hoare triple {60432#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {60416#false} is VALID [2022-04-28 04:02:07,404 INFO L290 TraceCheckUtils]: 24: Hoare triple {60416#false} assume !false; {60416#false} is VALID [2022-04-28 04:02:07,404 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:02:07,404 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:02:07,404 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1547160013] [2022-04-28 04:02:07,404 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1547160013] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:02:07,404 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1394667779] [2022-04-28 04:02:07,404 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:02:07,404 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:02:07,404 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:02:07,405 INFO L229 MonitoredProcess]: Starting monitored process 45 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:02:07,406 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (45)] Waiting until timeout for monitored process [2022-04-28 04:02:07,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:07,435 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:02:07,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:07,441 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:02:07,730 INFO L272 TraceCheckUtils]: 0: Hoare triple {60415#true} call ULTIMATE.init(); {60415#true} is VALID [2022-04-28 04:02:07,730 INFO L290 TraceCheckUtils]: 1: Hoare triple {60415#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,730 INFO L290 TraceCheckUtils]: 2: Hoare triple {60420#(<= 20 ~SIZE~0)} assume true; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,731 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60420#(<= 20 ~SIZE~0)} {60415#true} #90#return; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,731 INFO L272 TraceCheckUtils]: 4: Hoare triple {60420#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,731 INFO L290 TraceCheckUtils]: 5: Hoare triple {60420#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,732 INFO L272 TraceCheckUtils]: 6: Hoare triple {60420#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,732 INFO L290 TraceCheckUtils]: 7: Hoare triple {60420#(<= 20 ~SIZE~0)} ~cond := #in~cond; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,732 INFO L290 TraceCheckUtils]: 8: Hoare triple {60420#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,732 INFO L290 TraceCheckUtils]: 9: Hoare triple {60420#(<= 20 ~SIZE~0)} assume true; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,733 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {60420#(<= 20 ~SIZE~0)} {60420#(<= 20 ~SIZE~0)} #86#return; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,733 INFO L290 TraceCheckUtils]: 11: Hoare triple {60420#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:07,733 INFO L290 TraceCheckUtils]: 12: Hoare triple {60420#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {60473#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:02:07,734 INFO L290 TraceCheckUtils]: 13: Hoare triple {60473#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [278] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_597| |v_main_#t~post5_595|)) (.cse2 (= v_main_~c~0_1087 v_main_~c~0_1086)) (.cse3 (= v_main_~st~0_594 v_main_~st~0_593)) (.cse1 (<= v_~last~0_456 v_main_~c~0_1087))) (or (and .cse0 (or (not (< v_main_~c~0_1087 v_~SIZE~0_411)) (not .cse1)) .cse2 .cse3) (and .cse0 (= v_~SIZE~0_411 v_~SIZE~0_411) .cse2 .cse3 (= v_~last~0_456 v_~last~0_456)) (and (< v_main_~c~0_1086 (+ v_~SIZE~0_411 1)) .cse1 (< v_main_~c~0_1087 v_main_~c~0_1086) (= v_main_~st~0_593 0)))) InVars {~SIZE~0=v_~SIZE~0_411, main_~c~0=v_main_~c~0_1087, main_#t~post5=|v_main_#t~post5_597|, main_~st~0=v_main_~st~0_594, ~last~0=v_~last~0_456} OutVars{~SIZE~0=v_~SIZE~0_411, main_#t~post5=|v_main_#t~post5_595|, main_~c~0=v_main_~c~0_1086, main_~st~0=v_main_~st~0_593, ~last~0=v_~last~0_456} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {60477#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:02:07,734 INFO L290 TraceCheckUtils]: 14: Hoare triple {60477#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [279] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {60477#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:02:07,735 INFO L290 TraceCheckUtils]: 15: Hoare triple {60477#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [280] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_600| |v_main_#t~post5_596|)) (.cse1 (= v_main_~c~0_1089 v_main_~c~0_1088))) (or (and .cse0 (= v_~SIZE~0_412 v_~SIZE~0_412) (= v_~last~0_457 v_~last~0_457) .cse1) (and (< v_main_~c~0_1088 (+ v_~last~0_457 1)) (< v_main_~c~0_1088 (+ v_~SIZE~0_412 1)) (< v_main_~c~0_1089 v_main_~c~0_1088)) (and (or (not (< v_main_~c~0_1089 v_~SIZE~0_412)) (not (< v_main_~c~0_1089 v_~last~0_457))) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_412, main_~c~0=v_main_~c~0_1089, main_#t~post5=|v_main_#t~post5_600|, ~last~0=v_~last~0_457} OutVars{~SIZE~0=v_~SIZE~0_412, main_#t~post5=|v_main_#t~post5_596|, main_~c~0=v_main_~c~0_1088, ~last~0=v_~last~0_457} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {60477#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:02:07,735 INFO L290 TraceCheckUtils]: 16: Hoare triple {60477#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [277] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {60487#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:02:07,736 INFO L290 TraceCheckUtils]: 17: Hoare triple {60487#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {60416#false} is VALID [2022-04-28 04:02:07,736 INFO L290 TraceCheckUtils]: 18: Hoare triple {60416#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {60416#false} is VALID [2022-04-28 04:02:07,736 INFO L290 TraceCheckUtils]: 19: Hoare triple {60416#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {60416#false} is VALID [2022-04-28 04:02:07,736 INFO L290 TraceCheckUtils]: 20: Hoare triple {60416#false} assume !(~d~0 == ~SIZE~0); {60416#false} is VALID [2022-04-28 04:02:07,736 INFO L272 TraceCheckUtils]: 21: Hoare triple {60416#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {60416#false} is VALID [2022-04-28 04:02:07,736 INFO L290 TraceCheckUtils]: 22: Hoare triple {60416#false} ~cond := #in~cond; {60416#false} is VALID [2022-04-28 04:02:07,736 INFO L290 TraceCheckUtils]: 23: Hoare triple {60416#false} assume 0 == ~cond; {60416#false} is VALID [2022-04-28 04:02:07,736 INFO L290 TraceCheckUtils]: 24: Hoare triple {60416#false} assume !false; {60416#false} is VALID [2022-04-28 04:02:07,736 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:02:07,737 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:02:08,055 INFO L290 TraceCheckUtils]: 24: Hoare triple {60416#false} assume !false; {60416#false} is VALID [2022-04-28 04:02:08,056 INFO L290 TraceCheckUtils]: 23: Hoare triple {60416#false} assume 0 == ~cond; {60416#false} is VALID [2022-04-28 04:02:08,056 INFO L290 TraceCheckUtils]: 22: Hoare triple {60416#false} ~cond := #in~cond; {60416#false} is VALID [2022-04-28 04:02:08,056 INFO L272 TraceCheckUtils]: 21: Hoare triple {60416#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {60416#false} is VALID [2022-04-28 04:02:08,056 INFO L290 TraceCheckUtils]: 20: Hoare triple {60416#false} assume !(~d~0 == ~SIZE~0); {60416#false} is VALID [2022-04-28 04:02:08,056 INFO L290 TraceCheckUtils]: 19: Hoare triple {60416#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {60416#false} is VALID [2022-04-28 04:02:08,056 INFO L290 TraceCheckUtils]: 18: Hoare triple {60416#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {60416#false} is VALID [2022-04-28 04:02:08,056 INFO L290 TraceCheckUtils]: 17: Hoare triple {60533#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {60416#false} is VALID [2022-04-28 04:02:08,057 INFO L290 TraceCheckUtils]: 16: Hoare triple {60537#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [277] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {60533#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:02:08,057 INFO L290 TraceCheckUtils]: 15: Hoare triple {60537#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [280] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_600| |v_main_#t~post5_596|)) (.cse1 (= v_main_~c~0_1089 v_main_~c~0_1088))) (or (and .cse0 (= v_~SIZE~0_412 v_~SIZE~0_412) (= v_~last~0_457 v_~last~0_457) .cse1) (and (< v_main_~c~0_1088 (+ v_~last~0_457 1)) (< v_main_~c~0_1088 (+ v_~SIZE~0_412 1)) (< v_main_~c~0_1089 v_main_~c~0_1088)) (and (or (not (< v_main_~c~0_1089 v_~SIZE~0_412)) (not (< v_main_~c~0_1089 v_~last~0_457))) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_412, main_~c~0=v_main_~c~0_1089, main_#t~post5=|v_main_#t~post5_600|, ~last~0=v_~last~0_457} OutVars{~SIZE~0=v_~SIZE~0_412, main_#t~post5=|v_main_#t~post5_596|, main_~c~0=v_main_~c~0_1088, ~last~0=v_~last~0_457} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {60537#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:02:08,057 INFO L290 TraceCheckUtils]: 14: Hoare triple {60537#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [279] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {60537#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:02:08,058 INFO L290 TraceCheckUtils]: 13: Hoare triple {60547#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [278] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_597| |v_main_#t~post5_595|)) (.cse2 (= v_main_~c~0_1087 v_main_~c~0_1086)) (.cse3 (= v_main_~st~0_594 v_main_~st~0_593)) (.cse1 (<= v_~last~0_456 v_main_~c~0_1087))) (or (and .cse0 (or (not (< v_main_~c~0_1087 v_~SIZE~0_411)) (not .cse1)) .cse2 .cse3) (and .cse0 (= v_~SIZE~0_411 v_~SIZE~0_411) .cse2 .cse3 (= v_~last~0_456 v_~last~0_456)) (and (< v_main_~c~0_1086 (+ v_~SIZE~0_411 1)) .cse1 (< v_main_~c~0_1087 v_main_~c~0_1086) (= v_main_~st~0_593 0)))) InVars {~SIZE~0=v_~SIZE~0_411, main_~c~0=v_main_~c~0_1087, main_#t~post5=|v_main_#t~post5_597|, main_~st~0=v_main_~st~0_594, ~last~0=v_~last~0_456} OutVars{~SIZE~0=v_~SIZE~0_411, main_#t~post5=|v_main_#t~post5_595|, main_~c~0=v_main_~c~0_1086, main_~st~0=v_main_~st~0_593, ~last~0=v_~last~0_456} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {60537#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:02:08,058 INFO L290 TraceCheckUtils]: 12: Hoare triple {60551#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {60547#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:02:08,058 INFO L290 TraceCheckUtils]: 11: Hoare triple {60551#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {60551#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:08,059 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {60415#true} {60551#(< 1 ~SIZE~0)} #86#return; {60551#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:08,059 INFO L290 TraceCheckUtils]: 9: Hoare triple {60415#true} assume true; {60415#true} is VALID [2022-04-28 04:02:08,059 INFO L290 TraceCheckUtils]: 8: Hoare triple {60415#true} assume !(0 == ~cond); {60415#true} is VALID [2022-04-28 04:02:08,059 INFO L290 TraceCheckUtils]: 7: Hoare triple {60415#true} ~cond := #in~cond; {60415#true} is VALID [2022-04-28 04:02:08,059 INFO L272 TraceCheckUtils]: 6: Hoare triple {60551#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {60415#true} is VALID [2022-04-28 04:02:08,059 INFO L290 TraceCheckUtils]: 5: Hoare triple {60551#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {60551#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:08,059 INFO L272 TraceCheckUtils]: 4: Hoare triple {60551#(< 1 ~SIZE~0)} call #t~ret7 := main(); {60551#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:08,060 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60551#(< 1 ~SIZE~0)} {60415#true} #90#return; {60551#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:08,060 INFO L290 TraceCheckUtils]: 2: Hoare triple {60551#(< 1 ~SIZE~0)} assume true; {60551#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:08,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {60415#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {60551#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:08,060 INFO L272 TraceCheckUtils]: 0: Hoare triple {60415#true} call ULTIMATE.init(); {60415#true} is VALID [2022-04-28 04:02:08,060 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:02:08,060 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1394667779] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:02:08,061 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:02:08,061 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:02:08,992 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:02:08,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [28954807] [2022-04-28 04:02:08,992 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [28954807] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:02:08,992 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:02:08,992 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [28] imperfect sequences [] total 28 [2022-04-28 04:02:08,992 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [426576519] [2022-04-28 04:02:08,993 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:02:08,993 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 1.6428571428571428) internal successors, (46), 26 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 52 [2022-04-28 04:02:08,993 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:02:08,993 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 28 states, 28 states have (on average 1.6428571428571428) internal successors, (46), 26 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:09,045 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:02:09,045 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-28 04:02:09,046 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:02:09,046 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-28 04:02:09,046 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=231, Invalid=1101, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 04:02:09,046 INFO L87 Difference]: Start difference. First operand 196 states and 237 transitions. Second operand has 28 states, 28 states have (on average 1.6428571428571428) internal successors, (46), 26 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:11,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:02:11,072 INFO L93 Difference]: Finished difference Result 329 states and 400 transitions. [2022-04-28 04:02:11,072 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 04:02:11,072 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 1.6428571428571428) internal successors, (46), 26 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 52 [2022-04-28 04:02:11,072 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:02:11,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 1.6428571428571428) internal successors, (46), 26 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:11,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 101 transitions. [2022-04-28 04:02:11,074 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 1.6428571428571428) internal successors, (46), 26 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:11,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 101 transitions. [2022-04-28 04:02:11,074 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 101 transitions. [2022-04-28 04:02:11,127 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:02:11,130 INFO L225 Difference]: With dead ends: 329 [2022-04-28 04:02:11,130 INFO L226 Difference]: Without dead ends: 224 [2022-04-28 04:02:11,131 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 48 SyntacticMatches, 13 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 650 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=243, Invalid=1239, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 04:02:11,131 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 49 mSDsluCounter, 58 mSDsCounter, 0 mSdLazyCounter, 1286 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 78 SdHoareTripleChecker+Invalid, 1296 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1286 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 04:02:11,131 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 78 Invalid, 1296 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1286 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 04:02:11,131 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-04-28 04:02:11,585 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 196. [2022-04-28 04:02:11,586 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:02:11,586 INFO L82 GeneralOperation]: Start isEquivalent. First operand 224 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:11,586 INFO L74 IsIncluded]: Start isIncluded. First operand 224 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:11,586 INFO L87 Difference]: Start difference. First operand 224 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:11,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:02:11,589 INFO L93 Difference]: Finished difference Result 224 states and 267 transitions. [2022-04-28 04:02:11,589 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 267 transitions. [2022-04-28 04:02:11,589 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:02:11,589 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:02:11,589 INFO L74 IsIncluded]: Start isIncluded. First operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 224 states. [2022-04-28 04:02:11,589 INFO L87 Difference]: Start difference. First operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 224 states. [2022-04-28 04:02:11,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:02:11,595 INFO L93 Difference]: Finished difference Result 224 states and 267 transitions. [2022-04-28 04:02:11,595 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 267 transitions. [2022-04-28 04:02:11,595 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:02:11,595 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:02:11,595 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:02:11,595 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:02:11,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:11,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 196 states to 196 states and 237 transitions. [2022-04-28 04:02:11,598 INFO L78 Accepts]: Start accepts. Automaton has 196 states and 237 transitions. Word has length 52 [2022-04-28 04:02:11,598 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:02:11,598 INFO L495 AbstractCegarLoop]: Abstraction has 196 states and 237 transitions. [2022-04-28 04:02:11,598 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 28 states, 28 states have (on average 1.6428571428571428) internal successors, (46), 26 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:11,598 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 196 states and 237 transitions. [2022-04-28 04:02:12,244 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 237 edges. 237 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:02:12,244 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 237 transitions. [2022-04-28 04:02:12,244 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 04:02:12,244 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:02:12,244 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 6, 4, 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:02:12,261 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (45)] Forceful destruction successful, exit code 0 [2022-04-28 04:02:12,449 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable51,45 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:02:12,450 INFO L420 AbstractCegarLoop]: === Iteration 53 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:02:12,450 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:02:12,450 INFO L85 PathProgramCache]: Analyzing trace with hash -247350402, now seen corresponding path program 42 times [2022-04-28 04:02:12,450 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:02:12,450 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1830056967] [2022-04-28 04:02:16,565 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:02:16,690 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:02:19,301 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:02:19,401 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:02:19,402 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:02:19,405 INFO L85 PathProgramCache]: Analyzing trace with hash -552836031, now seen corresponding path program 1 times [2022-04-28 04:02:19,405 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:02:19,405 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1564830286] [2022-04-28 04:02:19,405 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:02:19,405 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:02:19,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:19,575 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:02:19,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:19,580 INFO L290 TraceCheckUtils]: 0: Hoare triple {62129#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,580 INFO L290 TraceCheckUtils]: 1: Hoare triple {62116#(<= 20 ~SIZE~0)} assume true; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,580 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {62116#(<= 20 ~SIZE~0)} {62111#true} #90#return; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,580 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:02:19,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:19,582 INFO L290 TraceCheckUtils]: 0: Hoare triple {62111#true} ~cond := #in~cond; {62111#true} is VALID [2022-04-28 04:02:19,582 INFO L290 TraceCheckUtils]: 1: Hoare triple {62111#true} assume !(0 == ~cond); {62111#true} is VALID [2022-04-28 04:02:19,582 INFO L290 TraceCheckUtils]: 2: Hoare triple {62111#true} assume true; {62111#true} is VALID [2022-04-28 04:02:19,582 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {62111#true} {62116#(<= 20 ~SIZE~0)} #86#return; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,583 INFO L272 TraceCheckUtils]: 0: Hoare triple {62111#true} call ULTIMATE.init(); {62129#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:02:19,583 INFO L290 TraceCheckUtils]: 1: Hoare triple {62129#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,584 INFO L290 TraceCheckUtils]: 2: Hoare triple {62116#(<= 20 ~SIZE~0)} assume true; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,584 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {62116#(<= 20 ~SIZE~0)} {62111#true} #90#return; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,584 INFO L272 TraceCheckUtils]: 4: Hoare triple {62116#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,584 INFO L290 TraceCheckUtils]: 5: Hoare triple {62116#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,584 INFO L272 TraceCheckUtils]: 6: Hoare triple {62116#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {62111#true} is VALID [2022-04-28 04:02:19,584 INFO L290 TraceCheckUtils]: 7: Hoare triple {62111#true} ~cond := #in~cond; {62111#true} is VALID [2022-04-28 04:02:19,584 INFO L290 TraceCheckUtils]: 8: Hoare triple {62111#true} assume !(0 == ~cond); {62111#true} is VALID [2022-04-28 04:02:19,585 INFO L290 TraceCheckUtils]: 9: Hoare triple {62111#true} assume true; {62111#true} is VALID [2022-04-28 04:02:19,585 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {62111#true} {62116#(<= 20 ~SIZE~0)} #86#return; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,585 INFO L290 TraceCheckUtils]: 11: Hoare triple {62116#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {62121#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:02:19,585 INFO L290 TraceCheckUtils]: 12: Hoare triple {62121#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {62122#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:02:19,586 INFO L290 TraceCheckUtils]: 13: Hoare triple {62122#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [282] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1114 v_main_~c~0_1113)) (.cse1 (= v_main_~st~0_608 v_main_~st~0_607)) (.cse2 (<= v_~last~0_466 v_main_~c~0_1114))) (or (and .cse0 (= v_~last~0_466 v_~last~0_466) (= |v_main_#t~post5_610| |v_main_#t~post5_608|) (= v_~SIZE~0_420 v_~SIZE~0_420) .cse1) (and .cse0 (= |v_main_#t~post5_608| |v_main_#t~post5_610|) .cse1 (or (not (< v_main_~c~0_1114 v_~SIZE~0_420)) (not .cse2))) (and (< v_main_~c~0_1113 (+ v_~SIZE~0_420 1)) (< v_main_~c~0_1114 v_main_~c~0_1113) .cse2 (= v_main_~st~0_607 0)))) InVars {~SIZE~0=v_~SIZE~0_420, main_~c~0=v_main_~c~0_1114, main_#t~post5=|v_main_#t~post5_610|, main_~st~0=v_main_~st~0_608, ~last~0=v_~last~0_466} OutVars{~SIZE~0=v_~SIZE~0_420, main_#t~post5=|v_main_#t~post5_608|, main_~c~0=v_main_~c~0_1113, main_~st~0=v_main_~st~0_607, ~last~0=v_~last~0_466} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {62123#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:02:19,587 INFO L290 TraceCheckUtils]: 14: Hoare triple {62123#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [283] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {62123#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:02:19,587 INFO L290 TraceCheckUtils]: 15: Hoare triple {62123#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [284] L25-3-->L25-4_primed: Formula: (or (and (= |v_main_#t~post5_613| |v_main_#t~post5_609|) (= v_main_~c~0_1116 v_main_~c~0_1115) (= v_~last~0_467 v_~last~0_467) (= v_~SIZE~0_421 v_~SIZE~0_421)) (and (= v_main_~c~0_1115 v_main_~c~0_1116) (= |v_main_#t~post5_609| |v_main_#t~post5_613|) (or (not (< v_main_~c~0_1116 v_~SIZE~0_421)) (not (< v_main_~c~0_1116 v_~last~0_467)))) (and (< v_main_~c~0_1116 v_main_~c~0_1115) (< v_main_~c~0_1115 (+ v_~SIZE~0_421 1)) (< v_main_~c~0_1115 (+ v_~last~0_467 1)))) InVars {~SIZE~0=v_~SIZE~0_421, main_~c~0=v_main_~c~0_1116, main_#t~post5=|v_main_#t~post5_613|, ~last~0=v_~last~0_467} OutVars{~SIZE~0=v_~SIZE~0_421, main_#t~post5=|v_main_#t~post5_609|, main_~c~0=v_main_~c~0_1115, ~last~0=v_~last~0_467} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {62123#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:02:19,588 INFO L290 TraceCheckUtils]: 16: Hoare triple {62123#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [281] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {62124#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:02:19,588 INFO L290 TraceCheckUtils]: 17: Hoare triple {62124#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {62125#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:19,589 INFO L290 TraceCheckUtils]: 18: Hoare triple {62125#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {62125#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:19,589 INFO L290 TraceCheckUtils]: 19: Hoare triple {62125#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {62126#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:19,589 INFO L290 TraceCheckUtils]: 20: Hoare triple {62126#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {62126#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:19,590 INFO L272 TraceCheckUtils]: 21: Hoare triple {62126#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {62127#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:02:19,590 INFO L290 TraceCheckUtils]: 22: Hoare triple {62127#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {62128#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:02:19,590 INFO L290 TraceCheckUtils]: 23: Hoare triple {62128#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {62112#false} is VALID [2022-04-28 04:02:19,591 INFO L290 TraceCheckUtils]: 24: Hoare triple {62112#false} assume !false; {62112#false} is VALID [2022-04-28 04:02:19,591 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:02:19,591 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:02:19,591 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1564830286] [2022-04-28 04:02:19,591 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1564830286] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:02:19,591 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1168936310] [2022-04-28 04:02:19,591 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:02:19,591 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:02:19,591 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:02:19,592 INFO L229 MonitoredProcess]: Starting monitored process 46 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:02:19,593 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (46)] Waiting until timeout for monitored process [2022-04-28 04:02:19,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:19,627 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:02:19,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:19,642 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:02:19,825 INFO L272 TraceCheckUtils]: 0: Hoare triple {62111#true} call ULTIMATE.init(); {62111#true} is VALID [2022-04-28 04:02:19,826 INFO L290 TraceCheckUtils]: 1: Hoare triple {62111#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,826 INFO L290 TraceCheckUtils]: 2: Hoare triple {62116#(<= 20 ~SIZE~0)} assume true; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,826 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {62116#(<= 20 ~SIZE~0)} {62111#true} #90#return; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,826 INFO L272 TraceCheckUtils]: 4: Hoare triple {62116#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,827 INFO L290 TraceCheckUtils]: 5: Hoare triple {62116#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,827 INFO L272 TraceCheckUtils]: 6: Hoare triple {62116#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,827 INFO L290 TraceCheckUtils]: 7: Hoare triple {62116#(<= 20 ~SIZE~0)} ~cond := #in~cond; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,827 INFO L290 TraceCheckUtils]: 8: Hoare triple {62116#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,828 INFO L290 TraceCheckUtils]: 9: Hoare triple {62116#(<= 20 ~SIZE~0)} assume true; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,828 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {62116#(<= 20 ~SIZE~0)} {62116#(<= 20 ~SIZE~0)} #86#return; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,828 INFO L290 TraceCheckUtils]: 11: Hoare triple {62116#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:19,828 INFO L290 TraceCheckUtils]: 12: Hoare triple {62116#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {62169#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:02:19,829 INFO L290 TraceCheckUtils]: 13: Hoare triple {62169#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [282] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1114 v_main_~c~0_1113)) (.cse1 (= v_main_~st~0_608 v_main_~st~0_607)) (.cse2 (<= v_~last~0_466 v_main_~c~0_1114))) (or (and .cse0 (= v_~last~0_466 v_~last~0_466) (= |v_main_#t~post5_610| |v_main_#t~post5_608|) (= v_~SIZE~0_420 v_~SIZE~0_420) .cse1) (and .cse0 (= |v_main_#t~post5_608| |v_main_#t~post5_610|) .cse1 (or (not (< v_main_~c~0_1114 v_~SIZE~0_420)) (not .cse2))) (and (< v_main_~c~0_1113 (+ v_~SIZE~0_420 1)) (< v_main_~c~0_1114 v_main_~c~0_1113) .cse2 (= v_main_~st~0_607 0)))) InVars {~SIZE~0=v_~SIZE~0_420, main_~c~0=v_main_~c~0_1114, main_#t~post5=|v_main_#t~post5_610|, main_~st~0=v_main_~st~0_608, ~last~0=v_~last~0_466} OutVars{~SIZE~0=v_~SIZE~0_420, main_#t~post5=|v_main_#t~post5_608|, main_~c~0=v_main_~c~0_1113, main_~st~0=v_main_~st~0_607, ~last~0=v_~last~0_466} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {62173#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:02:19,829 INFO L290 TraceCheckUtils]: 14: Hoare triple {62173#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [283] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {62173#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:02:19,830 INFO L290 TraceCheckUtils]: 15: Hoare triple {62173#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [284] L25-3-->L25-4_primed: Formula: (or (and (= |v_main_#t~post5_613| |v_main_#t~post5_609|) (= v_main_~c~0_1116 v_main_~c~0_1115) (= v_~last~0_467 v_~last~0_467) (= v_~SIZE~0_421 v_~SIZE~0_421)) (and (= v_main_~c~0_1115 v_main_~c~0_1116) (= |v_main_#t~post5_609| |v_main_#t~post5_613|) (or (not (< v_main_~c~0_1116 v_~SIZE~0_421)) (not (< v_main_~c~0_1116 v_~last~0_467)))) (and (< v_main_~c~0_1116 v_main_~c~0_1115) (< v_main_~c~0_1115 (+ v_~SIZE~0_421 1)) (< v_main_~c~0_1115 (+ v_~last~0_467 1)))) InVars {~SIZE~0=v_~SIZE~0_421, main_~c~0=v_main_~c~0_1116, main_#t~post5=|v_main_#t~post5_613|, ~last~0=v_~last~0_467} OutVars{~SIZE~0=v_~SIZE~0_421, main_#t~post5=|v_main_#t~post5_609|, main_~c~0=v_main_~c~0_1115, ~last~0=v_~last~0_467} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {62173#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:02:19,830 INFO L290 TraceCheckUtils]: 16: Hoare triple {62173#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [281] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {62183#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:02:19,831 INFO L290 TraceCheckUtils]: 17: Hoare triple {62183#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {62112#false} is VALID [2022-04-28 04:02:19,831 INFO L290 TraceCheckUtils]: 18: Hoare triple {62112#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {62112#false} is VALID [2022-04-28 04:02:19,831 INFO L290 TraceCheckUtils]: 19: Hoare triple {62112#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {62112#false} is VALID [2022-04-28 04:02:19,831 INFO L290 TraceCheckUtils]: 20: Hoare triple {62112#false} assume !(~d~0 == ~SIZE~0); {62112#false} is VALID [2022-04-28 04:02:19,831 INFO L272 TraceCheckUtils]: 21: Hoare triple {62112#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {62112#false} is VALID [2022-04-28 04:02:19,831 INFO L290 TraceCheckUtils]: 22: Hoare triple {62112#false} ~cond := #in~cond; {62112#false} is VALID [2022-04-28 04:02:19,831 INFO L290 TraceCheckUtils]: 23: Hoare triple {62112#false} assume 0 == ~cond; {62112#false} is VALID [2022-04-28 04:02:19,831 INFO L290 TraceCheckUtils]: 24: Hoare triple {62112#false} assume !false; {62112#false} is VALID [2022-04-28 04:02:19,832 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:02:19,832 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:02:20,092 INFO L290 TraceCheckUtils]: 24: Hoare triple {62112#false} assume !false; {62112#false} is VALID [2022-04-28 04:02:20,092 INFO L290 TraceCheckUtils]: 23: Hoare triple {62112#false} assume 0 == ~cond; {62112#false} is VALID [2022-04-28 04:02:20,092 INFO L290 TraceCheckUtils]: 22: Hoare triple {62112#false} ~cond := #in~cond; {62112#false} is VALID [2022-04-28 04:02:20,092 INFO L272 TraceCheckUtils]: 21: Hoare triple {62112#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {62112#false} is VALID [2022-04-28 04:02:20,092 INFO L290 TraceCheckUtils]: 20: Hoare triple {62112#false} assume !(~d~0 == ~SIZE~0); {62112#false} is VALID [2022-04-28 04:02:20,092 INFO L290 TraceCheckUtils]: 19: Hoare triple {62112#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {62112#false} is VALID [2022-04-28 04:02:20,093 INFO L290 TraceCheckUtils]: 18: Hoare triple {62112#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {62112#false} is VALID [2022-04-28 04:02:20,093 INFO L290 TraceCheckUtils]: 17: Hoare triple {62229#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {62112#false} is VALID [2022-04-28 04:02:20,093 INFO L290 TraceCheckUtils]: 16: Hoare triple {62233#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [281] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {62229#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:02:20,094 INFO L290 TraceCheckUtils]: 15: Hoare triple {62233#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [284] L25-3-->L25-4_primed: Formula: (or (and (= |v_main_#t~post5_613| |v_main_#t~post5_609|) (= v_main_~c~0_1116 v_main_~c~0_1115) (= v_~last~0_467 v_~last~0_467) (= v_~SIZE~0_421 v_~SIZE~0_421)) (and (= v_main_~c~0_1115 v_main_~c~0_1116) (= |v_main_#t~post5_609| |v_main_#t~post5_613|) (or (not (< v_main_~c~0_1116 v_~SIZE~0_421)) (not (< v_main_~c~0_1116 v_~last~0_467)))) (and (< v_main_~c~0_1116 v_main_~c~0_1115) (< v_main_~c~0_1115 (+ v_~SIZE~0_421 1)) (< v_main_~c~0_1115 (+ v_~last~0_467 1)))) InVars {~SIZE~0=v_~SIZE~0_421, main_~c~0=v_main_~c~0_1116, main_#t~post5=|v_main_#t~post5_613|, ~last~0=v_~last~0_467} OutVars{~SIZE~0=v_~SIZE~0_421, main_#t~post5=|v_main_#t~post5_609|, main_~c~0=v_main_~c~0_1115, ~last~0=v_~last~0_467} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {62233#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:02:20,094 INFO L290 TraceCheckUtils]: 14: Hoare triple {62233#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [283] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {62233#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:02:20,095 INFO L290 TraceCheckUtils]: 13: Hoare triple {62243#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [282] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1114 v_main_~c~0_1113)) (.cse1 (= v_main_~st~0_608 v_main_~st~0_607)) (.cse2 (<= v_~last~0_466 v_main_~c~0_1114))) (or (and .cse0 (= v_~last~0_466 v_~last~0_466) (= |v_main_#t~post5_610| |v_main_#t~post5_608|) (= v_~SIZE~0_420 v_~SIZE~0_420) .cse1) (and .cse0 (= |v_main_#t~post5_608| |v_main_#t~post5_610|) .cse1 (or (not (< v_main_~c~0_1114 v_~SIZE~0_420)) (not .cse2))) (and (< v_main_~c~0_1113 (+ v_~SIZE~0_420 1)) (< v_main_~c~0_1114 v_main_~c~0_1113) .cse2 (= v_main_~st~0_607 0)))) InVars {~SIZE~0=v_~SIZE~0_420, main_~c~0=v_main_~c~0_1114, main_#t~post5=|v_main_#t~post5_610|, main_~st~0=v_main_~st~0_608, ~last~0=v_~last~0_466} OutVars{~SIZE~0=v_~SIZE~0_420, main_#t~post5=|v_main_#t~post5_608|, main_~c~0=v_main_~c~0_1113, main_~st~0=v_main_~st~0_607, ~last~0=v_~last~0_466} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {62233#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:02:20,095 INFO L290 TraceCheckUtils]: 12: Hoare triple {62247#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {62243#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:02:20,095 INFO L290 TraceCheckUtils]: 11: Hoare triple {62247#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {62247#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:20,096 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {62111#true} {62247#(< 1 ~SIZE~0)} #86#return; {62247#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:20,096 INFO L290 TraceCheckUtils]: 9: Hoare triple {62111#true} assume true; {62111#true} is VALID [2022-04-28 04:02:20,096 INFO L290 TraceCheckUtils]: 8: Hoare triple {62111#true} assume !(0 == ~cond); {62111#true} is VALID [2022-04-28 04:02:20,096 INFO L290 TraceCheckUtils]: 7: Hoare triple {62111#true} ~cond := #in~cond; {62111#true} is VALID [2022-04-28 04:02:20,096 INFO L272 TraceCheckUtils]: 6: Hoare triple {62247#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {62111#true} is VALID [2022-04-28 04:02:20,096 INFO L290 TraceCheckUtils]: 5: Hoare triple {62247#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {62247#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:20,096 INFO L272 TraceCheckUtils]: 4: Hoare triple {62247#(< 1 ~SIZE~0)} call #t~ret7 := main(); {62247#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:20,097 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {62247#(< 1 ~SIZE~0)} {62111#true} #90#return; {62247#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:20,097 INFO L290 TraceCheckUtils]: 2: Hoare triple {62247#(< 1 ~SIZE~0)} assume true; {62247#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:20,097 INFO L290 TraceCheckUtils]: 1: Hoare triple {62111#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {62247#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:20,097 INFO L272 TraceCheckUtils]: 0: Hoare triple {62111#true} call ULTIMATE.init(); {62111#true} is VALID [2022-04-28 04:02:20,097 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:02:20,098 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1168936310] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:02:20,098 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:02:20,098 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:02:20,807 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:02:20,807 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1830056967] [2022-04-28 04:02:20,807 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1830056967] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:02:20,807 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:02:20,807 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-28 04:02:20,807 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2040696647] [2022-04-28 04:02:20,807 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:02:20,808 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 1.5862068965517242) internal successors, (46), 27 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 52 [2022-04-28 04:02:20,808 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:02:20,808 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 29 states, 29 states have (on average 1.5862068965517242) internal successors, (46), 27 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:20,834 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:02:20,834 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-28 04:02:20,835 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:02:20,835 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-28 04:02:20,835 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=245, Invalid=1161, Unknown=0, NotChecked=0, Total=1406 [2022-04-28 04:02:20,835 INFO L87 Difference]: Start difference. First operand 196 states and 237 transitions. Second operand has 29 states, 29 states have (on average 1.5862068965517242) internal successors, (46), 27 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:23,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:02:23,078 INFO L93 Difference]: Finished difference Result 326 states and 397 transitions. [2022-04-28 04:02:23,079 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-28 04:02:23,079 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 1.5862068965517242) internal successors, (46), 27 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 52 [2022-04-28 04:02:23,079 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:02:23,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 1.5862068965517242) internal successors, (46), 27 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:23,079 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 102 transitions. [2022-04-28 04:02:23,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 1.5862068965517242) internal successors, (46), 27 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:23,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 102 transitions. [2022-04-28 04:02:23,080 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 102 transitions. [2022-04-28 04:02:23,127 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:02:23,129 INFO L225 Difference]: With dead ends: 326 [2022-04-28 04:02:23,129 INFO L226 Difference]: Without dead ends: 221 [2022-04-28 04:02:23,130 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 48 SyntacticMatches, 12 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 661 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=257, Invalid=1303, Unknown=0, NotChecked=0, Total=1560 [2022-04-28 04:02:23,130 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 60 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 1370 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 61 SdHoareTripleChecker+Valid, 74 SdHoareTripleChecker+Invalid, 1381 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1370 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 04:02:23,130 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [61 Valid, 74 Invalid, 1381 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1370 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 04:02:23,130 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 221 states. [2022-04-28 04:02:23,587 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 221 to 196. [2022-04-28 04:02:23,587 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:02:23,587 INFO L82 GeneralOperation]: Start isEquivalent. First operand 221 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:23,588 INFO L74 IsIncluded]: Start isIncluded. First operand 221 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:23,588 INFO L87 Difference]: Start difference. First operand 221 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:23,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:02:23,590 INFO L93 Difference]: Finished difference Result 221 states and 264 transitions. [2022-04-28 04:02:23,590 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 264 transitions. [2022-04-28 04:02:23,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:02:23,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:02:23,590 INFO L74 IsIncluded]: Start isIncluded. First operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 221 states. [2022-04-28 04:02:23,591 INFO L87 Difference]: Start difference. First operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 221 states. [2022-04-28 04:02:23,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:02:23,593 INFO L93 Difference]: Finished difference Result 221 states and 264 transitions. [2022-04-28 04:02:23,593 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 264 transitions. [2022-04-28 04:02:23,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:02:23,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:02:23,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:02:23,593 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:02:23,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:23,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 196 states to 196 states and 237 transitions. [2022-04-28 04:02:23,596 INFO L78 Accepts]: Start accepts. Automaton has 196 states and 237 transitions. Word has length 52 [2022-04-28 04:02:23,596 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:02:23,596 INFO L495 AbstractCegarLoop]: Abstraction has 196 states and 237 transitions. [2022-04-28 04:02:23,596 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 29 states have (on average 1.5862068965517242) internal successors, (46), 27 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:23,596 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 196 states and 237 transitions. [2022-04-28 04:02:24,257 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 237 edges. 237 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:02:24,257 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 237 transitions. [2022-04-28 04:02:24,257 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 04:02:24,257 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:02:24,258 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 7, 3, 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:02:24,275 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (46)] Forceful destruction successful, exit code 0 [2022-04-28 04:02:24,473 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 46 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable52 [2022-04-28 04:02:24,474 INFO L420 AbstractCegarLoop]: === Iteration 54 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:02:24,474 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:02:24,474 INFO L85 PathProgramCache]: Analyzing trace with hash -1064998852, now seen corresponding path program 43 times [2022-04-28 04:02:24,474 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:02:24,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1725131326] [2022-04-28 04:02:24,635 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:02:28,724 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:02:28,815 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:02:28,817 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:02:28,820 INFO L85 PathProgramCache]: Analyzing trace with hash 1939686721, now seen corresponding path program 1 times [2022-04-28 04:02:28,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:02:28,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2013593056] [2022-04-28 04:02:28,820 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:02:28,820 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:02:28,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:28,983 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:02:28,984 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:28,988 INFO L290 TraceCheckUtils]: 0: Hoare triple {63814#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:28,988 INFO L290 TraceCheckUtils]: 1: Hoare triple {63801#(<= 20 ~SIZE~0)} assume true; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:28,989 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {63801#(<= 20 ~SIZE~0)} {63796#true} #90#return; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:28,989 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:02:28,990 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:28,991 INFO L290 TraceCheckUtils]: 0: Hoare triple {63796#true} ~cond := #in~cond; {63796#true} is VALID [2022-04-28 04:02:28,991 INFO L290 TraceCheckUtils]: 1: Hoare triple {63796#true} assume !(0 == ~cond); {63796#true} is VALID [2022-04-28 04:02:28,991 INFO L290 TraceCheckUtils]: 2: Hoare triple {63796#true} assume true; {63796#true} is VALID [2022-04-28 04:02:28,992 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63796#true} {63801#(<= 20 ~SIZE~0)} #86#return; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:28,992 INFO L272 TraceCheckUtils]: 0: Hoare triple {63796#true} call ULTIMATE.init(); {63814#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:02:28,993 INFO L290 TraceCheckUtils]: 1: Hoare triple {63814#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:28,993 INFO L290 TraceCheckUtils]: 2: Hoare triple {63801#(<= 20 ~SIZE~0)} assume true; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:28,993 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63801#(<= 20 ~SIZE~0)} {63796#true} #90#return; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:28,994 INFO L272 TraceCheckUtils]: 4: Hoare triple {63801#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:28,994 INFO L290 TraceCheckUtils]: 5: Hoare triple {63801#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:28,994 INFO L272 TraceCheckUtils]: 6: Hoare triple {63801#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {63796#true} is VALID [2022-04-28 04:02:28,994 INFO L290 TraceCheckUtils]: 7: Hoare triple {63796#true} ~cond := #in~cond; {63796#true} is VALID [2022-04-28 04:02:28,994 INFO L290 TraceCheckUtils]: 8: Hoare triple {63796#true} assume !(0 == ~cond); {63796#true} is VALID [2022-04-28 04:02:28,994 INFO L290 TraceCheckUtils]: 9: Hoare triple {63796#true} assume true; {63796#true} is VALID [2022-04-28 04:02:28,995 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {63796#true} {63801#(<= 20 ~SIZE~0)} #86#return; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:28,995 INFO L290 TraceCheckUtils]: 11: Hoare triple {63801#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {63806#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:02:28,995 INFO L290 TraceCheckUtils]: 12: Hoare triple {63806#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {63807#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:02:28,996 INFO L290 TraceCheckUtils]: 13: Hoare triple {63807#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [286] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1141 v_main_~c~0_1140)) (.cse1 (= |v_main_#t~post5_623| |v_main_#t~post5_621|)) (.cse2 (= v_main_~st~0_621 v_main_~st~0_620)) (.cse3 (<= v_~last~0_476 v_main_~c~0_1141))) (or (and .cse0 .cse1 (= v_~last~0_476 v_~last~0_476) (= v_~SIZE~0_429 v_~SIZE~0_429) .cse2) (and .cse0 .cse1 .cse2 (or (not .cse3) (not (< v_main_~c~0_1141 v_~SIZE~0_429)))) (and (< v_main_~c~0_1141 v_main_~c~0_1140) .cse3 (< v_main_~c~0_1140 (+ v_~SIZE~0_429 1)) (= v_main_~st~0_620 0)))) InVars {~SIZE~0=v_~SIZE~0_429, main_~c~0=v_main_~c~0_1141, main_#t~post5=|v_main_#t~post5_623|, main_~st~0=v_main_~st~0_621, ~last~0=v_~last~0_476} OutVars{~SIZE~0=v_~SIZE~0_429, main_#t~post5=|v_main_#t~post5_621|, main_~c~0=v_main_~c~0_1140, main_~st~0=v_main_~st~0_620, ~last~0=v_~last~0_476} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {63808#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:02:28,997 INFO L290 TraceCheckUtils]: 14: Hoare triple {63808#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [287] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {63808#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:02:28,997 INFO L290 TraceCheckUtils]: 15: Hoare triple {63808#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [288] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1143 v_main_~c~0_1142)) (.cse1 (= |v_main_#t~post5_626| |v_main_#t~post5_622|))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_1143 v_~last~0_477)) (not (< v_main_~c~0_1143 v_~SIZE~0_430)))) (and .cse0 (= v_~SIZE~0_430 v_~SIZE~0_430) .cse1 (= v_~last~0_477 v_~last~0_477)) (and (< v_main_~c~0_1142 (+ v_~SIZE~0_430 1)) (< v_main_~c~0_1143 v_main_~c~0_1142) (< v_main_~c~0_1142 (+ v_~last~0_477 1))))) InVars {~SIZE~0=v_~SIZE~0_430, main_~c~0=v_main_~c~0_1143, main_#t~post5=|v_main_#t~post5_626|, ~last~0=v_~last~0_477} OutVars{~SIZE~0=v_~SIZE~0_430, main_#t~post5=|v_main_#t~post5_622|, main_~c~0=v_main_~c~0_1142, ~last~0=v_~last~0_477} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {63808#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:02:28,998 INFO L290 TraceCheckUtils]: 16: Hoare triple {63808#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [285] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {63809#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:02:28,999 INFO L290 TraceCheckUtils]: 17: Hoare triple {63809#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {63810#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:28,999 INFO L290 TraceCheckUtils]: 18: Hoare triple {63810#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {63810#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:29,000 INFO L290 TraceCheckUtils]: 19: Hoare triple {63810#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {63811#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:29,000 INFO L290 TraceCheckUtils]: 20: Hoare triple {63811#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {63811#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:29,001 INFO L272 TraceCheckUtils]: 21: Hoare triple {63811#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {63812#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:02:29,001 INFO L290 TraceCheckUtils]: 22: Hoare triple {63812#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {63813#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:02:29,001 INFO L290 TraceCheckUtils]: 23: Hoare triple {63813#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {63797#false} is VALID [2022-04-28 04:02:29,002 INFO L290 TraceCheckUtils]: 24: Hoare triple {63797#false} assume !false; {63797#false} is VALID [2022-04-28 04:02:29,002 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:02:29,002 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:02:29,002 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2013593056] [2022-04-28 04:02:29,002 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2013593056] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:02:29,002 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [153046334] [2022-04-28 04:02:29,002 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:02:29,002 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:02:29,002 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:02:29,003 INFO L229 MonitoredProcess]: Starting monitored process 47 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:02:29,009 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (47)] Waiting until timeout for monitored process [2022-04-28 04:02:29,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:29,040 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:02:29,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:29,048 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:02:29,310 INFO L272 TraceCheckUtils]: 0: Hoare triple {63796#true} call ULTIMATE.init(); {63796#true} is VALID [2022-04-28 04:02:29,310 INFO L290 TraceCheckUtils]: 1: Hoare triple {63796#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:29,311 INFO L290 TraceCheckUtils]: 2: Hoare triple {63801#(<= 20 ~SIZE~0)} assume true; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:29,311 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63801#(<= 20 ~SIZE~0)} {63796#true} #90#return; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:29,311 INFO L272 TraceCheckUtils]: 4: Hoare triple {63801#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:29,312 INFO L290 TraceCheckUtils]: 5: Hoare triple {63801#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:29,312 INFO L272 TraceCheckUtils]: 6: Hoare triple {63801#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:29,312 INFO L290 TraceCheckUtils]: 7: Hoare triple {63801#(<= 20 ~SIZE~0)} ~cond := #in~cond; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:29,313 INFO L290 TraceCheckUtils]: 8: Hoare triple {63801#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:29,313 INFO L290 TraceCheckUtils]: 9: Hoare triple {63801#(<= 20 ~SIZE~0)} assume true; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:29,313 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {63801#(<= 20 ~SIZE~0)} {63801#(<= 20 ~SIZE~0)} #86#return; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:29,314 INFO L290 TraceCheckUtils]: 11: Hoare triple {63801#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:29,314 INFO L290 TraceCheckUtils]: 12: Hoare triple {63801#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {63854#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:02:29,315 INFO L290 TraceCheckUtils]: 13: Hoare triple {63854#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [286] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1141 v_main_~c~0_1140)) (.cse1 (= |v_main_#t~post5_623| |v_main_#t~post5_621|)) (.cse2 (= v_main_~st~0_621 v_main_~st~0_620)) (.cse3 (<= v_~last~0_476 v_main_~c~0_1141))) (or (and .cse0 .cse1 (= v_~last~0_476 v_~last~0_476) (= v_~SIZE~0_429 v_~SIZE~0_429) .cse2) (and .cse0 .cse1 .cse2 (or (not .cse3) (not (< v_main_~c~0_1141 v_~SIZE~0_429)))) (and (< v_main_~c~0_1141 v_main_~c~0_1140) .cse3 (< v_main_~c~0_1140 (+ v_~SIZE~0_429 1)) (= v_main_~st~0_620 0)))) InVars {~SIZE~0=v_~SIZE~0_429, main_~c~0=v_main_~c~0_1141, main_#t~post5=|v_main_#t~post5_623|, main_~st~0=v_main_~st~0_621, ~last~0=v_~last~0_476} OutVars{~SIZE~0=v_~SIZE~0_429, main_#t~post5=|v_main_#t~post5_621|, main_~c~0=v_main_~c~0_1140, main_~st~0=v_main_~st~0_620, ~last~0=v_~last~0_476} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {63858#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:02:29,315 INFO L290 TraceCheckUtils]: 14: Hoare triple {63858#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [287] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {63858#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:02:29,316 INFO L290 TraceCheckUtils]: 15: Hoare triple {63858#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [288] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1143 v_main_~c~0_1142)) (.cse1 (= |v_main_#t~post5_626| |v_main_#t~post5_622|))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_1143 v_~last~0_477)) (not (< v_main_~c~0_1143 v_~SIZE~0_430)))) (and .cse0 (= v_~SIZE~0_430 v_~SIZE~0_430) .cse1 (= v_~last~0_477 v_~last~0_477)) (and (< v_main_~c~0_1142 (+ v_~SIZE~0_430 1)) (< v_main_~c~0_1143 v_main_~c~0_1142) (< v_main_~c~0_1142 (+ v_~last~0_477 1))))) InVars {~SIZE~0=v_~SIZE~0_430, main_~c~0=v_main_~c~0_1143, main_#t~post5=|v_main_#t~post5_626|, ~last~0=v_~last~0_477} OutVars{~SIZE~0=v_~SIZE~0_430, main_#t~post5=|v_main_#t~post5_622|, main_~c~0=v_main_~c~0_1142, ~last~0=v_~last~0_477} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {63858#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:02:29,316 INFO L290 TraceCheckUtils]: 16: Hoare triple {63858#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [285] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {63868#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:02:29,317 INFO L290 TraceCheckUtils]: 17: Hoare triple {63868#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {63797#false} is VALID [2022-04-28 04:02:29,317 INFO L290 TraceCheckUtils]: 18: Hoare triple {63797#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {63797#false} is VALID [2022-04-28 04:02:29,317 INFO L290 TraceCheckUtils]: 19: Hoare triple {63797#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {63797#false} is VALID [2022-04-28 04:02:29,317 INFO L290 TraceCheckUtils]: 20: Hoare triple {63797#false} assume !(~d~0 == ~SIZE~0); {63797#false} is VALID [2022-04-28 04:02:29,317 INFO L272 TraceCheckUtils]: 21: Hoare triple {63797#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {63797#false} is VALID [2022-04-28 04:02:29,317 INFO L290 TraceCheckUtils]: 22: Hoare triple {63797#false} ~cond := #in~cond; {63797#false} is VALID [2022-04-28 04:02:29,317 INFO L290 TraceCheckUtils]: 23: Hoare triple {63797#false} assume 0 == ~cond; {63797#false} is VALID [2022-04-28 04:02:29,317 INFO L290 TraceCheckUtils]: 24: Hoare triple {63797#false} assume !false; {63797#false} is VALID [2022-04-28 04:02:29,318 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:02:29,318 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:02:29,624 INFO L290 TraceCheckUtils]: 24: Hoare triple {63797#false} assume !false; {63797#false} is VALID [2022-04-28 04:02:29,624 INFO L290 TraceCheckUtils]: 23: Hoare triple {63797#false} assume 0 == ~cond; {63797#false} is VALID [2022-04-28 04:02:29,624 INFO L290 TraceCheckUtils]: 22: Hoare triple {63797#false} ~cond := #in~cond; {63797#false} is VALID [2022-04-28 04:02:29,624 INFO L272 TraceCheckUtils]: 21: Hoare triple {63797#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {63797#false} is VALID [2022-04-28 04:02:29,624 INFO L290 TraceCheckUtils]: 20: Hoare triple {63797#false} assume !(~d~0 == ~SIZE~0); {63797#false} is VALID [2022-04-28 04:02:29,624 INFO L290 TraceCheckUtils]: 19: Hoare triple {63797#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {63797#false} is VALID [2022-04-28 04:02:29,624 INFO L290 TraceCheckUtils]: 18: Hoare triple {63797#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {63797#false} is VALID [2022-04-28 04:02:29,625 INFO L290 TraceCheckUtils]: 17: Hoare triple {63914#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {63797#false} is VALID [2022-04-28 04:02:29,625 INFO L290 TraceCheckUtils]: 16: Hoare triple {63918#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [285] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {63914#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:02:29,625 INFO L290 TraceCheckUtils]: 15: Hoare triple {63918#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [288] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1143 v_main_~c~0_1142)) (.cse1 (= |v_main_#t~post5_626| |v_main_#t~post5_622|))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_1143 v_~last~0_477)) (not (< v_main_~c~0_1143 v_~SIZE~0_430)))) (and .cse0 (= v_~SIZE~0_430 v_~SIZE~0_430) .cse1 (= v_~last~0_477 v_~last~0_477)) (and (< v_main_~c~0_1142 (+ v_~SIZE~0_430 1)) (< v_main_~c~0_1143 v_main_~c~0_1142) (< v_main_~c~0_1142 (+ v_~last~0_477 1))))) InVars {~SIZE~0=v_~SIZE~0_430, main_~c~0=v_main_~c~0_1143, main_#t~post5=|v_main_#t~post5_626|, ~last~0=v_~last~0_477} OutVars{~SIZE~0=v_~SIZE~0_430, main_#t~post5=|v_main_#t~post5_622|, main_~c~0=v_main_~c~0_1142, ~last~0=v_~last~0_477} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {63918#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:02:29,626 INFO L290 TraceCheckUtils]: 14: Hoare triple {63918#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [287] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {63918#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:02:29,626 INFO L290 TraceCheckUtils]: 13: Hoare triple {63928#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [286] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1141 v_main_~c~0_1140)) (.cse1 (= |v_main_#t~post5_623| |v_main_#t~post5_621|)) (.cse2 (= v_main_~st~0_621 v_main_~st~0_620)) (.cse3 (<= v_~last~0_476 v_main_~c~0_1141))) (or (and .cse0 .cse1 (= v_~last~0_476 v_~last~0_476) (= v_~SIZE~0_429 v_~SIZE~0_429) .cse2) (and .cse0 .cse1 .cse2 (or (not .cse3) (not (< v_main_~c~0_1141 v_~SIZE~0_429)))) (and (< v_main_~c~0_1141 v_main_~c~0_1140) .cse3 (< v_main_~c~0_1140 (+ v_~SIZE~0_429 1)) (= v_main_~st~0_620 0)))) InVars {~SIZE~0=v_~SIZE~0_429, main_~c~0=v_main_~c~0_1141, main_#t~post5=|v_main_#t~post5_623|, main_~st~0=v_main_~st~0_621, ~last~0=v_~last~0_476} OutVars{~SIZE~0=v_~SIZE~0_429, main_#t~post5=|v_main_#t~post5_621|, main_~c~0=v_main_~c~0_1140, main_~st~0=v_main_~st~0_620, ~last~0=v_~last~0_476} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {63918#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:02:29,626 INFO L290 TraceCheckUtils]: 12: Hoare triple {63932#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {63928#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:02:29,627 INFO L290 TraceCheckUtils]: 11: Hoare triple {63932#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {63932#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:29,627 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {63796#true} {63932#(< 1 ~SIZE~0)} #86#return; {63932#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:29,627 INFO L290 TraceCheckUtils]: 9: Hoare triple {63796#true} assume true; {63796#true} is VALID [2022-04-28 04:02:29,627 INFO L290 TraceCheckUtils]: 8: Hoare triple {63796#true} assume !(0 == ~cond); {63796#true} is VALID [2022-04-28 04:02:29,627 INFO L290 TraceCheckUtils]: 7: Hoare triple {63796#true} ~cond := #in~cond; {63796#true} is VALID [2022-04-28 04:02:29,627 INFO L272 TraceCheckUtils]: 6: Hoare triple {63932#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {63796#true} is VALID [2022-04-28 04:02:29,627 INFO L290 TraceCheckUtils]: 5: Hoare triple {63932#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {63932#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:29,628 INFO L272 TraceCheckUtils]: 4: Hoare triple {63932#(< 1 ~SIZE~0)} call #t~ret7 := main(); {63932#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:29,628 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63932#(< 1 ~SIZE~0)} {63796#true} #90#return; {63932#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:29,628 INFO L290 TraceCheckUtils]: 2: Hoare triple {63932#(< 1 ~SIZE~0)} assume true; {63932#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:29,628 INFO L290 TraceCheckUtils]: 1: Hoare triple {63796#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {63932#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:29,628 INFO L272 TraceCheckUtils]: 0: Hoare triple {63796#true} call ULTIMATE.init(); {63796#true} is VALID [2022-04-28 04:02:29,629 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:02:29,629 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [153046334] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:02:29,629 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:02:29,629 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:02:30,496 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:02:30,496 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1725131326] [2022-04-28 04:02:30,496 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1725131326] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:02:30,496 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:02:30,496 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [30] imperfect sequences [] total 30 [2022-04-28 04:02:30,496 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2139569543] [2022-04-28 04:02:30,496 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:02:30,497 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 30 states have (on average 1.5333333333333334) internal successors, (46), 28 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 52 [2022-04-28 04:02:30,497 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:02:30,497 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 30 states, 30 states have (on average 1.5333333333333334) internal successors, (46), 28 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:30,535 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:02:30,536 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-28 04:02:30,536 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:02:30,536 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-28 04:02:30,536 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=259, Invalid=1223, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 04:02:30,536 INFO L87 Difference]: Start difference. First operand 196 states and 237 transitions. Second operand has 30 states, 30 states have (on average 1.5333333333333334) internal successors, (46), 28 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:32,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:02:32,973 INFO L93 Difference]: Finished difference Result 323 states and 394 transitions. [2022-04-28 04:02:32,973 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-28 04:02:32,973 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 30 states have (on average 1.5333333333333334) internal successors, (46), 28 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 52 [2022-04-28 04:02:32,973 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:02:32,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 1.5333333333333334) internal successors, (46), 28 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:32,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 103 transitions. [2022-04-28 04:02:32,974 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 1.5333333333333334) internal successors, (46), 28 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:32,975 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 103 transitions. [2022-04-28 04:02:32,975 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 103 transitions. [2022-04-28 04:02:33,023 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:02:33,026 INFO L225 Difference]: With dead ends: 323 [2022-04-28 04:02:33,026 INFO L226 Difference]: Without dead ends: 218 [2022-04-28 04:02:33,027 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 48 SyntacticMatches, 11 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 663 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=271, Invalid=1369, Unknown=0, NotChecked=0, Total=1640 [2022-04-28 04:02:33,030 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 68 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 1323 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 69 SdHoareTripleChecker+Valid, 62 SdHoareTripleChecker+Invalid, 1334 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1323 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 04:02:33,030 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [69 Valid, 62 Invalid, 1334 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1323 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 04:02:33,031 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 218 states. [2022-04-28 04:02:33,507 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 218 to 196. [2022-04-28 04:02:33,507 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:02:33,507 INFO L82 GeneralOperation]: Start isEquivalent. First operand 218 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:33,507 INFO L74 IsIncluded]: Start isIncluded. First operand 218 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:33,507 INFO L87 Difference]: Start difference. First operand 218 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:33,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:02:33,510 INFO L93 Difference]: Finished difference Result 218 states and 261 transitions. [2022-04-28 04:02:33,510 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 261 transitions. [2022-04-28 04:02:33,510 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:02:33,510 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:02:33,510 INFO L74 IsIncluded]: Start isIncluded. First operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 218 states. [2022-04-28 04:02:33,510 INFO L87 Difference]: Start difference. First operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 218 states. [2022-04-28 04:02:33,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:02:33,512 INFO L93 Difference]: Finished difference Result 218 states and 261 transitions. [2022-04-28 04:02:33,512 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 261 transitions. [2022-04-28 04:02:33,513 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:02:33,513 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:02:33,513 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:02:33,513 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:02:33,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:33,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 196 states to 196 states and 237 transitions. [2022-04-28 04:02:33,515 INFO L78 Accepts]: Start accepts. Automaton has 196 states and 237 transitions. Word has length 52 [2022-04-28 04:02:33,515 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:02:33,515 INFO L495 AbstractCegarLoop]: Abstraction has 196 states and 237 transitions. [2022-04-28 04:02:33,515 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 30 states, 30 states have (on average 1.5333333333333334) internal successors, (46), 28 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:33,515 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 196 states and 237 transitions. [2022-04-28 04:02:34,182 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 237 edges. 237 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:02:34,182 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 237 transitions. [2022-04-28 04:02:34,183 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 04:02:34,183 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:02:34,183 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 8, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:02:34,200 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (47)] Forceful destruction successful, exit code 0 [2022-04-28 04:02:34,387 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable53,47 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:02:34,388 INFO L420 AbstractCegarLoop]: === Iteration 55 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:02:34,388 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:02:34,388 INFO L85 PathProgramCache]: Analyzing trace with hash 1641620542, now seen corresponding path program 44 times [2022-04-28 04:02:34,388 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:02:34,388 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2128147116] [2022-04-28 04:02:34,558 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:02:34,679 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:02:34,680 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:02:34,682 INFO L85 PathProgramCache]: Analyzing trace with hash 137242177, now seen corresponding path program 1 times [2022-04-28 04:02:34,682 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:02:34,682 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1489443597] [2022-04-28 04:02:34,683 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:02:34,683 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:02:34,704 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:34,817 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:02:34,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:34,823 INFO L290 TraceCheckUtils]: 0: Hoare triple {65488#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:34,824 INFO L290 TraceCheckUtils]: 1: Hoare triple {65475#(<= 20 ~SIZE~0)} assume true; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:34,824 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {65475#(<= 20 ~SIZE~0)} {65470#true} #90#return; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:34,824 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:02:34,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:34,826 INFO L290 TraceCheckUtils]: 0: Hoare triple {65470#true} ~cond := #in~cond; {65470#true} is VALID [2022-04-28 04:02:34,826 INFO L290 TraceCheckUtils]: 1: Hoare triple {65470#true} assume !(0 == ~cond); {65470#true} is VALID [2022-04-28 04:02:34,826 INFO L290 TraceCheckUtils]: 2: Hoare triple {65470#true} assume true; {65470#true} is VALID [2022-04-28 04:02:34,826 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {65470#true} {65475#(<= 20 ~SIZE~0)} #86#return; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:34,827 INFO L272 TraceCheckUtils]: 0: Hoare triple {65470#true} call ULTIMATE.init(); {65488#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:02:34,827 INFO L290 TraceCheckUtils]: 1: Hoare triple {65488#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:34,827 INFO L290 TraceCheckUtils]: 2: Hoare triple {65475#(<= 20 ~SIZE~0)} assume true; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:34,827 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {65475#(<= 20 ~SIZE~0)} {65470#true} #90#return; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:34,828 INFO L272 TraceCheckUtils]: 4: Hoare triple {65475#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:34,828 INFO L290 TraceCheckUtils]: 5: Hoare triple {65475#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:34,828 INFO L272 TraceCheckUtils]: 6: Hoare triple {65475#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {65470#true} is VALID [2022-04-28 04:02:34,828 INFO L290 TraceCheckUtils]: 7: Hoare triple {65470#true} ~cond := #in~cond; {65470#true} is VALID [2022-04-28 04:02:34,828 INFO L290 TraceCheckUtils]: 8: Hoare triple {65470#true} assume !(0 == ~cond); {65470#true} is VALID [2022-04-28 04:02:34,828 INFO L290 TraceCheckUtils]: 9: Hoare triple {65470#true} assume true; {65470#true} is VALID [2022-04-28 04:02:34,828 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {65470#true} {65475#(<= 20 ~SIZE~0)} #86#return; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:34,829 INFO L290 TraceCheckUtils]: 11: Hoare triple {65475#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {65480#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:02:34,829 INFO L290 TraceCheckUtils]: 12: Hoare triple {65480#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {65481#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:02:34,829 INFO L290 TraceCheckUtils]: 13: Hoare triple {65481#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [290] L25-3-->L25-4_primed: Formula: (let ((.cse1 (<= v_~last~0_486 v_main_~c~0_1168)) (.cse0 (= |v_main_#t~post5_636| |v_main_#t~post5_634|)) (.cse2 (= v_main_~c~0_1168 v_main_~c~0_1167)) (.cse3 (= v_main_~st~0_633 v_main_~st~0_632))) (or (and .cse0 (or (not (< v_main_~c~0_1168 v_~SIZE~0_438)) (not .cse1)) .cse2 .cse3) (and .cse1 (< v_main_~c~0_1168 v_main_~c~0_1167) (< v_main_~c~0_1167 (+ v_~SIZE~0_438 1)) (= v_main_~st~0_632 0)) (and .cse0 (= v_~SIZE~0_438 v_~SIZE~0_438) (= v_~last~0_486 v_~last~0_486) .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_438, main_~c~0=v_main_~c~0_1168, main_#t~post5=|v_main_#t~post5_636|, main_~st~0=v_main_~st~0_633, ~last~0=v_~last~0_486} OutVars{~SIZE~0=v_~SIZE~0_438, main_#t~post5=|v_main_#t~post5_634|, main_~c~0=v_main_~c~0_1167, main_~st~0=v_main_~st~0_632, ~last~0=v_~last~0_486} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {65482#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:02:34,830 INFO L290 TraceCheckUtils]: 14: Hoare triple {65482#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [291] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {65482#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:02:34,830 INFO L290 TraceCheckUtils]: 15: Hoare triple {65482#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [292] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1170 v_main_~c~0_1169))) (or (and (= v_~SIZE~0_439 v_~SIZE~0_439) (= v_~last~0_487 v_~last~0_487) (= |v_main_#t~post5_639| |v_main_#t~post5_635|) .cse0) (and (or (not (< v_main_~c~0_1170 v_~SIZE~0_439)) (not (< v_main_~c~0_1170 v_~last~0_487))) (= |v_main_#t~post5_635| |v_main_#t~post5_639|) .cse0) (and (< v_main_~c~0_1170 v_main_~c~0_1169) (< v_main_~c~0_1169 (+ v_~last~0_487 1)) (< v_main_~c~0_1169 (+ v_~SIZE~0_439 1))))) InVars {~SIZE~0=v_~SIZE~0_439, main_~c~0=v_main_~c~0_1170, main_#t~post5=|v_main_#t~post5_639|, ~last~0=v_~last~0_487} OutVars{~SIZE~0=v_~SIZE~0_439, main_#t~post5=|v_main_#t~post5_635|, main_~c~0=v_main_~c~0_1169, ~last~0=v_~last~0_487} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {65482#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:02:34,831 INFO L290 TraceCheckUtils]: 16: Hoare triple {65482#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [289] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {65483#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:02:34,831 INFO L290 TraceCheckUtils]: 17: Hoare triple {65483#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {65484#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:34,832 INFO L290 TraceCheckUtils]: 18: Hoare triple {65484#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {65484#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:34,832 INFO L290 TraceCheckUtils]: 19: Hoare triple {65484#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {65485#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:34,832 INFO L290 TraceCheckUtils]: 20: Hoare triple {65485#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {65485#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:34,833 INFO L272 TraceCheckUtils]: 21: Hoare triple {65485#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {65486#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:02:34,833 INFO L290 TraceCheckUtils]: 22: Hoare triple {65486#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {65487#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:02:34,834 INFO L290 TraceCheckUtils]: 23: Hoare triple {65487#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {65471#false} is VALID [2022-04-28 04:02:34,834 INFO L290 TraceCheckUtils]: 24: Hoare triple {65471#false} assume !false; {65471#false} is VALID [2022-04-28 04:02:34,834 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:02:34,834 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:02:34,834 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1489443597] [2022-04-28 04:02:34,834 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1489443597] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:02:34,834 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1145832009] [2022-04-28 04:02:34,834 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:02:34,834 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:02:34,834 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:02:34,835 INFO L229 MonitoredProcess]: Starting monitored process 48 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:02:34,836 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (48)] Waiting until timeout for monitored process [2022-04-28 04:02:34,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:34,861 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:02:34,866 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:34,866 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:02:35,136 INFO L272 TraceCheckUtils]: 0: Hoare triple {65470#true} call ULTIMATE.init(); {65470#true} is VALID [2022-04-28 04:02:35,137 INFO L290 TraceCheckUtils]: 1: Hoare triple {65470#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:35,137 INFO L290 TraceCheckUtils]: 2: Hoare triple {65475#(<= 20 ~SIZE~0)} assume true; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:35,137 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {65475#(<= 20 ~SIZE~0)} {65470#true} #90#return; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:35,138 INFO L272 TraceCheckUtils]: 4: Hoare triple {65475#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:35,138 INFO L290 TraceCheckUtils]: 5: Hoare triple {65475#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:35,138 INFO L272 TraceCheckUtils]: 6: Hoare triple {65475#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:35,138 INFO L290 TraceCheckUtils]: 7: Hoare triple {65475#(<= 20 ~SIZE~0)} ~cond := #in~cond; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:35,139 INFO L290 TraceCheckUtils]: 8: Hoare triple {65475#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:35,139 INFO L290 TraceCheckUtils]: 9: Hoare triple {65475#(<= 20 ~SIZE~0)} assume true; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:35,139 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {65475#(<= 20 ~SIZE~0)} {65475#(<= 20 ~SIZE~0)} #86#return; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:35,139 INFO L290 TraceCheckUtils]: 11: Hoare triple {65475#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:35,140 INFO L290 TraceCheckUtils]: 12: Hoare triple {65475#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {65528#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:02:35,140 INFO L290 TraceCheckUtils]: 13: Hoare triple {65528#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [290] L25-3-->L25-4_primed: Formula: (let ((.cse1 (<= v_~last~0_486 v_main_~c~0_1168)) (.cse0 (= |v_main_#t~post5_636| |v_main_#t~post5_634|)) (.cse2 (= v_main_~c~0_1168 v_main_~c~0_1167)) (.cse3 (= v_main_~st~0_633 v_main_~st~0_632))) (or (and .cse0 (or (not (< v_main_~c~0_1168 v_~SIZE~0_438)) (not .cse1)) .cse2 .cse3) (and .cse1 (< v_main_~c~0_1168 v_main_~c~0_1167) (< v_main_~c~0_1167 (+ v_~SIZE~0_438 1)) (= v_main_~st~0_632 0)) (and .cse0 (= v_~SIZE~0_438 v_~SIZE~0_438) (= v_~last~0_486 v_~last~0_486) .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_438, main_~c~0=v_main_~c~0_1168, main_#t~post5=|v_main_#t~post5_636|, main_~st~0=v_main_~st~0_633, ~last~0=v_~last~0_486} OutVars{~SIZE~0=v_~SIZE~0_438, main_#t~post5=|v_main_#t~post5_634|, main_~c~0=v_main_~c~0_1167, main_~st~0=v_main_~st~0_632, ~last~0=v_~last~0_486} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {65532#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:02:35,141 INFO L290 TraceCheckUtils]: 14: Hoare triple {65532#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [291] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {65532#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:02:35,141 INFO L290 TraceCheckUtils]: 15: Hoare triple {65532#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [292] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1170 v_main_~c~0_1169))) (or (and (= v_~SIZE~0_439 v_~SIZE~0_439) (= v_~last~0_487 v_~last~0_487) (= |v_main_#t~post5_639| |v_main_#t~post5_635|) .cse0) (and (or (not (< v_main_~c~0_1170 v_~SIZE~0_439)) (not (< v_main_~c~0_1170 v_~last~0_487))) (= |v_main_#t~post5_635| |v_main_#t~post5_639|) .cse0) (and (< v_main_~c~0_1170 v_main_~c~0_1169) (< v_main_~c~0_1169 (+ v_~last~0_487 1)) (< v_main_~c~0_1169 (+ v_~SIZE~0_439 1))))) InVars {~SIZE~0=v_~SIZE~0_439, main_~c~0=v_main_~c~0_1170, main_#t~post5=|v_main_#t~post5_639|, ~last~0=v_~last~0_487} OutVars{~SIZE~0=v_~SIZE~0_439, main_#t~post5=|v_main_#t~post5_635|, main_~c~0=v_main_~c~0_1169, ~last~0=v_~last~0_487} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {65532#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:02:35,142 INFO L290 TraceCheckUtils]: 16: Hoare triple {65532#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [289] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {65542#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:02:35,142 INFO L290 TraceCheckUtils]: 17: Hoare triple {65542#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {65471#false} is VALID [2022-04-28 04:02:35,142 INFO L290 TraceCheckUtils]: 18: Hoare triple {65471#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {65471#false} is VALID [2022-04-28 04:02:35,142 INFO L290 TraceCheckUtils]: 19: Hoare triple {65471#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {65471#false} is VALID [2022-04-28 04:02:35,142 INFO L290 TraceCheckUtils]: 20: Hoare triple {65471#false} assume !(~d~0 == ~SIZE~0); {65471#false} is VALID [2022-04-28 04:02:35,142 INFO L272 TraceCheckUtils]: 21: Hoare triple {65471#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {65471#false} is VALID [2022-04-28 04:02:35,143 INFO L290 TraceCheckUtils]: 22: Hoare triple {65471#false} ~cond := #in~cond; {65471#false} is VALID [2022-04-28 04:02:35,143 INFO L290 TraceCheckUtils]: 23: Hoare triple {65471#false} assume 0 == ~cond; {65471#false} is VALID [2022-04-28 04:02:35,143 INFO L290 TraceCheckUtils]: 24: Hoare triple {65471#false} assume !false; {65471#false} is VALID [2022-04-28 04:02:35,143 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:02:35,143 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:02:35,543 INFO L290 TraceCheckUtils]: 24: Hoare triple {65471#false} assume !false; {65471#false} is VALID [2022-04-28 04:02:35,543 INFO L290 TraceCheckUtils]: 23: Hoare triple {65471#false} assume 0 == ~cond; {65471#false} is VALID [2022-04-28 04:02:35,544 INFO L290 TraceCheckUtils]: 22: Hoare triple {65471#false} ~cond := #in~cond; {65471#false} is VALID [2022-04-28 04:02:35,544 INFO L272 TraceCheckUtils]: 21: Hoare triple {65471#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {65471#false} is VALID [2022-04-28 04:02:35,544 INFO L290 TraceCheckUtils]: 20: Hoare triple {65471#false} assume !(~d~0 == ~SIZE~0); {65471#false} is VALID [2022-04-28 04:02:35,544 INFO L290 TraceCheckUtils]: 19: Hoare triple {65471#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {65471#false} is VALID [2022-04-28 04:02:35,544 INFO L290 TraceCheckUtils]: 18: Hoare triple {65471#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {65471#false} is VALID [2022-04-28 04:02:35,544 INFO L290 TraceCheckUtils]: 17: Hoare triple {65588#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {65471#false} is VALID [2022-04-28 04:02:35,545 INFO L290 TraceCheckUtils]: 16: Hoare triple {65592#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [289] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {65588#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:02:35,545 INFO L290 TraceCheckUtils]: 15: Hoare triple {65592#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [292] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1170 v_main_~c~0_1169))) (or (and (= v_~SIZE~0_439 v_~SIZE~0_439) (= v_~last~0_487 v_~last~0_487) (= |v_main_#t~post5_639| |v_main_#t~post5_635|) .cse0) (and (or (not (< v_main_~c~0_1170 v_~SIZE~0_439)) (not (< v_main_~c~0_1170 v_~last~0_487))) (= |v_main_#t~post5_635| |v_main_#t~post5_639|) .cse0) (and (< v_main_~c~0_1170 v_main_~c~0_1169) (< v_main_~c~0_1169 (+ v_~last~0_487 1)) (< v_main_~c~0_1169 (+ v_~SIZE~0_439 1))))) InVars {~SIZE~0=v_~SIZE~0_439, main_~c~0=v_main_~c~0_1170, main_#t~post5=|v_main_#t~post5_639|, ~last~0=v_~last~0_487} OutVars{~SIZE~0=v_~SIZE~0_439, main_#t~post5=|v_main_#t~post5_635|, main_~c~0=v_main_~c~0_1169, ~last~0=v_~last~0_487} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {65592#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:02:35,546 INFO L290 TraceCheckUtils]: 14: Hoare triple {65592#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [291] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {65592#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:02:35,546 INFO L290 TraceCheckUtils]: 13: Hoare triple {65602#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [290] L25-3-->L25-4_primed: Formula: (let ((.cse1 (<= v_~last~0_486 v_main_~c~0_1168)) (.cse0 (= |v_main_#t~post5_636| |v_main_#t~post5_634|)) (.cse2 (= v_main_~c~0_1168 v_main_~c~0_1167)) (.cse3 (= v_main_~st~0_633 v_main_~st~0_632))) (or (and .cse0 (or (not (< v_main_~c~0_1168 v_~SIZE~0_438)) (not .cse1)) .cse2 .cse3) (and .cse1 (< v_main_~c~0_1168 v_main_~c~0_1167) (< v_main_~c~0_1167 (+ v_~SIZE~0_438 1)) (= v_main_~st~0_632 0)) (and .cse0 (= v_~SIZE~0_438 v_~SIZE~0_438) (= v_~last~0_486 v_~last~0_486) .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_438, main_~c~0=v_main_~c~0_1168, main_#t~post5=|v_main_#t~post5_636|, main_~st~0=v_main_~st~0_633, ~last~0=v_~last~0_486} OutVars{~SIZE~0=v_~SIZE~0_438, main_#t~post5=|v_main_#t~post5_634|, main_~c~0=v_main_~c~0_1167, main_~st~0=v_main_~st~0_632, ~last~0=v_~last~0_486} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {65592#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:02:35,547 INFO L290 TraceCheckUtils]: 12: Hoare triple {65606#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {65602#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:02:35,547 INFO L290 TraceCheckUtils]: 11: Hoare triple {65606#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {65606#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:35,547 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {65470#true} {65606#(< 1 ~SIZE~0)} #86#return; {65606#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:35,548 INFO L290 TraceCheckUtils]: 9: Hoare triple {65470#true} assume true; {65470#true} is VALID [2022-04-28 04:02:35,548 INFO L290 TraceCheckUtils]: 8: Hoare triple {65470#true} assume !(0 == ~cond); {65470#true} is VALID [2022-04-28 04:02:35,548 INFO L290 TraceCheckUtils]: 7: Hoare triple {65470#true} ~cond := #in~cond; {65470#true} is VALID [2022-04-28 04:02:35,548 INFO L272 TraceCheckUtils]: 6: Hoare triple {65606#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {65470#true} is VALID [2022-04-28 04:02:35,548 INFO L290 TraceCheckUtils]: 5: Hoare triple {65606#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {65606#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:35,548 INFO L272 TraceCheckUtils]: 4: Hoare triple {65606#(< 1 ~SIZE~0)} call #t~ret7 := main(); {65606#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:35,549 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {65606#(< 1 ~SIZE~0)} {65470#true} #90#return; {65606#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:35,549 INFO L290 TraceCheckUtils]: 2: Hoare triple {65606#(< 1 ~SIZE~0)} assume true; {65606#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:35,549 INFO L290 TraceCheckUtils]: 1: Hoare triple {65470#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {65606#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:35,550 INFO L272 TraceCheckUtils]: 0: Hoare triple {65470#true} call ULTIMATE.init(); {65470#true} is VALID [2022-04-28 04:02:35,550 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:02:35,550 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1145832009] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:02:35,550 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:02:35,550 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:02:36,547 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:02:36,547 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2128147116] [2022-04-28 04:02:36,547 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2128147116] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:02:36,547 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:02:36,547 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [31] imperfect sequences [] total 31 [2022-04-28 04:02:36,547 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [407309577] [2022-04-28 04:02:36,548 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:02:36,548 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 1.4838709677419355) internal successors, (46), 29 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 52 [2022-04-28 04:02:36,548 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:02:36,548 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 31 states, 31 states have (on average 1.4838709677419355) internal successors, (46), 29 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:36,586 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:02:36,586 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-28 04:02:36,586 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:02:36,586 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-28 04:02:36,587 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=273, Invalid=1287, Unknown=0, NotChecked=0, Total=1560 [2022-04-28 04:02:36,587 INFO L87 Difference]: Start difference. First operand 196 states and 237 transitions. Second operand has 31 states, 31 states have (on average 1.4838709677419355) internal successors, (46), 29 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:38,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:02:38,921 INFO L93 Difference]: Finished difference Result 321 states and 392 transitions. [2022-04-28 04:02:38,921 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-28 04:02:38,921 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 1.4838709677419355) internal successors, (46), 29 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 52 [2022-04-28 04:02:38,921 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:02:38,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 1.4838709677419355) internal successors, (46), 29 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:38,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 104 transitions. [2022-04-28 04:02:38,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 1.4838709677419355) internal successors, (46), 29 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:38,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 104 transitions. [2022-04-28 04:02:38,922 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 104 transitions. [2022-04-28 04:02:38,969 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:02:38,972 INFO L225 Difference]: With dead ends: 321 [2022-04-28 04:02:38,972 INFO L226 Difference]: Without dead ends: 216 [2022-04-28 04:02:38,972 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 48 SyntacticMatches, 10 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 656 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=285, Invalid=1437, Unknown=0, NotChecked=0, Total=1722 [2022-04-28 04:02:38,972 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 63 mSDsluCounter, 53 mSDsCounter, 0 mSdLazyCounter, 1694 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 64 SdHoareTripleChecker+Valid, 73 SdHoareTripleChecker+Invalid, 1705 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1694 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 04:02:38,972 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [64 Valid, 73 Invalid, 1705 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1694 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 04:02:38,973 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 216 states. [2022-04-28 04:02:39,428 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 216 to 196. [2022-04-28 04:02:39,428 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:02:39,428 INFO L82 GeneralOperation]: Start isEquivalent. First operand 216 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:39,428 INFO L74 IsIncluded]: Start isIncluded. First operand 216 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:39,428 INFO L87 Difference]: Start difference. First operand 216 states. Second operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:39,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:02:39,431 INFO L93 Difference]: Finished difference Result 216 states and 259 transitions. [2022-04-28 04:02:39,431 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 259 transitions. [2022-04-28 04:02:39,431 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:02:39,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:02:39,431 INFO L74 IsIncluded]: Start isIncluded. First operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 216 states. [2022-04-28 04:02:39,431 INFO L87 Difference]: Start difference. First operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 216 states. [2022-04-28 04:02:39,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:02:39,434 INFO L93 Difference]: Finished difference Result 216 states and 259 transitions. [2022-04-28 04:02:39,434 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 259 transitions. [2022-04-28 04:02:39,434 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:02:39,434 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:02:39,434 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:02:39,434 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:02:39,434 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 196 states, 181 states have (on average 1.2154696132596685) internal successors, (220), 184 states have internal predecessors, (220), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:39,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 196 states to 196 states and 237 transitions. [2022-04-28 04:02:39,437 INFO L78 Accepts]: Start accepts. Automaton has 196 states and 237 transitions. Word has length 52 [2022-04-28 04:02:39,437 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:02:39,437 INFO L495 AbstractCegarLoop]: Abstraction has 196 states and 237 transitions. [2022-04-28 04:02:39,437 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 31 states have (on average 1.4838709677419355) internal successors, (46), 29 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:39,437 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 196 states and 237 transitions. [2022-04-28 04:02:40,070 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 237 edges. 237 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:02:40,070 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 237 transitions. [2022-04-28 04:02:40,070 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 04:02:40,070 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:02:40,070 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 9, 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:02:40,086 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (48)] Forceful destruction successful, exit code 0 [2022-04-28 04:02:40,277 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable54,48 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:02:40,277 INFO L420 AbstractCegarLoop]: === Iteration 56 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:02:40,278 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:02:40,278 INFO L85 PathProgramCache]: Analyzing trace with hash 630503292, now seen corresponding path program 45 times [2022-04-28 04:02:40,278 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:02:40,278 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [585839007] [2022-04-28 04:02:44,431 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:02:44,538 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:02:47,763 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:02:47,860 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:02:47,861 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:02:47,864 INFO L85 PathProgramCache]: Analyzing trace with hash -1665202367, now seen corresponding path program 1 times [2022-04-28 04:02:47,864 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:02:47,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1398170949] [2022-04-28 04:02:47,864 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:02:47,864 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:02:47,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:48,023 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:02:48,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:48,028 INFO L290 TraceCheckUtils]: 0: Hoare triple {67155#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,029 INFO L290 TraceCheckUtils]: 1: Hoare triple {67142#(<= 20 ~SIZE~0)} assume true; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,029 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {67142#(<= 20 ~SIZE~0)} {67137#true} #90#return; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,029 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:02:48,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:48,031 INFO L290 TraceCheckUtils]: 0: Hoare triple {67137#true} ~cond := #in~cond; {67137#true} is VALID [2022-04-28 04:02:48,031 INFO L290 TraceCheckUtils]: 1: Hoare triple {67137#true} assume !(0 == ~cond); {67137#true} is VALID [2022-04-28 04:02:48,031 INFO L290 TraceCheckUtils]: 2: Hoare triple {67137#true} assume true; {67137#true} is VALID [2022-04-28 04:02:48,032 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67137#true} {67142#(<= 20 ~SIZE~0)} #86#return; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,032 INFO L272 TraceCheckUtils]: 0: Hoare triple {67137#true} call ULTIMATE.init(); {67155#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:02:48,033 INFO L290 TraceCheckUtils]: 1: Hoare triple {67155#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,033 INFO L290 TraceCheckUtils]: 2: Hoare triple {67142#(<= 20 ~SIZE~0)} assume true; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,033 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67142#(<= 20 ~SIZE~0)} {67137#true} #90#return; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,034 INFO L272 TraceCheckUtils]: 4: Hoare triple {67142#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,034 INFO L290 TraceCheckUtils]: 5: Hoare triple {67142#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,034 INFO L272 TraceCheckUtils]: 6: Hoare triple {67142#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {67137#true} is VALID [2022-04-28 04:02:48,034 INFO L290 TraceCheckUtils]: 7: Hoare triple {67137#true} ~cond := #in~cond; {67137#true} is VALID [2022-04-28 04:02:48,034 INFO L290 TraceCheckUtils]: 8: Hoare triple {67137#true} assume !(0 == ~cond); {67137#true} is VALID [2022-04-28 04:02:48,034 INFO L290 TraceCheckUtils]: 9: Hoare triple {67137#true} assume true; {67137#true} is VALID [2022-04-28 04:02:48,035 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {67137#true} {67142#(<= 20 ~SIZE~0)} #86#return; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,035 INFO L290 TraceCheckUtils]: 11: Hoare triple {67142#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {67147#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:02:48,035 INFO L290 TraceCheckUtils]: 12: Hoare triple {67147#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {67148#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:02:48,036 INFO L290 TraceCheckUtils]: 13: Hoare triple {67148#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [294] L25-3-->L25-4_primed: Formula: (let ((.cse2 (<= v_~last~0_496 v_main_~c~0_1195)) (.cse0 (= v_main_~c~0_1195 v_main_~c~0_1194)) (.cse1 (= |v_main_#t~post5_649| |v_main_#t~post5_647|)) (.cse3 (= v_main_~st~0_644 v_main_~st~0_643))) (or (and .cse0 .cse1 (or (not .cse2) (not (< v_main_~c~0_1195 v_~SIZE~0_447))) .cse3) (and (= v_main_~st~0_643 0) (< v_main_~c~0_1194 (+ v_~SIZE~0_447 1)) .cse2 (< v_main_~c~0_1195 v_main_~c~0_1194)) (and .cse0 .cse1 (= v_~SIZE~0_447 v_~SIZE~0_447) .cse3 (= v_~last~0_496 v_~last~0_496)))) InVars {~SIZE~0=v_~SIZE~0_447, main_~c~0=v_main_~c~0_1195, main_#t~post5=|v_main_#t~post5_649|, main_~st~0=v_main_~st~0_644, ~last~0=v_~last~0_496} OutVars{~SIZE~0=v_~SIZE~0_447, main_#t~post5=|v_main_#t~post5_647|, main_~c~0=v_main_~c~0_1194, main_~st~0=v_main_~st~0_643, ~last~0=v_~last~0_496} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {67149#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:02:48,037 INFO L290 TraceCheckUtils]: 14: Hoare triple {67149#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [295] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {67149#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:02:48,037 INFO L290 TraceCheckUtils]: 15: Hoare triple {67149#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [296] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1197 v_main_~c~0_1196))) (or (and (= |v_main_#t~post5_652| |v_main_#t~post5_648|) .cse0 (= v_~SIZE~0_448 v_~SIZE~0_448) (= v_~last~0_497 v_~last~0_497)) (and (< v_main_~c~0_1196 (+ v_~SIZE~0_448 1)) (< v_main_~c~0_1197 v_main_~c~0_1196) (< v_main_~c~0_1196 (+ v_~last~0_497 1))) (and (or (not (< v_main_~c~0_1197 v_~SIZE~0_448)) (not (< v_main_~c~0_1197 v_~last~0_497))) .cse0 (= |v_main_#t~post5_648| |v_main_#t~post5_652|)))) InVars {~SIZE~0=v_~SIZE~0_448, main_~c~0=v_main_~c~0_1197, main_#t~post5=|v_main_#t~post5_652|, ~last~0=v_~last~0_497} OutVars{~SIZE~0=v_~SIZE~0_448, main_#t~post5=|v_main_#t~post5_648|, main_~c~0=v_main_~c~0_1196, ~last~0=v_~last~0_497} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {67149#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:02:48,038 INFO L290 TraceCheckUtils]: 16: Hoare triple {67149#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [293] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {67150#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:02:48,038 INFO L290 TraceCheckUtils]: 17: Hoare triple {67150#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {67151#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:48,039 INFO L290 TraceCheckUtils]: 18: Hoare triple {67151#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {67151#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:48,039 INFO L290 TraceCheckUtils]: 19: Hoare triple {67151#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {67152#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:48,040 INFO L290 TraceCheckUtils]: 20: Hoare triple {67152#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {67152#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:48,040 INFO L272 TraceCheckUtils]: 21: Hoare triple {67152#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {67153#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:02:48,041 INFO L290 TraceCheckUtils]: 22: Hoare triple {67153#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {67154#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:02:48,041 INFO L290 TraceCheckUtils]: 23: Hoare triple {67154#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {67138#false} is VALID [2022-04-28 04:02:48,041 INFO L290 TraceCheckUtils]: 24: Hoare triple {67138#false} assume !false; {67138#false} is VALID [2022-04-28 04:02:48,041 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:02:48,041 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:02:48,041 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1398170949] [2022-04-28 04:02:48,042 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1398170949] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:02:48,042 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1369996160] [2022-04-28 04:02:48,042 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:02:48,042 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:02:48,042 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:02:48,043 INFO L229 MonitoredProcess]: Starting monitored process 49 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:02:48,044 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (49)] Waiting until timeout for monitored process [2022-04-28 04:02:48,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:48,077 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:02:48,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:48,083 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:02:48,285 INFO L272 TraceCheckUtils]: 0: Hoare triple {67137#true} call ULTIMATE.init(); {67137#true} is VALID [2022-04-28 04:02:48,286 INFO L290 TraceCheckUtils]: 1: Hoare triple {67137#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,286 INFO L290 TraceCheckUtils]: 2: Hoare triple {67142#(<= 20 ~SIZE~0)} assume true; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,286 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67142#(<= 20 ~SIZE~0)} {67137#true} #90#return; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,286 INFO L272 TraceCheckUtils]: 4: Hoare triple {67142#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,286 INFO L290 TraceCheckUtils]: 5: Hoare triple {67142#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,287 INFO L272 TraceCheckUtils]: 6: Hoare triple {67142#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,287 INFO L290 TraceCheckUtils]: 7: Hoare triple {67142#(<= 20 ~SIZE~0)} ~cond := #in~cond; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,287 INFO L290 TraceCheckUtils]: 8: Hoare triple {67142#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,287 INFO L290 TraceCheckUtils]: 9: Hoare triple {67142#(<= 20 ~SIZE~0)} assume true; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,288 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {67142#(<= 20 ~SIZE~0)} {67142#(<= 20 ~SIZE~0)} #86#return; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,288 INFO L290 TraceCheckUtils]: 11: Hoare triple {67142#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:48,288 INFO L290 TraceCheckUtils]: 12: Hoare triple {67142#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {67195#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:02:48,289 INFO L290 TraceCheckUtils]: 13: Hoare triple {67195#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [294] L25-3-->L25-4_primed: Formula: (let ((.cse2 (<= v_~last~0_496 v_main_~c~0_1195)) (.cse0 (= v_main_~c~0_1195 v_main_~c~0_1194)) (.cse1 (= |v_main_#t~post5_649| |v_main_#t~post5_647|)) (.cse3 (= v_main_~st~0_644 v_main_~st~0_643))) (or (and .cse0 .cse1 (or (not .cse2) (not (< v_main_~c~0_1195 v_~SIZE~0_447))) .cse3) (and (= v_main_~st~0_643 0) (< v_main_~c~0_1194 (+ v_~SIZE~0_447 1)) .cse2 (< v_main_~c~0_1195 v_main_~c~0_1194)) (and .cse0 .cse1 (= v_~SIZE~0_447 v_~SIZE~0_447) .cse3 (= v_~last~0_496 v_~last~0_496)))) InVars {~SIZE~0=v_~SIZE~0_447, main_~c~0=v_main_~c~0_1195, main_#t~post5=|v_main_#t~post5_649|, main_~st~0=v_main_~st~0_644, ~last~0=v_~last~0_496} OutVars{~SIZE~0=v_~SIZE~0_447, main_#t~post5=|v_main_#t~post5_647|, main_~c~0=v_main_~c~0_1194, main_~st~0=v_main_~st~0_643, ~last~0=v_~last~0_496} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {67199#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:02:48,289 INFO L290 TraceCheckUtils]: 14: Hoare triple {67199#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [295] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {67199#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:02:48,290 INFO L290 TraceCheckUtils]: 15: Hoare triple {67199#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [296] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1197 v_main_~c~0_1196))) (or (and (= |v_main_#t~post5_652| |v_main_#t~post5_648|) .cse0 (= v_~SIZE~0_448 v_~SIZE~0_448) (= v_~last~0_497 v_~last~0_497)) (and (< v_main_~c~0_1196 (+ v_~SIZE~0_448 1)) (< v_main_~c~0_1197 v_main_~c~0_1196) (< v_main_~c~0_1196 (+ v_~last~0_497 1))) (and (or (not (< v_main_~c~0_1197 v_~SIZE~0_448)) (not (< v_main_~c~0_1197 v_~last~0_497))) .cse0 (= |v_main_#t~post5_648| |v_main_#t~post5_652|)))) InVars {~SIZE~0=v_~SIZE~0_448, main_~c~0=v_main_~c~0_1197, main_#t~post5=|v_main_#t~post5_652|, ~last~0=v_~last~0_497} OutVars{~SIZE~0=v_~SIZE~0_448, main_#t~post5=|v_main_#t~post5_648|, main_~c~0=v_main_~c~0_1196, ~last~0=v_~last~0_497} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {67199#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:02:48,290 INFO L290 TraceCheckUtils]: 16: Hoare triple {67199#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [293] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {67209#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:02:48,291 INFO L290 TraceCheckUtils]: 17: Hoare triple {67209#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {67138#false} is VALID [2022-04-28 04:02:48,291 INFO L290 TraceCheckUtils]: 18: Hoare triple {67138#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {67138#false} is VALID [2022-04-28 04:02:48,291 INFO L290 TraceCheckUtils]: 19: Hoare triple {67138#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {67138#false} is VALID [2022-04-28 04:02:48,291 INFO L290 TraceCheckUtils]: 20: Hoare triple {67138#false} assume !(~d~0 == ~SIZE~0); {67138#false} is VALID [2022-04-28 04:02:48,291 INFO L272 TraceCheckUtils]: 21: Hoare triple {67138#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {67138#false} is VALID [2022-04-28 04:02:48,291 INFO L290 TraceCheckUtils]: 22: Hoare triple {67138#false} ~cond := #in~cond; {67138#false} is VALID [2022-04-28 04:02:48,291 INFO L290 TraceCheckUtils]: 23: Hoare triple {67138#false} assume 0 == ~cond; {67138#false} is VALID [2022-04-28 04:02:48,291 INFO L290 TraceCheckUtils]: 24: Hoare triple {67138#false} assume !false; {67138#false} is VALID [2022-04-28 04:02:48,292 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:02:48,292 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:02:48,591 INFO L290 TraceCheckUtils]: 24: Hoare triple {67138#false} assume !false; {67138#false} is VALID [2022-04-28 04:02:48,591 INFO L290 TraceCheckUtils]: 23: Hoare triple {67138#false} assume 0 == ~cond; {67138#false} is VALID [2022-04-28 04:02:48,592 INFO L290 TraceCheckUtils]: 22: Hoare triple {67138#false} ~cond := #in~cond; {67138#false} is VALID [2022-04-28 04:02:48,592 INFO L272 TraceCheckUtils]: 21: Hoare triple {67138#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {67138#false} is VALID [2022-04-28 04:02:48,592 INFO L290 TraceCheckUtils]: 20: Hoare triple {67138#false} assume !(~d~0 == ~SIZE~0); {67138#false} is VALID [2022-04-28 04:02:48,592 INFO L290 TraceCheckUtils]: 19: Hoare triple {67138#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {67138#false} is VALID [2022-04-28 04:02:48,592 INFO L290 TraceCheckUtils]: 18: Hoare triple {67138#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {67138#false} is VALID [2022-04-28 04:02:48,592 INFO L290 TraceCheckUtils]: 17: Hoare triple {67255#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {67138#false} is VALID [2022-04-28 04:02:48,593 INFO L290 TraceCheckUtils]: 16: Hoare triple {67259#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [293] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {67255#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:02:48,593 INFO L290 TraceCheckUtils]: 15: Hoare triple {67259#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [296] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1197 v_main_~c~0_1196))) (or (and (= |v_main_#t~post5_652| |v_main_#t~post5_648|) .cse0 (= v_~SIZE~0_448 v_~SIZE~0_448) (= v_~last~0_497 v_~last~0_497)) (and (< v_main_~c~0_1196 (+ v_~SIZE~0_448 1)) (< v_main_~c~0_1197 v_main_~c~0_1196) (< v_main_~c~0_1196 (+ v_~last~0_497 1))) (and (or (not (< v_main_~c~0_1197 v_~SIZE~0_448)) (not (< v_main_~c~0_1197 v_~last~0_497))) .cse0 (= |v_main_#t~post5_648| |v_main_#t~post5_652|)))) InVars {~SIZE~0=v_~SIZE~0_448, main_~c~0=v_main_~c~0_1197, main_#t~post5=|v_main_#t~post5_652|, ~last~0=v_~last~0_497} OutVars{~SIZE~0=v_~SIZE~0_448, main_#t~post5=|v_main_#t~post5_648|, main_~c~0=v_main_~c~0_1196, ~last~0=v_~last~0_497} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {67259#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:02:48,594 INFO L290 TraceCheckUtils]: 14: Hoare triple {67259#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [295] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {67259#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:02:48,594 INFO L290 TraceCheckUtils]: 13: Hoare triple {67269#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [294] L25-3-->L25-4_primed: Formula: (let ((.cse2 (<= v_~last~0_496 v_main_~c~0_1195)) (.cse0 (= v_main_~c~0_1195 v_main_~c~0_1194)) (.cse1 (= |v_main_#t~post5_649| |v_main_#t~post5_647|)) (.cse3 (= v_main_~st~0_644 v_main_~st~0_643))) (or (and .cse0 .cse1 (or (not .cse2) (not (< v_main_~c~0_1195 v_~SIZE~0_447))) .cse3) (and (= v_main_~st~0_643 0) (< v_main_~c~0_1194 (+ v_~SIZE~0_447 1)) .cse2 (< v_main_~c~0_1195 v_main_~c~0_1194)) (and .cse0 .cse1 (= v_~SIZE~0_447 v_~SIZE~0_447) .cse3 (= v_~last~0_496 v_~last~0_496)))) InVars {~SIZE~0=v_~SIZE~0_447, main_~c~0=v_main_~c~0_1195, main_#t~post5=|v_main_#t~post5_649|, main_~st~0=v_main_~st~0_644, ~last~0=v_~last~0_496} OutVars{~SIZE~0=v_~SIZE~0_447, main_#t~post5=|v_main_#t~post5_647|, main_~c~0=v_main_~c~0_1194, main_~st~0=v_main_~st~0_643, ~last~0=v_~last~0_496} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {67259#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:02:48,595 INFO L290 TraceCheckUtils]: 12: Hoare triple {67273#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {67269#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:02:48,595 INFO L290 TraceCheckUtils]: 11: Hoare triple {67273#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {67273#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:48,595 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {67137#true} {67273#(< 1 ~SIZE~0)} #86#return; {67273#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:48,595 INFO L290 TraceCheckUtils]: 9: Hoare triple {67137#true} assume true; {67137#true} is VALID [2022-04-28 04:02:48,596 INFO L290 TraceCheckUtils]: 8: Hoare triple {67137#true} assume !(0 == ~cond); {67137#true} is VALID [2022-04-28 04:02:48,596 INFO L290 TraceCheckUtils]: 7: Hoare triple {67137#true} ~cond := #in~cond; {67137#true} is VALID [2022-04-28 04:02:48,596 INFO L272 TraceCheckUtils]: 6: Hoare triple {67273#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {67137#true} is VALID [2022-04-28 04:02:48,596 INFO L290 TraceCheckUtils]: 5: Hoare triple {67273#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {67273#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:48,596 INFO L272 TraceCheckUtils]: 4: Hoare triple {67273#(< 1 ~SIZE~0)} call #t~ret7 := main(); {67273#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:48,597 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67273#(< 1 ~SIZE~0)} {67137#true} #90#return; {67273#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:48,597 INFO L290 TraceCheckUtils]: 2: Hoare triple {67273#(< 1 ~SIZE~0)} assume true; {67273#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:48,597 INFO L290 TraceCheckUtils]: 1: Hoare triple {67137#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {67273#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:48,597 INFO L272 TraceCheckUtils]: 0: Hoare triple {67137#true} call ULTIMATE.init(); {67137#true} is VALID [2022-04-28 04:02:48,598 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:02:48,598 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1369996160] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:02:48,598 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:02:48,598 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:02:49,361 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:02:49,361 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [585839007] [2022-04-28 04:02:49,361 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [585839007] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:02:49,361 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:02:49,361 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [32] imperfect sequences [] total 32 [2022-04-28 04:02:49,361 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1718820651] [2022-04-28 04:02:49,361 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:02:49,362 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 1.4375) internal successors, (46), 30 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 52 [2022-04-28 04:02:49,362 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:02:49,362 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 32 states, 32 states have (on average 1.4375) internal successors, (46), 30 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:49,387 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:02:49,387 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2022-04-28 04:02:49,387 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:02:49,387 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-04-28 04:02:49,388 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=287, Invalid=1353, Unknown=0, NotChecked=0, Total=1640 [2022-04-28 04:02:49,388 INFO L87 Difference]: Start difference. First operand 196 states and 237 transitions. Second operand has 32 states, 32 states have (on average 1.4375) internal successors, (46), 30 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:51,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:02:51,587 INFO L93 Difference]: Finished difference Result 332 states and 407 transitions. [2022-04-28 04:02:51,587 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-28 04:02:51,587 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 1.4375) internal successors, (46), 30 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 52 [2022-04-28 04:02:51,587 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:02:51,587 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 1.4375) internal successors, (46), 30 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:51,588 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 106 transitions. [2022-04-28 04:02:51,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 1.4375) internal successors, (46), 30 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:51,588 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 106 transitions. [2022-04-28 04:02:51,589 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 106 transitions. [2022-04-28 04:02:51,636 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:02:51,639 INFO L225 Difference]: With dead ends: 332 [2022-04-28 04:02:51,639 INFO L226 Difference]: Without dead ends: 216 [2022-04-28 04:02:51,640 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 48 SyntacticMatches, 9 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 638 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=299, Invalid=1507, Unknown=0, NotChecked=0, Total=1806 [2022-04-28 04:02:51,640 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 62 mSDsluCounter, 36 mSDsCounter, 0 mSdLazyCounter, 1395 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 63 SdHoareTripleChecker+Valid, 56 SdHoareTripleChecker+Invalid, 1406 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1395 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 04:02:51,640 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [63 Valid, 56 Invalid, 1406 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1395 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 04:02:51,640 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 216 states. [2022-04-28 04:02:52,134 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 216 to 199. [2022-04-28 04:02:52,135 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:02:52,135 INFO L82 GeneralOperation]: Start isEquivalent. First operand 216 states. Second operand has 199 states, 184 states have (on average 1.2173913043478262) internal successors, (224), 187 states have internal predecessors, (224), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:52,135 INFO L74 IsIncluded]: Start isIncluded. First operand 216 states. Second operand has 199 states, 184 states have (on average 1.2173913043478262) internal successors, (224), 187 states have internal predecessors, (224), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:52,135 INFO L87 Difference]: Start difference. First operand 216 states. Second operand has 199 states, 184 states have (on average 1.2173913043478262) internal successors, (224), 187 states have internal predecessors, (224), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:52,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:02:52,137 INFO L93 Difference]: Finished difference Result 216 states and 260 transitions. [2022-04-28 04:02:52,138 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 260 transitions. [2022-04-28 04:02:52,138 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:02:52,138 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:02:52,138 INFO L74 IsIncluded]: Start isIncluded. First operand has 199 states, 184 states have (on average 1.2173913043478262) internal successors, (224), 187 states have internal predecessors, (224), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 216 states. [2022-04-28 04:02:52,138 INFO L87 Difference]: Start difference. First operand has 199 states, 184 states have (on average 1.2173913043478262) internal successors, (224), 187 states have internal predecessors, (224), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 216 states. [2022-04-28 04:02:52,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:02:52,140 INFO L93 Difference]: Finished difference Result 216 states and 260 transitions. [2022-04-28 04:02:52,140 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 260 transitions. [2022-04-28 04:02:52,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:02:52,141 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:02:52,141 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:02:52,141 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:02:52,141 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 199 states, 184 states have (on average 1.2173913043478262) internal successors, (224), 187 states have internal predecessors, (224), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:02:52,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 199 states to 199 states and 241 transitions. [2022-04-28 04:02:52,143 INFO L78 Accepts]: Start accepts. Automaton has 199 states and 241 transitions. Word has length 52 [2022-04-28 04:02:52,143 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:02:52,143 INFO L495 AbstractCegarLoop]: Abstraction has 199 states and 241 transitions. [2022-04-28 04:02:52,143 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 32 states, 32 states have (on average 1.4375) internal successors, (46), 30 states have internal predecessors, (46), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:52,143 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 199 states and 241 transitions. [2022-04-28 04:02:52,817 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 241 edges. 241 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:02:52,818 INFO L276 IsEmpty]: Start isEmpty. Operand 199 states and 241 transitions. [2022-04-28 04:02:52,818 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 04:02:52,818 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:02:52,818 INFO L195 NwaCegarLoop]: trace histogram [11, 11, 10, 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:02:52,836 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (49)] Forceful destruction successful, exit code 0 [2022-04-28 04:02:53,018 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 49 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable55 [2022-04-28 04:02:53,019 INFO L420 AbstractCegarLoop]: === Iteration 57 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:02:53,019 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:02:53,019 INFO L85 PathProgramCache]: Analyzing trace with hash -2013376257, now seen corresponding path program 46 times [2022-04-28 04:02:53,019 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:02:53,019 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1693133859] [2022-04-28 04:02:55,971 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:02:56,084 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:02:56,308 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:02:56,309 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:02:56,312 INFO L85 PathProgramCache]: Analyzing trace with hash 827320385, now seen corresponding path program 1 times [2022-04-28 04:02:56,312 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:02:56,312 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [642288419] [2022-04-28 04:02:56,312 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:02:56,312 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:02:56,319 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:56,469 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:02:56,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:56,473 INFO L290 TraceCheckUtils]: 0: Hoare triple {68851#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,474 INFO L290 TraceCheckUtils]: 1: Hoare triple {68838#(<= 20 ~SIZE~0)} assume true; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,474 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {68838#(<= 20 ~SIZE~0)} {68833#true} #90#return; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,474 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:02:56,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:56,476 INFO L290 TraceCheckUtils]: 0: Hoare triple {68833#true} ~cond := #in~cond; {68833#true} is VALID [2022-04-28 04:02:56,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {68833#true} assume !(0 == ~cond); {68833#true} is VALID [2022-04-28 04:02:56,476 INFO L290 TraceCheckUtils]: 2: Hoare triple {68833#true} assume true; {68833#true} is VALID [2022-04-28 04:02:56,476 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68833#true} {68838#(<= 20 ~SIZE~0)} #86#return; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,477 INFO L272 TraceCheckUtils]: 0: Hoare triple {68833#true} call ULTIMATE.init(); {68851#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:02:56,477 INFO L290 TraceCheckUtils]: 1: Hoare triple {68851#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {68838#(<= 20 ~SIZE~0)} assume true; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,478 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68838#(<= 20 ~SIZE~0)} {68833#true} #90#return; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,478 INFO L272 TraceCheckUtils]: 4: Hoare triple {68838#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,478 INFO L290 TraceCheckUtils]: 5: Hoare triple {68838#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,478 INFO L272 TraceCheckUtils]: 6: Hoare triple {68838#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {68833#true} is VALID [2022-04-28 04:02:56,479 INFO L290 TraceCheckUtils]: 7: Hoare triple {68833#true} ~cond := #in~cond; {68833#true} is VALID [2022-04-28 04:02:56,479 INFO L290 TraceCheckUtils]: 8: Hoare triple {68833#true} assume !(0 == ~cond); {68833#true} is VALID [2022-04-28 04:02:56,479 INFO L290 TraceCheckUtils]: 9: Hoare triple {68833#true} assume true; {68833#true} is VALID [2022-04-28 04:02:56,479 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {68833#true} {68838#(<= 20 ~SIZE~0)} #86#return; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,479 INFO L290 TraceCheckUtils]: 11: Hoare triple {68838#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {68843#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:02:56,480 INFO L290 TraceCheckUtils]: 12: Hoare triple {68843#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {68844#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:02:56,481 INFO L290 TraceCheckUtils]: 13: Hoare triple {68844#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [298] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= |v_main_#t~post5_662| |v_main_#t~post5_660|)) (.cse0 (<= v_~last~0_506 v_main_~c~0_1222)) (.cse2 (= v_main_~st~0_654 v_main_~st~0_653)) (.cse3 (= v_main_~c~0_1222 v_main_~c~0_1221))) (or (and (< v_main_~c~0_1221 (+ v_~SIZE~0_456 1)) (= v_main_~st~0_653 0) (< v_main_~c~0_1222 v_main_~c~0_1221) .cse0) (and .cse1 (= v_~last~0_506 v_~last~0_506) .cse2 (= v_~SIZE~0_456 v_~SIZE~0_456) .cse3) (and .cse1 (or (not (< v_main_~c~0_1222 v_~SIZE~0_456)) (not .cse0)) .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_456, main_~c~0=v_main_~c~0_1222, main_#t~post5=|v_main_#t~post5_662|, main_~st~0=v_main_~st~0_654, ~last~0=v_~last~0_506} OutVars{~SIZE~0=v_~SIZE~0_456, main_#t~post5=|v_main_#t~post5_660|, main_~c~0=v_main_~c~0_1221, main_~st~0=v_main_~st~0_653, ~last~0=v_~last~0_506} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {68845#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:02:56,481 INFO L290 TraceCheckUtils]: 14: Hoare triple {68845#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [299] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {68845#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:02:56,482 INFO L290 TraceCheckUtils]: 15: Hoare triple {68845#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [300] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1224 v_main_~c~0_1223)) (.cse1 (= |v_main_#t~post5_665| |v_main_#t~post5_661|))) (or (and .cse0 (= v_~SIZE~0_457 v_~SIZE~0_457) .cse1 (= v_~last~0_507 v_~last~0_507)) (and (< v_main_~c~0_1224 v_main_~c~0_1223) (< v_main_~c~0_1223 (+ v_~SIZE~0_457 1)) (< v_main_~c~0_1223 (+ v_~last~0_507 1))) (and .cse0 (or (not (< v_main_~c~0_1224 v_~SIZE~0_457)) (not (< v_main_~c~0_1224 v_~last~0_507))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_457, main_~c~0=v_main_~c~0_1224, main_#t~post5=|v_main_#t~post5_665|, ~last~0=v_~last~0_507} OutVars{~SIZE~0=v_~SIZE~0_457, main_#t~post5=|v_main_#t~post5_661|, main_~c~0=v_main_~c~0_1223, ~last~0=v_~last~0_507} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {68845#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:02:56,482 INFO L290 TraceCheckUtils]: 16: Hoare triple {68845#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [297] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {68846#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:02:56,483 INFO L290 TraceCheckUtils]: 17: Hoare triple {68846#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {68847#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:56,483 INFO L290 TraceCheckUtils]: 18: Hoare triple {68847#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {68847#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:56,484 INFO L290 TraceCheckUtils]: 19: Hoare triple {68847#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {68848#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:56,484 INFO L290 TraceCheckUtils]: 20: Hoare triple {68848#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {68848#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:02:56,485 INFO L272 TraceCheckUtils]: 21: Hoare triple {68848#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {68849#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:02:56,485 INFO L290 TraceCheckUtils]: 22: Hoare triple {68849#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {68850#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:02:56,486 INFO L290 TraceCheckUtils]: 23: Hoare triple {68850#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {68834#false} is VALID [2022-04-28 04:02:56,486 INFO L290 TraceCheckUtils]: 24: Hoare triple {68834#false} assume !false; {68834#false} is VALID [2022-04-28 04:02:56,486 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:02:56,486 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:02:56,486 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [642288419] [2022-04-28 04:02:56,486 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [642288419] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:02:56,486 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [514512958] [2022-04-28 04:02:56,486 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:02:56,486 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:02:56,486 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:02:56,487 INFO L229 MonitoredProcess]: Starting monitored process 50 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:02:56,490 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (50)] Waiting until timeout for monitored process [2022-04-28 04:02:56,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:56,519 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:02:56,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:02:56,525 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:02:56,811 INFO L272 TraceCheckUtils]: 0: Hoare triple {68833#true} call ULTIMATE.init(); {68833#true} is VALID [2022-04-28 04:02:56,811 INFO L290 TraceCheckUtils]: 1: Hoare triple {68833#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,811 INFO L290 TraceCheckUtils]: 2: Hoare triple {68838#(<= 20 ~SIZE~0)} assume true; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,812 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68838#(<= 20 ~SIZE~0)} {68833#true} #90#return; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,812 INFO L272 TraceCheckUtils]: 4: Hoare triple {68838#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,812 INFO L290 TraceCheckUtils]: 5: Hoare triple {68838#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,813 INFO L272 TraceCheckUtils]: 6: Hoare triple {68838#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,813 INFO L290 TraceCheckUtils]: 7: Hoare triple {68838#(<= 20 ~SIZE~0)} ~cond := #in~cond; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,813 INFO L290 TraceCheckUtils]: 8: Hoare triple {68838#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,814 INFO L290 TraceCheckUtils]: 9: Hoare triple {68838#(<= 20 ~SIZE~0)} assume true; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,814 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {68838#(<= 20 ~SIZE~0)} {68838#(<= 20 ~SIZE~0)} #86#return; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,814 INFO L290 TraceCheckUtils]: 11: Hoare triple {68838#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:02:56,815 INFO L290 TraceCheckUtils]: 12: Hoare triple {68838#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {68891#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:02:56,815 INFO L290 TraceCheckUtils]: 13: Hoare triple {68891#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [298] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= |v_main_#t~post5_662| |v_main_#t~post5_660|)) (.cse0 (<= v_~last~0_506 v_main_~c~0_1222)) (.cse2 (= v_main_~st~0_654 v_main_~st~0_653)) (.cse3 (= v_main_~c~0_1222 v_main_~c~0_1221))) (or (and (< v_main_~c~0_1221 (+ v_~SIZE~0_456 1)) (= v_main_~st~0_653 0) (< v_main_~c~0_1222 v_main_~c~0_1221) .cse0) (and .cse1 (= v_~last~0_506 v_~last~0_506) .cse2 (= v_~SIZE~0_456 v_~SIZE~0_456) .cse3) (and .cse1 (or (not (< v_main_~c~0_1222 v_~SIZE~0_456)) (not .cse0)) .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_456, main_~c~0=v_main_~c~0_1222, main_#t~post5=|v_main_#t~post5_662|, main_~st~0=v_main_~st~0_654, ~last~0=v_~last~0_506} OutVars{~SIZE~0=v_~SIZE~0_456, main_#t~post5=|v_main_#t~post5_660|, main_~c~0=v_main_~c~0_1221, main_~st~0=v_main_~st~0_653, ~last~0=v_~last~0_506} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {68895#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:02:56,816 INFO L290 TraceCheckUtils]: 14: Hoare triple {68895#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [299] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {68895#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:02:56,816 INFO L290 TraceCheckUtils]: 15: Hoare triple {68895#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [300] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1224 v_main_~c~0_1223)) (.cse1 (= |v_main_#t~post5_665| |v_main_#t~post5_661|))) (or (and .cse0 (= v_~SIZE~0_457 v_~SIZE~0_457) .cse1 (= v_~last~0_507 v_~last~0_507)) (and (< v_main_~c~0_1224 v_main_~c~0_1223) (< v_main_~c~0_1223 (+ v_~SIZE~0_457 1)) (< v_main_~c~0_1223 (+ v_~last~0_507 1))) (and .cse0 (or (not (< v_main_~c~0_1224 v_~SIZE~0_457)) (not (< v_main_~c~0_1224 v_~last~0_507))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_457, main_~c~0=v_main_~c~0_1224, main_#t~post5=|v_main_#t~post5_665|, ~last~0=v_~last~0_507} OutVars{~SIZE~0=v_~SIZE~0_457, main_#t~post5=|v_main_#t~post5_661|, main_~c~0=v_main_~c~0_1223, ~last~0=v_~last~0_507} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {68895#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:02:56,817 INFO L290 TraceCheckUtils]: 16: Hoare triple {68895#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [297] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {68905#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:02:56,817 INFO L290 TraceCheckUtils]: 17: Hoare triple {68905#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {68834#false} is VALID [2022-04-28 04:02:56,818 INFO L290 TraceCheckUtils]: 18: Hoare triple {68834#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {68834#false} is VALID [2022-04-28 04:02:56,818 INFO L290 TraceCheckUtils]: 19: Hoare triple {68834#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {68834#false} is VALID [2022-04-28 04:02:56,818 INFO L290 TraceCheckUtils]: 20: Hoare triple {68834#false} assume !(~d~0 == ~SIZE~0); {68834#false} is VALID [2022-04-28 04:02:56,818 INFO L272 TraceCheckUtils]: 21: Hoare triple {68834#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {68834#false} is VALID [2022-04-28 04:02:56,818 INFO L290 TraceCheckUtils]: 22: Hoare triple {68834#false} ~cond := #in~cond; {68834#false} is VALID [2022-04-28 04:02:56,818 INFO L290 TraceCheckUtils]: 23: Hoare triple {68834#false} assume 0 == ~cond; {68834#false} is VALID [2022-04-28 04:02:56,818 INFO L290 TraceCheckUtils]: 24: Hoare triple {68834#false} assume !false; {68834#false} is VALID [2022-04-28 04:02:56,818 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:02:56,818 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:02:57,130 INFO L290 TraceCheckUtils]: 24: Hoare triple {68834#false} assume !false; {68834#false} is VALID [2022-04-28 04:02:57,130 INFO L290 TraceCheckUtils]: 23: Hoare triple {68834#false} assume 0 == ~cond; {68834#false} is VALID [2022-04-28 04:02:57,130 INFO L290 TraceCheckUtils]: 22: Hoare triple {68834#false} ~cond := #in~cond; {68834#false} is VALID [2022-04-28 04:02:57,130 INFO L272 TraceCheckUtils]: 21: Hoare triple {68834#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {68834#false} is VALID [2022-04-28 04:02:57,130 INFO L290 TraceCheckUtils]: 20: Hoare triple {68834#false} assume !(~d~0 == ~SIZE~0); {68834#false} is VALID [2022-04-28 04:02:57,130 INFO L290 TraceCheckUtils]: 19: Hoare triple {68834#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {68834#false} is VALID [2022-04-28 04:02:57,131 INFO L290 TraceCheckUtils]: 18: Hoare triple {68834#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {68834#false} is VALID [2022-04-28 04:02:57,131 INFO L290 TraceCheckUtils]: 17: Hoare triple {68951#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {68834#false} is VALID [2022-04-28 04:02:57,131 INFO L290 TraceCheckUtils]: 16: Hoare triple {68955#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [297] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {68951#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:02:57,132 INFO L290 TraceCheckUtils]: 15: Hoare triple {68955#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [300] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1224 v_main_~c~0_1223)) (.cse1 (= |v_main_#t~post5_665| |v_main_#t~post5_661|))) (or (and .cse0 (= v_~SIZE~0_457 v_~SIZE~0_457) .cse1 (= v_~last~0_507 v_~last~0_507)) (and (< v_main_~c~0_1224 v_main_~c~0_1223) (< v_main_~c~0_1223 (+ v_~SIZE~0_457 1)) (< v_main_~c~0_1223 (+ v_~last~0_507 1))) (and .cse0 (or (not (< v_main_~c~0_1224 v_~SIZE~0_457)) (not (< v_main_~c~0_1224 v_~last~0_507))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_457, main_~c~0=v_main_~c~0_1224, main_#t~post5=|v_main_#t~post5_665|, ~last~0=v_~last~0_507} OutVars{~SIZE~0=v_~SIZE~0_457, main_#t~post5=|v_main_#t~post5_661|, main_~c~0=v_main_~c~0_1223, ~last~0=v_~last~0_507} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {68955#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:02:57,132 INFO L290 TraceCheckUtils]: 14: Hoare triple {68955#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [299] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {68955#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:02:57,133 INFO L290 TraceCheckUtils]: 13: Hoare triple {68965#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [298] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= |v_main_#t~post5_662| |v_main_#t~post5_660|)) (.cse0 (<= v_~last~0_506 v_main_~c~0_1222)) (.cse2 (= v_main_~st~0_654 v_main_~st~0_653)) (.cse3 (= v_main_~c~0_1222 v_main_~c~0_1221))) (or (and (< v_main_~c~0_1221 (+ v_~SIZE~0_456 1)) (= v_main_~st~0_653 0) (< v_main_~c~0_1222 v_main_~c~0_1221) .cse0) (and .cse1 (= v_~last~0_506 v_~last~0_506) .cse2 (= v_~SIZE~0_456 v_~SIZE~0_456) .cse3) (and .cse1 (or (not (< v_main_~c~0_1222 v_~SIZE~0_456)) (not .cse0)) .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_456, main_~c~0=v_main_~c~0_1222, main_#t~post5=|v_main_#t~post5_662|, main_~st~0=v_main_~st~0_654, ~last~0=v_~last~0_506} OutVars{~SIZE~0=v_~SIZE~0_456, main_#t~post5=|v_main_#t~post5_660|, main_~c~0=v_main_~c~0_1221, main_~st~0=v_main_~st~0_653, ~last~0=v_~last~0_506} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {68955#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:02:57,133 INFO L290 TraceCheckUtils]: 12: Hoare triple {68969#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {68965#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:02:57,133 INFO L290 TraceCheckUtils]: 11: Hoare triple {68969#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {68969#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:57,134 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {68833#true} {68969#(< 1 ~SIZE~0)} #86#return; {68969#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:57,134 INFO L290 TraceCheckUtils]: 9: Hoare triple {68833#true} assume true; {68833#true} is VALID [2022-04-28 04:02:57,134 INFO L290 TraceCheckUtils]: 8: Hoare triple {68833#true} assume !(0 == ~cond); {68833#true} is VALID [2022-04-28 04:02:57,134 INFO L290 TraceCheckUtils]: 7: Hoare triple {68833#true} ~cond := #in~cond; {68833#true} is VALID [2022-04-28 04:02:57,134 INFO L272 TraceCheckUtils]: 6: Hoare triple {68969#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {68833#true} is VALID [2022-04-28 04:02:57,134 INFO L290 TraceCheckUtils]: 5: Hoare triple {68969#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {68969#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:57,134 INFO L272 TraceCheckUtils]: 4: Hoare triple {68969#(< 1 ~SIZE~0)} call #t~ret7 := main(); {68969#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:57,135 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68969#(< 1 ~SIZE~0)} {68833#true} #90#return; {68969#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:57,135 INFO L290 TraceCheckUtils]: 2: Hoare triple {68969#(< 1 ~SIZE~0)} assume true; {68969#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:57,135 INFO L290 TraceCheckUtils]: 1: Hoare triple {68833#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {68969#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:02:57,135 INFO L272 TraceCheckUtils]: 0: Hoare triple {68833#true} call ULTIMATE.init(); {68833#true} is VALID [2022-04-28 04:02:57,135 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:02:57,136 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [514512958] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:02:57,136 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:02:57,136 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:02:57,980 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:02:57,980 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1693133859] [2022-04-28 04:02:57,980 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1693133859] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:02:57,980 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:02:57,980 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-28 04:02:57,980 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1959700123] [2022-04-28 04:02:57,980 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:02:57,981 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 1.96) internal successors, (49), 23 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:02:57,981 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:02:57,981 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 25 states have (on average 1.96) internal successors, (49), 23 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:02:58,022 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:02:58,022 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-28 04:02:58,022 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:02:58,022 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-28 04:02:58,022 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=182, Invalid=940, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 04:02:58,022 INFO L87 Difference]: Start difference. First operand 199 states and 241 transitions. Second operand has 25 states, 25 states have (on average 1.96) internal successors, (49), 23 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:00,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:03:00,300 INFO L93 Difference]: Finished difference Result 344 states and 416 transitions. [2022-04-28 04:03:00,300 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-28 04:03:00,300 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 1.96) internal successors, (49), 23 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:03:00,300 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:03:00,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.96) internal successors, (49), 23 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:00,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 100 transitions. [2022-04-28 04:03:00,301 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 1.96) internal successors, (49), 23 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:00,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 100 transitions. [2022-04-28 04:03:00,301 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 100 transitions. [2022-04-28 04:03:00,352 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:03:00,355 INFO L225 Difference]: With dead ends: 344 [2022-04-28 04:03:00,355 INFO L226 Difference]: Without dead ends: 239 [2022-04-28 04:03:00,355 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 48 SyntacticMatches, 19 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 560 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=194, Invalid=1066, Unknown=0, NotChecked=0, Total=1260 [2022-04-28 04:03:00,355 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 46 mSDsluCounter, 36 mSDsCounter, 0 mSdLazyCounter, 1004 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 56 SdHoareTripleChecker+Invalid, 1014 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1004 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 04:03:00,356 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [47 Valid, 56 Invalid, 1014 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1004 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 04:03:00,356 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 239 states. [2022-04-28 04:03:00,891 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 239 to 202. [2022-04-28 04:03:00,892 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:03:00,892 INFO L82 GeneralOperation]: Start isEquivalent. First operand 239 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:00,892 INFO L74 IsIncluded]: Start isIncluded. First operand 239 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:00,892 INFO L87 Difference]: Start difference. First operand 239 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:00,897 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:03:00,897 INFO L93 Difference]: Finished difference Result 239 states and 283 transitions. [2022-04-28 04:03:00,897 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 283 transitions. [2022-04-28 04:03:00,897 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:03:00,897 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:03:00,897 INFO L74 IsIncluded]: Start isIncluded. First operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 239 states. [2022-04-28 04:03:00,898 INFO L87 Difference]: Start difference. First operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 239 states. [2022-04-28 04:03:00,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:03:00,900 INFO L93 Difference]: Finished difference Result 239 states and 283 transitions. [2022-04-28 04:03:00,900 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 283 transitions. [2022-04-28 04:03:00,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:03:00,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:03:00,900 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:03:00,900 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:03:00,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:00,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 244 transitions. [2022-04-28 04:03:00,904 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 244 transitions. Word has length 55 [2022-04-28 04:03:00,904 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:03:00,904 INFO L495 AbstractCegarLoop]: Abstraction has 202 states and 244 transitions. [2022-04-28 04:03:00,905 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 25 states have (on average 1.96) internal successors, (49), 23 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:00,905 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 202 states and 244 transitions. [2022-04-28 04:03:01,702 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 244 edges. 244 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:03:01,702 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 244 transitions. [2022-04-28 04:03:01,702 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 04:03:01,702 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:03:01,702 INFO L195 NwaCegarLoop]: trace histogram [11, 11, 9, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:03:01,720 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (50)] Forceful destruction successful, exit code 0 [2022-04-28 04:03:01,907 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 50 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable56 [2022-04-28 04:03:01,908 INFO L420 AbstractCegarLoop]: === Iteration 58 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:03:01,908 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:03:01,908 INFO L85 PathProgramCache]: Analyzing trace with hash 1252231741, now seen corresponding path program 47 times [2022-04-28 04:03:01,908 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:03:01,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [129830587] [2022-04-28 04:03:06,022 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:03:06,136 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:03:10,241 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:03:10,336 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:03:10,338 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:03:10,340 INFO L85 PathProgramCache]: Analyzing trace with hash -975124159, now seen corresponding path program 1 times [2022-04-28 04:03:10,340 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:03:10,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1450325296] [2022-04-28 04:03:10,340 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:03:10,340 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:03:10,360 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:10,554 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:03:10,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:10,559 INFO L290 TraceCheckUtils]: 0: Hoare triple {70616#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,560 INFO L290 TraceCheckUtils]: 1: Hoare triple {70603#(<= 20 ~SIZE~0)} assume true; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,560 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {70603#(<= 20 ~SIZE~0)} {70598#true} #90#return; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,560 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:03:10,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:10,562 INFO L290 TraceCheckUtils]: 0: Hoare triple {70598#true} ~cond := #in~cond; {70598#true} is VALID [2022-04-28 04:03:10,563 INFO L290 TraceCheckUtils]: 1: Hoare triple {70598#true} assume !(0 == ~cond); {70598#true} is VALID [2022-04-28 04:03:10,563 INFO L290 TraceCheckUtils]: 2: Hoare triple {70598#true} assume true; {70598#true} is VALID [2022-04-28 04:03:10,563 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {70598#true} {70603#(<= 20 ~SIZE~0)} #86#return; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,564 INFO L272 TraceCheckUtils]: 0: Hoare triple {70598#true} call ULTIMATE.init(); {70616#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:03:10,564 INFO L290 TraceCheckUtils]: 1: Hoare triple {70616#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,564 INFO L290 TraceCheckUtils]: 2: Hoare triple {70603#(<= 20 ~SIZE~0)} assume true; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,565 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {70603#(<= 20 ~SIZE~0)} {70598#true} #90#return; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,565 INFO L272 TraceCheckUtils]: 4: Hoare triple {70603#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,565 INFO L290 TraceCheckUtils]: 5: Hoare triple {70603#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,565 INFO L272 TraceCheckUtils]: 6: Hoare triple {70603#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {70598#true} is VALID [2022-04-28 04:03:10,565 INFO L290 TraceCheckUtils]: 7: Hoare triple {70598#true} ~cond := #in~cond; {70598#true} is VALID [2022-04-28 04:03:10,566 INFO L290 TraceCheckUtils]: 8: Hoare triple {70598#true} assume !(0 == ~cond); {70598#true} is VALID [2022-04-28 04:03:10,566 INFO L290 TraceCheckUtils]: 9: Hoare triple {70598#true} assume true; {70598#true} is VALID [2022-04-28 04:03:10,566 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {70598#true} {70603#(<= 20 ~SIZE~0)} #86#return; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,566 INFO L290 TraceCheckUtils]: 11: Hoare triple {70603#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {70608#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:03:10,567 INFO L290 TraceCheckUtils]: 12: Hoare triple {70608#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {70609#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:03:10,568 INFO L290 TraceCheckUtils]: 13: Hoare triple {70609#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [302] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_673 v_main_~st~0_672)) (.cse2 (= v_main_~c~0_1250 v_main_~c~0_1249)) (.cse3 (= |v_main_#t~post5_675| |v_main_#t~post5_673|)) (.cse0 (<= v_~last~0_516 v_main_~c~0_1250))) (or (and (< v_main_~c~0_1250 v_main_~c~0_1249) (< v_main_~c~0_1249 (+ v_~SIZE~0_465 1)) (= v_main_~st~0_672 0) .cse0) (and .cse1 (= v_~SIZE~0_465 v_~SIZE~0_465) .cse2 (= v_~last~0_516 v_~last~0_516) .cse3) (and .cse1 .cse2 .cse3 (or (not (< v_main_~c~0_1250 v_~SIZE~0_465)) (not .cse0))))) InVars {~SIZE~0=v_~SIZE~0_465, main_~c~0=v_main_~c~0_1250, main_#t~post5=|v_main_#t~post5_675|, main_~st~0=v_main_~st~0_673, ~last~0=v_~last~0_516} OutVars{~SIZE~0=v_~SIZE~0_465, main_#t~post5=|v_main_#t~post5_673|, main_~c~0=v_main_~c~0_1249, main_~st~0=v_main_~st~0_672, ~last~0=v_~last~0_516} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {70610#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:03:10,568 INFO L290 TraceCheckUtils]: 14: Hoare triple {70610#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [303] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {70610#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:03:10,569 INFO L290 TraceCheckUtils]: 15: Hoare triple {70610#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [304] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1252 v_main_~c~0_1251)) (.cse1 (= |v_main_#t~post5_678| |v_main_#t~post5_674|))) (or (and (< v_main_~c~0_1251 (+ v_~last~0_517 1)) (< v_main_~c~0_1252 v_main_~c~0_1251) (< v_main_~c~0_1251 (+ v_~SIZE~0_466 1))) (and (or (not (< v_main_~c~0_1252 v_~SIZE~0_466)) (not (< v_main_~c~0_1252 v_~last~0_517))) .cse0 .cse1) (and .cse0 (= v_~last~0_517 v_~last~0_517) (= v_~SIZE~0_466 v_~SIZE~0_466) .cse1))) InVars {~SIZE~0=v_~SIZE~0_466, main_~c~0=v_main_~c~0_1252, main_#t~post5=|v_main_#t~post5_678|, ~last~0=v_~last~0_517} OutVars{~SIZE~0=v_~SIZE~0_466, main_#t~post5=|v_main_#t~post5_674|, main_~c~0=v_main_~c~0_1251, ~last~0=v_~last~0_517} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {70610#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:03:10,569 INFO L290 TraceCheckUtils]: 16: Hoare triple {70610#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [301] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {70611#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:03:10,570 INFO L290 TraceCheckUtils]: 17: Hoare triple {70611#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {70612#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:10,571 INFO L290 TraceCheckUtils]: 18: Hoare triple {70612#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {70612#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:10,571 INFO L290 TraceCheckUtils]: 19: Hoare triple {70612#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {70613#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:10,572 INFO L290 TraceCheckUtils]: 20: Hoare triple {70613#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {70613#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:10,572 INFO L272 TraceCheckUtils]: 21: Hoare triple {70613#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {70614#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:03:10,573 INFO L290 TraceCheckUtils]: 22: Hoare triple {70614#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {70615#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:03:10,573 INFO L290 TraceCheckUtils]: 23: Hoare triple {70615#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {70599#false} is VALID [2022-04-28 04:03:10,573 INFO L290 TraceCheckUtils]: 24: Hoare triple {70599#false} assume !false; {70599#false} is VALID [2022-04-28 04:03:10,573 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:03:10,573 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:03:10,574 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1450325296] [2022-04-28 04:03:10,574 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1450325296] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:03:10,574 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [462474714] [2022-04-28 04:03:10,574 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:03:10,574 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:03:10,574 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:03:10,588 INFO L229 MonitoredProcess]: Starting monitored process 51 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:03:10,588 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (51)] Waiting until timeout for monitored process [2022-04-28 04:03:10,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:10,620 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:03:10,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:10,628 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:03:10,878 INFO L272 TraceCheckUtils]: 0: Hoare triple {70598#true} call ULTIMATE.init(); {70598#true} is VALID [2022-04-28 04:03:10,879 INFO L290 TraceCheckUtils]: 1: Hoare triple {70598#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,879 INFO L290 TraceCheckUtils]: 2: Hoare triple {70603#(<= 20 ~SIZE~0)} assume true; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,879 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {70603#(<= 20 ~SIZE~0)} {70598#true} #90#return; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,880 INFO L272 TraceCheckUtils]: 4: Hoare triple {70603#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,880 INFO L290 TraceCheckUtils]: 5: Hoare triple {70603#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,880 INFO L272 TraceCheckUtils]: 6: Hoare triple {70603#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,880 INFO L290 TraceCheckUtils]: 7: Hoare triple {70603#(<= 20 ~SIZE~0)} ~cond := #in~cond; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {70603#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,881 INFO L290 TraceCheckUtils]: 9: Hoare triple {70603#(<= 20 ~SIZE~0)} assume true; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,881 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {70603#(<= 20 ~SIZE~0)} {70603#(<= 20 ~SIZE~0)} #86#return; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,881 INFO L290 TraceCheckUtils]: 11: Hoare triple {70603#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:10,881 INFO L290 TraceCheckUtils]: 12: Hoare triple {70603#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {70656#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:03:10,882 INFO L290 TraceCheckUtils]: 13: Hoare triple {70656#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [302] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_673 v_main_~st~0_672)) (.cse2 (= v_main_~c~0_1250 v_main_~c~0_1249)) (.cse3 (= |v_main_#t~post5_675| |v_main_#t~post5_673|)) (.cse0 (<= v_~last~0_516 v_main_~c~0_1250))) (or (and (< v_main_~c~0_1250 v_main_~c~0_1249) (< v_main_~c~0_1249 (+ v_~SIZE~0_465 1)) (= v_main_~st~0_672 0) .cse0) (and .cse1 (= v_~SIZE~0_465 v_~SIZE~0_465) .cse2 (= v_~last~0_516 v_~last~0_516) .cse3) (and .cse1 .cse2 .cse3 (or (not (< v_main_~c~0_1250 v_~SIZE~0_465)) (not .cse0))))) InVars {~SIZE~0=v_~SIZE~0_465, main_~c~0=v_main_~c~0_1250, main_#t~post5=|v_main_#t~post5_675|, main_~st~0=v_main_~st~0_673, ~last~0=v_~last~0_516} OutVars{~SIZE~0=v_~SIZE~0_465, main_#t~post5=|v_main_#t~post5_673|, main_~c~0=v_main_~c~0_1249, main_~st~0=v_main_~st~0_672, ~last~0=v_~last~0_516} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {70660#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:03:10,882 INFO L290 TraceCheckUtils]: 14: Hoare triple {70660#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [303] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {70660#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:03:10,883 INFO L290 TraceCheckUtils]: 15: Hoare triple {70660#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [304] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1252 v_main_~c~0_1251)) (.cse1 (= |v_main_#t~post5_678| |v_main_#t~post5_674|))) (or (and (< v_main_~c~0_1251 (+ v_~last~0_517 1)) (< v_main_~c~0_1252 v_main_~c~0_1251) (< v_main_~c~0_1251 (+ v_~SIZE~0_466 1))) (and (or (not (< v_main_~c~0_1252 v_~SIZE~0_466)) (not (< v_main_~c~0_1252 v_~last~0_517))) .cse0 .cse1) (and .cse0 (= v_~last~0_517 v_~last~0_517) (= v_~SIZE~0_466 v_~SIZE~0_466) .cse1))) InVars {~SIZE~0=v_~SIZE~0_466, main_~c~0=v_main_~c~0_1252, main_#t~post5=|v_main_#t~post5_678|, ~last~0=v_~last~0_517} OutVars{~SIZE~0=v_~SIZE~0_466, main_#t~post5=|v_main_#t~post5_674|, main_~c~0=v_main_~c~0_1251, ~last~0=v_~last~0_517} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {70660#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:03:10,883 INFO L290 TraceCheckUtils]: 16: Hoare triple {70660#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [301] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {70670#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:03:10,884 INFO L290 TraceCheckUtils]: 17: Hoare triple {70670#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {70599#false} is VALID [2022-04-28 04:03:10,884 INFO L290 TraceCheckUtils]: 18: Hoare triple {70599#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {70599#false} is VALID [2022-04-28 04:03:10,884 INFO L290 TraceCheckUtils]: 19: Hoare triple {70599#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {70599#false} is VALID [2022-04-28 04:03:10,884 INFO L290 TraceCheckUtils]: 20: Hoare triple {70599#false} assume !(~d~0 == ~SIZE~0); {70599#false} is VALID [2022-04-28 04:03:10,884 INFO L272 TraceCheckUtils]: 21: Hoare triple {70599#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {70599#false} is VALID [2022-04-28 04:03:10,884 INFO L290 TraceCheckUtils]: 22: Hoare triple {70599#false} ~cond := #in~cond; {70599#false} is VALID [2022-04-28 04:03:10,884 INFO L290 TraceCheckUtils]: 23: Hoare triple {70599#false} assume 0 == ~cond; {70599#false} is VALID [2022-04-28 04:03:10,884 INFO L290 TraceCheckUtils]: 24: Hoare triple {70599#false} assume !false; {70599#false} is VALID [2022-04-28 04:03:10,884 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:03:10,884 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:03:11,170 INFO L290 TraceCheckUtils]: 24: Hoare triple {70599#false} assume !false; {70599#false} is VALID [2022-04-28 04:03:11,171 INFO L290 TraceCheckUtils]: 23: Hoare triple {70599#false} assume 0 == ~cond; {70599#false} is VALID [2022-04-28 04:03:11,171 INFO L290 TraceCheckUtils]: 22: Hoare triple {70599#false} ~cond := #in~cond; {70599#false} is VALID [2022-04-28 04:03:11,171 INFO L272 TraceCheckUtils]: 21: Hoare triple {70599#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {70599#false} is VALID [2022-04-28 04:03:11,171 INFO L290 TraceCheckUtils]: 20: Hoare triple {70599#false} assume !(~d~0 == ~SIZE~0); {70599#false} is VALID [2022-04-28 04:03:11,171 INFO L290 TraceCheckUtils]: 19: Hoare triple {70599#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {70599#false} is VALID [2022-04-28 04:03:11,171 INFO L290 TraceCheckUtils]: 18: Hoare triple {70599#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {70599#false} is VALID [2022-04-28 04:03:11,171 INFO L290 TraceCheckUtils]: 17: Hoare triple {70716#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {70599#false} is VALID [2022-04-28 04:03:11,172 INFO L290 TraceCheckUtils]: 16: Hoare triple {70720#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [301] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {70716#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:03:11,172 INFO L290 TraceCheckUtils]: 15: Hoare triple {70720#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [304] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1252 v_main_~c~0_1251)) (.cse1 (= |v_main_#t~post5_678| |v_main_#t~post5_674|))) (or (and (< v_main_~c~0_1251 (+ v_~last~0_517 1)) (< v_main_~c~0_1252 v_main_~c~0_1251) (< v_main_~c~0_1251 (+ v_~SIZE~0_466 1))) (and (or (not (< v_main_~c~0_1252 v_~SIZE~0_466)) (not (< v_main_~c~0_1252 v_~last~0_517))) .cse0 .cse1) (and .cse0 (= v_~last~0_517 v_~last~0_517) (= v_~SIZE~0_466 v_~SIZE~0_466) .cse1))) InVars {~SIZE~0=v_~SIZE~0_466, main_~c~0=v_main_~c~0_1252, main_#t~post5=|v_main_#t~post5_678|, ~last~0=v_~last~0_517} OutVars{~SIZE~0=v_~SIZE~0_466, main_#t~post5=|v_main_#t~post5_674|, main_~c~0=v_main_~c~0_1251, ~last~0=v_~last~0_517} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {70720#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:03:11,173 INFO L290 TraceCheckUtils]: 14: Hoare triple {70720#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [303] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {70720#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:03:11,173 INFO L290 TraceCheckUtils]: 13: Hoare triple {70730#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [302] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_673 v_main_~st~0_672)) (.cse2 (= v_main_~c~0_1250 v_main_~c~0_1249)) (.cse3 (= |v_main_#t~post5_675| |v_main_#t~post5_673|)) (.cse0 (<= v_~last~0_516 v_main_~c~0_1250))) (or (and (< v_main_~c~0_1250 v_main_~c~0_1249) (< v_main_~c~0_1249 (+ v_~SIZE~0_465 1)) (= v_main_~st~0_672 0) .cse0) (and .cse1 (= v_~SIZE~0_465 v_~SIZE~0_465) .cse2 (= v_~last~0_516 v_~last~0_516) .cse3) (and .cse1 .cse2 .cse3 (or (not (< v_main_~c~0_1250 v_~SIZE~0_465)) (not .cse0))))) InVars {~SIZE~0=v_~SIZE~0_465, main_~c~0=v_main_~c~0_1250, main_#t~post5=|v_main_#t~post5_675|, main_~st~0=v_main_~st~0_673, ~last~0=v_~last~0_516} OutVars{~SIZE~0=v_~SIZE~0_465, main_#t~post5=|v_main_#t~post5_673|, main_~c~0=v_main_~c~0_1249, main_~st~0=v_main_~st~0_672, ~last~0=v_~last~0_516} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {70720#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:03:11,174 INFO L290 TraceCheckUtils]: 12: Hoare triple {70734#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {70730#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:03:11,174 INFO L290 TraceCheckUtils]: 11: Hoare triple {70734#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {70734#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:11,174 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {70598#true} {70734#(< 1 ~SIZE~0)} #86#return; {70734#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:11,174 INFO L290 TraceCheckUtils]: 9: Hoare triple {70598#true} assume true; {70598#true} is VALID [2022-04-28 04:03:11,174 INFO L290 TraceCheckUtils]: 8: Hoare triple {70598#true} assume !(0 == ~cond); {70598#true} is VALID [2022-04-28 04:03:11,174 INFO L290 TraceCheckUtils]: 7: Hoare triple {70598#true} ~cond := #in~cond; {70598#true} is VALID [2022-04-28 04:03:11,175 INFO L272 TraceCheckUtils]: 6: Hoare triple {70734#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {70598#true} is VALID [2022-04-28 04:03:11,175 INFO L290 TraceCheckUtils]: 5: Hoare triple {70734#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {70734#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:11,175 INFO L272 TraceCheckUtils]: 4: Hoare triple {70734#(< 1 ~SIZE~0)} call #t~ret7 := main(); {70734#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:11,175 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {70734#(< 1 ~SIZE~0)} {70598#true} #90#return; {70734#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:11,175 INFO L290 TraceCheckUtils]: 2: Hoare triple {70734#(< 1 ~SIZE~0)} assume true; {70734#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:11,176 INFO L290 TraceCheckUtils]: 1: Hoare triple {70598#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {70734#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:11,176 INFO L272 TraceCheckUtils]: 0: Hoare triple {70598#true} call ULTIMATE.init(); {70598#true} is VALID [2022-04-28 04:03:11,176 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:03:11,176 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [462474714] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:03:11,176 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:03:11,176 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:03:12,095 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:03:12,095 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [129830587] [2022-04-28 04:03:12,095 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [129830587] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:03:12,095 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:03:12,096 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-28 04:03:12,096 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2052620164] [2022-04-28 04:03:12,096 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:03:12,096 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 1.8846153846153846) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:03:12,096 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:03:12,096 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 26 states have (on average 1.8846153846153846) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:12,134 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:03:12,134 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-28 04:03:12,134 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:03:12,135 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-28 04:03:12,141 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=196, Invalid=994, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 04:03:12,141 INFO L87 Difference]: Start difference. First operand 202 states and 244 transitions. Second operand has 26 states, 26 states have (on average 1.8846153846153846) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:15,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:03:15,077 INFO L93 Difference]: Finished difference Result 347 states and 419 transitions. [2022-04-28 04:03:15,077 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 04:03:15,077 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 1.8846153846153846) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:03:15,078 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:03:15,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 1.8846153846153846) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:15,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 101 transitions. [2022-04-28 04:03:15,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 1.8846153846153846) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:15,079 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 101 transitions. [2022-04-28 04:03:15,079 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 101 transitions. [2022-04-28 04:03:15,140 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:03:15,143 INFO L225 Difference]: With dead ends: 347 [2022-04-28 04:03:15,143 INFO L226 Difference]: Without dead ends: 242 [2022-04-28 04:03:15,144 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 48 SyntacticMatches, 18 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 613 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=208, Invalid=1124, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 04:03:15,144 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 45 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 1326 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 82 SdHoareTripleChecker+Invalid, 1336 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1326 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 04:03:15,144 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 82 Invalid, 1336 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1326 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 04:03:15,144 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 242 states. [2022-04-28 04:03:15,750 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 242 to 202. [2022-04-28 04:03:15,750 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:03:15,750 INFO L82 GeneralOperation]: Start isEquivalent. First operand 242 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:15,750 INFO L74 IsIncluded]: Start isIncluded. First operand 242 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:15,751 INFO L87 Difference]: Start difference. First operand 242 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:15,753 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:03:15,753 INFO L93 Difference]: Finished difference Result 242 states and 286 transitions. [2022-04-28 04:03:15,753 INFO L276 IsEmpty]: Start isEmpty. Operand 242 states and 286 transitions. [2022-04-28 04:03:15,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:03:15,753 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:03:15,754 INFO L74 IsIncluded]: Start isIncluded. First operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 242 states. [2022-04-28 04:03:15,754 INFO L87 Difference]: Start difference. First operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 242 states. [2022-04-28 04:03:15,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:03:15,756 INFO L93 Difference]: Finished difference Result 242 states and 286 transitions. [2022-04-28 04:03:15,757 INFO L276 IsEmpty]: Start isEmpty. Operand 242 states and 286 transitions. [2022-04-28 04:03:15,757 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:03:15,757 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:03:15,757 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:03:15,757 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:03:15,757 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:15,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 244 transitions. [2022-04-28 04:03:15,759 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 244 transitions. Word has length 55 [2022-04-28 04:03:15,774 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:03:15,775 INFO L495 AbstractCegarLoop]: Abstraction has 202 states and 244 transitions. [2022-04-28 04:03:15,775 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 26 states have (on average 1.8846153846153846) internal successors, (49), 24 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:15,775 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 202 states and 244 transitions. [2022-04-28 04:03:16,624 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 244 edges. 244 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:03:16,624 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 244 transitions. [2022-04-28 04:03:16,624 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 04:03:16,624 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:03:16,624 INFO L195 NwaCegarLoop]: trace histogram [11, 11, 8, 3, 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:03:16,641 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (51)] Ended with exit code 0 [2022-04-28 04:03:16,839 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 51 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable57 [2022-04-28 04:03:16,840 INFO L420 AbstractCegarLoop]: === Iteration 59 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:03:16,840 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:03:16,840 INFO L85 PathProgramCache]: Analyzing trace with hash 408226239, now seen corresponding path program 48 times [2022-04-28 04:03:16,840 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:03:16,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1135175505] [2022-04-28 04:03:19,025 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:03:19,103 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:03:23,184 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:03:23,282 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:03:23,283 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:03:23,286 INFO L85 PathProgramCache]: Analyzing trace with hash 1517398593, now seen corresponding path program 1 times [2022-04-28 04:03:23,286 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:03:23,286 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2059305767] [2022-04-28 04:03:23,286 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:03:23,286 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:03:23,293 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:23,445 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:03:23,447 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:23,455 INFO L290 TraceCheckUtils]: 0: Hoare triple {72394#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {72381#(<= 20 ~SIZE~0)} assume true; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,456 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {72381#(<= 20 ~SIZE~0)} {72376#true} #90#return; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,456 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:03:23,457 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:23,458 INFO L290 TraceCheckUtils]: 0: Hoare triple {72376#true} ~cond := #in~cond; {72376#true} is VALID [2022-04-28 04:03:23,458 INFO L290 TraceCheckUtils]: 1: Hoare triple {72376#true} assume !(0 == ~cond); {72376#true} is VALID [2022-04-28 04:03:23,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {72376#true} assume true; {72376#true} is VALID [2022-04-28 04:03:23,459 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {72376#true} {72381#(<= 20 ~SIZE~0)} #86#return; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,459 INFO L272 TraceCheckUtils]: 0: Hoare triple {72376#true} call ULTIMATE.init(); {72394#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:03:23,460 INFO L290 TraceCheckUtils]: 1: Hoare triple {72394#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,460 INFO L290 TraceCheckUtils]: 2: Hoare triple {72381#(<= 20 ~SIZE~0)} assume true; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,460 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {72381#(<= 20 ~SIZE~0)} {72376#true} #90#return; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,460 INFO L272 TraceCheckUtils]: 4: Hoare triple {72381#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,461 INFO L290 TraceCheckUtils]: 5: Hoare triple {72381#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,461 INFO L272 TraceCheckUtils]: 6: Hoare triple {72381#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {72376#true} is VALID [2022-04-28 04:03:23,461 INFO L290 TraceCheckUtils]: 7: Hoare triple {72376#true} ~cond := #in~cond; {72376#true} is VALID [2022-04-28 04:03:23,461 INFO L290 TraceCheckUtils]: 8: Hoare triple {72376#true} assume !(0 == ~cond); {72376#true} is VALID [2022-04-28 04:03:23,461 INFO L290 TraceCheckUtils]: 9: Hoare triple {72376#true} assume true; {72376#true} is VALID [2022-04-28 04:03:23,461 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {72376#true} {72381#(<= 20 ~SIZE~0)} #86#return; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,462 INFO L290 TraceCheckUtils]: 11: Hoare triple {72381#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {72386#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:03:23,462 INFO L290 TraceCheckUtils]: 12: Hoare triple {72386#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {72387#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:03:23,463 INFO L290 TraceCheckUtils]: 13: Hoare triple {72387#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [306] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_691 v_main_~st~0_690)) (.cse1 (= v_main_~c~0_1278 v_main_~c~0_1277)) (.cse2 (= |v_main_#t~post5_688| |v_main_#t~post5_686|)) (.cse3 (<= v_~last~0_526 v_main_~c~0_1278))) (or (and .cse0 .cse1 (= v_~last~0_526 v_~last~0_526) .cse2 (= v_~SIZE~0_474 v_~SIZE~0_474)) (and .cse0 .cse1 (or (not .cse3) (not (< v_main_~c~0_1278 v_~SIZE~0_474))) .cse2) (and (= v_main_~st~0_690 0) (< v_main_~c~0_1277 (+ v_~SIZE~0_474 1)) (< v_main_~c~0_1278 v_main_~c~0_1277) .cse3))) InVars {~SIZE~0=v_~SIZE~0_474, main_~c~0=v_main_~c~0_1278, main_#t~post5=|v_main_#t~post5_688|, main_~st~0=v_main_~st~0_691, ~last~0=v_~last~0_526} OutVars{~SIZE~0=v_~SIZE~0_474, main_#t~post5=|v_main_#t~post5_686|, main_~c~0=v_main_~c~0_1277, main_~st~0=v_main_~st~0_690, ~last~0=v_~last~0_526} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {72388#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:03:23,463 INFO L290 TraceCheckUtils]: 14: Hoare triple {72388#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [307] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {72388#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:03:23,464 INFO L290 TraceCheckUtils]: 15: Hoare triple {72388#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [308] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_691| |v_main_#t~post5_687|))) (or (and (= v_~last~0_527 v_~last~0_527) .cse0 (= v_main_~c~0_1280 v_main_~c~0_1279) (= v_~SIZE~0_475 v_~SIZE~0_475)) (and .cse0 (= v_main_~c~0_1279 v_main_~c~0_1280) (or (not (< v_main_~c~0_1280 v_~SIZE~0_475)) (not (< v_main_~c~0_1280 v_~last~0_527)))) (and (< v_main_~c~0_1279 (+ v_~last~0_527 1)) (< v_main_~c~0_1280 v_main_~c~0_1279) (< v_main_~c~0_1279 (+ v_~SIZE~0_475 1))))) InVars {~SIZE~0=v_~SIZE~0_475, main_~c~0=v_main_~c~0_1280, main_#t~post5=|v_main_#t~post5_691|, ~last~0=v_~last~0_527} OutVars{~SIZE~0=v_~SIZE~0_475, main_#t~post5=|v_main_#t~post5_687|, main_~c~0=v_main_~c~0_1279, ~last~0=v_~last~0_527} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {72388#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:03:23,464 INFO L290 TraceCheckUtils]: 16: Hoare triple {72388#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [305] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {72389#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:03:23,465 INFO L290 TraceCheckUtils]: 17: Hoare triple {72389#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {72390#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:23,465 INFO L290 TraceCheckUtils]: 18: Hoare triple {72390#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {72390#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:23,465 INFO L290 TraceCheckUtils]: 19: Hoare triple {72390#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {72391#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:23,466 INFO L290 TraceCheckUtils]: 20: Hoare triple {72391#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {72391#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:23,466 INFO L272 TraceCheckUtils]: 21: Hoare triple {72391#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {72392#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:03:23,467 INFO L290 TraceCheckUtils]: 22: Hoare triple {72392#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {72393#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:03:23,467 INFO L290 TraceCheckUtils]: 23: Hoare triple {72393#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {72377#false} is VALID [2022-04-28 04:03:23,467 INFO L290 TraceCheckUtils]: 24: Hoare triple {72377#false} assume !false; {72377#false} is VALID [2022-04-28 04:03:23,468 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:03:23,468 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:03:23,468 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2059305767] [2022-04-28 04:03:23,468 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2059305767] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:03:23,468 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [729555077] [2022-04-28 04:03:23,468 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:03:23,468 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:03:23,468 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:03:23,469 INFO L229 MonitoredProcess]: Starting monitored process 52 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:03:23,470 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (52)] Waiting until timeout for monitored process [2022-04-28 04:03:23,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:23,500 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:03:23,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:23,506 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:03:23,733 INFO L272 TraceCheckUtils]: 0: Hoare triple {72376#true} call ULTIMATE.init(); {72376#true} is VALID [2022-04-28 04:03:23,733 INFO L290 TraceCheckUtils]: 1: Hoare triple {72376#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,734 INFO L290 TraceCheckUtils]: 2: Hoare triple {72381#(<= 20 ~SIZE~0)} assume true; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,734 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {72381#(<= 20 ~SIZE~0)} {72376#true} #90#return; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,734 INFO L272 TraceCheckUtils]: 4: Hoare triple {72381#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,734 INFO L290 TraceCheckUtils]: 5: Hoare triple {72381#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,735 INFO L272 TraceCheckUtils]: 6: Hoare triple {72381#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,735 INFO L290 TraceCheckUtils]: 7: Hoare triple {72381#(<= 20 ~SIZE~0)} ~cond := #in~cond; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,735 INFO L290 TraceCheckUtils]: 8: Hoare triple {72381#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,735 INFO L290 TraceCheckUtils]: 9: Hoare triple {72381#(<= 20 ~SIZE~0)} assume true; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,736 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {72381#(<= 20 ~SIZE~0)} {72381#(<= 20 ~SIZE~0)} #86#return; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,736 INFO L290 TraceCheckUtils]: 11: Hoare triple {72381#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:23,736 INFO L290 TraceCheckUtils]: 12: Hoare triple {72381#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {72434#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:03:23,737 INFO L290 TraceCheckUtils]: 13: Hoare triple {72434#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [306] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_691 v_main_~st~0_690)) (.cse1 (= v_main_~c~0_1278 v_main_~c~0_1277)) (.cse2 (= |v_main_#t~post5_688| |v_main_#t~post5_686|)) (.cse3 (<= v_~last~0_526 v_main_~c~0_1278))) (or (and .cse0 .cse1 (= v_~last~0_526 v_~last~0_526) .cse2 (= v_~SIZE~0_474 v_~SIZE~0_474)) (and .cse0 .cse1 (or (not .cse3) (not (< v_main_~c~0_1278 v_~SIZE~0_474))) .cse2) (and (= v_main_~st~0_690 0) (< v_main_~c~0_1277 (+ v_~SIZE~0_474 1)) (< v_main_~c~0_1278 v_main_~c~0_1277) .cse3))) InVars {~SIZE~0=v_~SIZE~0_474, main_~c~0=v_main_~c~0_1278, main_#t~post5=|v_main_#t~post5_688|, main_~st~0=v_main_~st~0_691, ~last~0=v_~last~0_526} OutVars{~SIZE~0=v_~SIZE~0_474, main_#t~post5=|v_main_#t~post5_686|, main_~c~0=v_main_~c~0_1277, main_~st~0=v_main_~st~0_690, ~last~0=v_~last~0_526} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {72438#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:03:23,737 INFO L290 TraceCheckUtils]: 14: Hoare triple {72438#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [307] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {72438#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:03:23,738 INFO L290 TraceCheckUtils]: 15: Hoare triple {72438#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [308] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_691| |v_main_#t~post5_687|))) (or (and (= v_~last~0_527 v_~last~0_527) .cse0 (= v_main_~c~0_1280 v_main_~c~0_1279) (= v_~SIZE~0_475 v_~SIZE~0_475)) (and .cse0 (= v_main_~c~0_1279 v_main_~c~0_1280) (or (not (< v_main_~c~0_1280 v_~SIZE~0_475)) (not (< v_main_~c~0_1280 v_~last~0_527)))) (and (< v_main_~c~0_1279 (+ v_~last~0_527 1)) (< v_main_~c~0_1280 v_main_~c~0_1279) (< v_main_~c~0_1279 (+ v_~SIZE~0_475 1))))) InVars {~SIZE~0=v_~SIZE~0_475, main_~c~0=v_main_~c~0_1280, main_#t~post5=|v_main_#t~post5_691|, ~last~0=v_~last~0_527} OutVars{~SIZE~0=v_~SIZE~0_475, main_#t~post5=|v_main_#t~post5_687|, main_~c~0=v_main_~c~0_1279, ~last~0=v_~last~0_527} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {72438#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:03:23,738 INFO L290 TraceCheckUtils]: 16: Hoare triple {72438#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [305] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {72448#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:03:23,739 INFO L290 TraceCheckUtils]: 17: Hoare triple {72448#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {72377#false} is VALID [2022-04-28 04:03:23,739 INFO L290 TraceCheckUtils]: 18: Hoare triple {72377#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {72377#false} is VALID [2022-04-28 04:03:23,739 INFO L290 TraceCheckUtils]: 19: Hoare triple {72377#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {72377#false} is VALID [2022-04-28 04:03:23,739 INFO L290 TraceCheckUtils]: 20: Hoare triple {72377#false} assume !(~d~0 == ~SIZE~0); {72377#false} is VALID [2022-04-28 04:03:23,739 INFO L272 TraceCheckUtils]: 21: Hoare triple {72377#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {72377#false} is VALID [2022-04-28 04:03:23,739 INFO L290 TraceCheckUtils]: 22: Hoare triple {72377#false} ~cond := #in~cond; {72377#false} is VALID [2022-04-28 04:03:23,739 INFO L290 TraceCheckUtils]: 23: Hoare triple {72377#false} assume 0 == ~cond; {72377#false} is VALID [2022-04-28 04:03:23,739 INFO L290 TraceCheckUtils]: 24: Hoare triple {72377#false} assume !false; {72377#false} is VALID [2022-04-28 04:03:23,739 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:03:23,739 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:03:24,094 INFO L290 TraceCheckUtils]: 24: Hoare triple {72377#false} assume !false; {72377#false} is VALID [2022-04-28 04:03:24,094 INFO L290 TraceCheckUtils]: 23: Hoare triple {72377#false} assume 0 == ~cond; {72377#false} is VALID [2022-04-28 04:03:24,094 INFO L290 TraceCheckUtils]: 22: Hoare triple {72377#false} ~cond := #in~cond; {72377#false} is VALID [2022-04-28 04:03:24,094 INFO L272 TraceCheckUtils]: 21: Hoare triple {72377#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {72377#false} is VALID [2022-04-28 04:03:24,094 INFO L290 TraceCheckUtils]: 20: Hoare triple {72377#false} assume !(~d~0 == ~SIZE~0); {72377#false} is VALID [2022-04-28 04:03:24,094 INFO L290 TraceCheckUtils]: 19: Hoare triple {72377#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {72377#false} is VALID [2022-04-28 04:03:24,094 INFO L290 TraceCheckUtils]: 18: Hoare triple {72377#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {72377#false} is VALID [2022-04-28 04:03:24,095 INFO L290 TraceCheckUtils]: 17: Hoare triple {72494#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {72377#false} is VALID [2022-04-28 04:03:24,095 INFO L290 TraceCheckUtils]: 16: Hoare triple {72498#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [305] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {72494#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:03:24,096 INFO L290 TraceCheckUtils]: 15: Hoare triple {72498#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [308] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_691| |v_main_#t~post5_687|))) (or (and (= v_~last~0_527 v_~last~0_527) .cse0 (= v_main_~c~0_1280 v_main_~c~0_1279) (= v_~SIZE~0_475 v_~SIZE~0_475)) (and .cse0 (= v_main_~c~0_1279 v_main_~c~0_1280) (or (not (< v_main_~c~0_1280 v_~SIZE~0_475)) (not (< v_main_~c~0_1280 v_~last~0_527)))) (and (< v_main_~c~0_1279 (+ v_~last~0_527 1)) (< v_main_~c~0_1280 v_main_~c~0_1279) (< v_main_~c~0_1279 (+ v_~SIZE~0_475 1))))) InVars {~SIZE~0=v_~SIZE~0_475, main_~c~0=v_main_~c~0_1280, main_#t~post5=|v_main_#t~post5_691|, ~last~0=v_~last~0_527} OutVars{~SIZE~0=v_~SIZE~0_475, main_#t~post5=|v_main_#t~post5_687|, main_~c~0=v_main_~c~0_1279, ~last~0=v_~last~0_527} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {72498#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:03:24,096 INFO L290 TraceCheckUtils]: 14: Hoare triple {72498#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [307] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {72498#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:03:24,097 INFO L290 TraceCheckUtils]: 13: Hoare triple {72508#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [306] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_691 v_main_~st~0_690)) (.cse1 (= v_main_~c~0_1278 v_main_~c~0_1277)) (.cse2 (= |v_main_#t~post5_688| |v_main_#t~post5_686|)) (.cse3 (<= v_~last~0_526 v_main_~c~0_1278))) (or (and .cse0 .cse1 (= v_~last~0_526 v_~last~0_526) .cse2 (= v_~SIZE~0_474 v_~SIZE~0_474)) (and .cse0 .cse1 (or (not .cse3) (not (< v_main_~c~0_1278 v_~SIZE~0_474))) .cse2) (and (= v_main_~st~0_690 0) (< v_main_~c~0_1277 (+ v_~SIZE~0_474 1)) (< v_main_~c~0_1278 v_main_~c~0_1277) .cse3))) InVars {~SIZE~0=v_~SIZE~0_474, main_~c~0=v_main_~c~0_1278, main_#t~post5=|v_main_#t~post5_688|, main_~st~0=v_main_~st~0_691, ~last~0=v_~last~0_526} OutVars{~SIZE~0=v_~SIZE~0_474, main_#t~post5=|v_main_#t~post5_686|, main_~c~0=v_main_~c~0_1277, main_~st~0=v_main_~st~0_690, ~last~0=v_~last~0_526} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {72498#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:03:24,097 INFO L290 TraceCheckUtils]: 12: Hoare triple {72512#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {72508#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:03:24,097 INFO L290 TraceCheckUtils]: 11: Hoare triple {72512#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {72512#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:24,098 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {72376#true} {72512#(< 1 ~SIZE~0)} #86#return; {72512#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:24,098 INFO L290 TraceCheckUtils]: 9: Hoare triple {72376#true} assume true; {72376#true} is VALID [2022-04-28 04:03:24,098 INFO L290 TraceCheckUtils]: 8: Hoare triple {72376#true} assume !(0 == ~cond); {72376#true} is VALID [2022-04-28 04:03:24,098 INFO L290 TraceCheckUtils]: 7: Hoare triple {72376#true} ~cond := #in~cond; {72376#true} is VALID [2022-04-28 04:03:24,098 INFO L272 TraceCheckUtils]: 6: Hoare triple {72512#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {72376#true} is VALID [2022-04-28 04:03:24,098 INFO L290 TraceCheckUtils]: 5: Hoare triple {72512#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {72512#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:24,099 INFO L272 TraceCheckUtils]: 4: Hoare triple {72512#(< 1 ~SIZE~0)} call #t~ret7 := main(); {72512#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:24,099 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {72512#(< 1 ~SIZE~0)} {72376#true} #90#return; {72512#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:24,099 INFO L290 TraceCheckUtils]: 2: Hoare triple {72512#(< 1 ~SIZE~0)} assume true; {72512#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:24,100 INFO L290 TraceCheckUtils]: 1: Hoare triple {72376#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {72512#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:24,100 INFO L272 TraceCheckUtils]: 0: Hoare triple {72376#true} call ULTIMATE.init(); {72376#true} is VALID [2022-04-28 04:03:24,100 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:03:24,100 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [729555077] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:03:24,100 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:03:24,100 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:03:25,127 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:03:25,127 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1135175505] [2022-04-28 04:03:25,127 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1135175505] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:03:25,127 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:03:25,128 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-28 04:03:25,128 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2130935238] [2022-04-28 04:03:25,128 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:03:25,128 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 1.8148148148148149) internal successors, (49), 25 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:03:25,128 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:03:25,128 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 27 states, 27 states have (on average 1.8148148148148149) internal successors, (49), 25 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:25,168 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:03:25,169 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-28 04:03:25,169 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:03:25,169 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-28 04:03:25,169 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=210, Invalid=1050, Unknown=0, NotChecked=0, Total=1260 [2022-04-28 04:03:25,169 INFO L87 Difference]: Start difference. First operand 202 states and 244 transitions. Second operand has 27 states, 27 states have (on average 1.8148148148148149) internal successors, (49), 25 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:27,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:03:27,143 INFO L93 Difference]: Finished difference Result 344 states and 416 transitions. [2022-04-28 04:03:27,143 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-28 04:03:27,143 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 1.8148148148148149) internal successors, (49), 25 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:03:27,143 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:03:27,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 1.8148148148148149) internal successors, (49), 25 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:27,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 102 transitions. [2022-04-28 04:03:27,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 1.8148148148148149) internal successors, (49), 25 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:27,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 102 transitions. [2022-04-28 04:03:27,145 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 102 transitions. [2022-04-28 04:03:27,190 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:03:27,192 INFO L225 Difference]: With dead ends: 344 [2022-04-28 04:03:27,192 INFO L226 Difference]: Without dead ends: 239 [2022-04-28 04:03:27,193 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 48 SyntacticMatches, 17 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 657 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=222, Invalid=1184, Unknown=0, NotChecked=0, Total=1406 [2022-04-28 04:03:27,193 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 50 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 1180 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 1190 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1180 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 04:03:27,193 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [51 Valid, 60 Invalid, 1190 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1180 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 04:03:27,193 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 239 states. [2022-04-28 04:03:27,678 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 239 to 202. [2022-04-28 04:03:27,678 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:03:27,679 INFO L82 GeneralOperation]: Start isEquivalent. First operand 239 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:27,679 INFO L74 IsIncluded]: Start isIncluded. First operand 239 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:27,679 INFO L87 Difference]: Start difference. First operand 239 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:27,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:03:27,681 INFO L93 Difference]: Finished difference Result 239 states and 283 transitions. [2022-04-28 04:03:27,681 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 283 transitions. [2022-04-28 04:03:27,682 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:03:27,682 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:03:27,682 INFO L74 IsIncluded]: Start isIncluded. First operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 239 states. [2022-04-28 04:03:27,682 INFO L87 Difference]: Start difference. First operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 239 states. [2022-04-28 04:03:27,684 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:03:27,684 INFO L93 Difference]: Finished difference Result 239 states and 283 transitions. [2022-04-28 04:03:27,684 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 283 transitions. [2022-04-28 04:03:27,685 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:03:27,685 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:03:27,685 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:03:27,685 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:03:27,685 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:27,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 244 transitions. [2022-04-28 04:03:27,687 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 244 transitions. Word has length 55 [2022-04-28 04:03:27,687 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:03:27,687 INFO L495 AbstractCegarLoop]: Abstraction has 202 states and 244 transitions. [2022-04-28 04:03:27,687 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 27 states have (on average 1.8148148148148149) internal successors, (49), 25 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:27,687 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 202 states and 244 transitions. [2022-04-28 04:03:28,490 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 244 edges. 244 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:03:28,490 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 244 transitions. [2022-04-28 04:03:28,490 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 04:03:28,490 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:03:28,490 INFO L195 NwaCegarLoop]: trace histogram [11, 11, 7, 4, 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:03:28,506 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (52)] Forceful destruction successful, exit code 0 [2022-04-28 04:03:28,703 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 52 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable58 [2022-04-28 04:03:28,703 INFO L420 AbstractCegarLoop]: === Iteration 60 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:03:28,703 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:03:28,704 INFO L85 PathProgramCache]: Analyzing trace with hash 682985853, now seen corresponding path program 49 times [2022-04-28 04:03:28,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:03:28,704 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1553950671] [2022-04-28 04:03:28,837 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:03:28,975 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:03:28,975 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:03:28,977 INFO L85 PathProgramCache]: Analyzing trace with hash -285045951, now seen corresponding path program 1 times [2022-04-28 04:03:28,977 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:03:28,977 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1325192661] [2022-04-28 04:03:28,977 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:03:28,977 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:03:28,982 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:29,114 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:03:29,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:29,119 INFO L290 TraceCheckUtils]: 0: Hoare triple {74161#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,119 INFO L290 TraceCheckUtils]: 1: Hoare triple {74148#(<= 20 ~SIZE~0)} assume true; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,120 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {74148#(<= 20 ~SIZE~0)} {74143#true} #90#return; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,120 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:03:29,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:29,122 INFO L290 TraceCheckUtils]: 0: Hoare triple {74143#true} ~cond := #in~cond; {74143#true} is VALID [2022-04-28 04:03:29,122 INFO L290 TraceCheckUtils]: 1: Hoare triple {74143#true} assume !(0 == ~cond); {74143#true} is VALID [2022-04-28 04:03:29,122 INFO L290 TraceCheckUtils]: 2: Hoare triple {74143#true} assume true; {74143#true} is VALID [2022-04-28 04:03:29,122 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {74143#true} {74148#(<= 20 ~SIZE~0)} #86#return; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,123 INFO L272 TraceCheckUtils]: 0: Hoare triple {74143#true} call ULTIMATE.init(); {74161#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:03:29,124 INFO L290 TraceCheckUtils]: 1: Hoare triple {74161#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,124 INFO L290 TraceCheckUtils]: 2: Hoare triple {74148#(<= 20 ~SIZE~0)} assume true; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,124 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {74148#(<= 20 ~SIZE~0)} {74143#true} #90#return; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,125 INFO L272 TraceCheckUtils]: 4: Hoare triple {74148#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,125 INFO L290 TraceCheckUtils]: 5: Hoare triple {74148#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,125 INFO L272 TraceCheckUtils]: 6: Hoare triple {74148#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {74143#true} is VALID [2022-04-28 04:03:29,125 INFO L290 TraceCheckUtils]: 7: Hoare triple {74143#true} ~cond := #in~cond; {74143#true} is VALID [2022-04-28 04:03:29,125 INFO L290 TraceCheckUtils]: 8: Hoare triple {74143#true} assume !(0 == ~cond); {74143#true} is VALID [2022-04-28 04:03:29,125 INFO L290 TraceCheckUtils]: 9: Hoare triple {74143#true} assume true; {74143#true} is VALID [2022-04-28 04:03:29,126 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {74143#true} {74148#(<= 20 ~SIZE~0)} #86#return; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,126 INFO L290 TraceCheckUtils]: 11: Hoare triple {74148#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {74153#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:03:29,127 INFO L290 TraceCheckUtils]: 12: Hoare triple {74153#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {74154#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:03:29,127 INFO L290 TraceCheckUtils]: 13: Hoare triple {74154#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [310] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_536 v_main_~c~0_1306)) (.cse1 (= v_main_~c~0_1306 v_main_~c~0_1305)) (.cse2 (= v_main_~st~0_708 v_main_~st~0_707)) (.cse3 (= |v_main_#t~post5_701| |v_main_#t~post5_699|))) (or (and (< v_main_~c~0_1305 (+ v_~SIZE~0_483 1)) (= v_main_~st~0_707 0) .cse0 (< v_main_~c~0_1306 v_main_~c~0_1305)) (and .cse1 (or (not .cse0) (not (< v_main_~c~0_1306 v_~SIZE~0_483))) .cse2 .cse3) (and .cse1 (= v_~last~0_536 v_~last~0_536) .cse2 (= v_~SIZE~0_483 v_~SIZE~0_483) .cse3))) InVars {~SIZE~0=v_~SIZE~0_483, main_~c~0=v_main_~c~0_1306, main_#t~post5=|v_main_#t~post5_701|, main_~st~0=v_main_~st~0_708, ~last~0=v_~last~0_536} OutVars{~SIZE~0=v_~SIZE~0_483, main_#t~post5=|v_main_#t~post5_699|, main_~c~0=v_main_~c~0_1305, main_~st~0=v_main_~st~0_707, ~last~0=v_~last~0_536} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {74155#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:03:29,128 INFO L290 TraceCheckUtils]: 14: Hoare triple {74155#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [311] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {74155#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:03:29,129 INFO L290 TraceCheckUtils]: 15: Hoare triple {74155#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [312] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1308 v_main_~c~0_1307)) (.cse1 (= |v_main_#t~post5_704| |v_main_#t~post5_700|))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_1308 v_~last~0_537)) (not (< v_main_~c~0_1308 v_~SIZE~0_484)))) (and (< v_main_~c~0_1307 (+ v_~SIZE~0_484 1)) (< v_main_~c~0_1307 (+ v_~last~0_537 1)) (< v_main_~c~0_1308 v_main_~c~0_1307)) (and (= v_~SIZE~0_484 v_~SIZE~0_484) .cse0 .cse1 (= v_~last~0_537 v_~last~0_537)))) InVars {~SIZE~0=v_~SIZE~0_484, main_~c~0=v_main_~c~0_1308, main_#t~post5=|v_main_#t~post5_704|, ~last~0=v_~last~0_537} OutVars{~SIZE~0=v_~SIZE~0_484, main_#t~post5=|v_main_#t~post5_700|, main_~c~0=v_main_~c~0_1307, ~last~0=v_~last~0_537} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {74155#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:03:29,129 INFO L290 TraceCheckUtils]: 16: Hoare triple {74155#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [309] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {74156#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:03:29,130 INFO L290 TraceCheckUtils]: 17: Hoare triple {74156#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {74157#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:29,130 INFO L290 TraceCheckUtils]: 18: Hoare triple {74157#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {74157#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:29,131 INFO L290 TraceCheckUtils]: 19: Hoare triple {74157#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {74158#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:29,131 INFO L290 TraceCheckUtils]: 20: Hoare triple {74158#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {74158#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:29,132 INFO L272 TraceCheckUtils]: 21: Hoare triple {74158#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {74159#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:03:29,133 INFO L290 TraceCheckUtils]: 22: Hoare triple {74159#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {74160#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:03:29,133 INFO L290 TraceCheckUtils]: 23: Hoare triple {74160#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {74144#false} is VALID [2022-04-28 04:03:29,133 INFO L290 TraceCheckUtils]: 24: Hoare triple {74144#false} assume !false; {74144#false} is VALID [2022-04-28 04:03:29,133 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:03:29,133 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:03:29,133 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1325192661] [2022-04-28 04:03:29,133 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1325192661] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:03:29,133 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [376014928] [2022-04-28 04:03:29,134 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:03:29,134 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:03:29,134 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:03:29,135 INFO L229 MonitoredProcess]: Starting monitored process 53 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:03:29,136 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (53)] Waiting until timeout for monitored process [2022-04-28 04:03:29,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:29,166 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:03:29,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:29,172 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:03:29,396 INFO L272 TraceCheckUtils]: 0: Hoare triple {74143#true} call ULTIMATE.init(); {74143#true} is VALID [2022-04-28 04:03:29,397 INFO L290 TraceCheckUtils]: 1: Hoare triple {74143#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,397 INFO L290 TraceCheckUtils]: 2: Hoare triple {74148#(<= 20 ~SIZE~0)} assume true; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,397 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {74148#(<= 20 ~SIZE~0)} {74143#true} #90#return; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,398 INFO L272 TraceCheckUtils]: 4: Hoare triple {74148#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,398 INFO L290 TraceCheckUtils]: 5: Hoare triple {74148#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,398 INFO L272 TraceCheckUtils]: 6: Hoare triple {74148#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,398 INFO L290 TraceCheckUtils]: 7: Hoare triple {74148#(<= 20 ~SIZE~0)} ~cond := #in~cond; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,399 INFO L290 TraceCheckUtils]: 8: Hoare triple {74148#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,399 INFO L290 TraceCheckUtils]: 9: Hoare triple {74148#(<= 20 ~SIZE~0)} assume true; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,399 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {74148#(<= 20 ~SIZE~0)} {74148#(<= 20 ~SIZE~0)} #86#return; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,399 INFO L290 TraceCheckUtils]: 11: Hoare triple {74148#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:29,400 INFO L290 TraceCheckUtils]: 12: Hoare triple {74148#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {74201#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:03:29,400 INFO L290 TraceCheckUtils]: 13: Hoare triple {74201#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [310] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_536 v_main_~c~0_1306)) (.cse1 (= v_main_~c~0_1306 v_main_~c~0_1305)) (.cse2 (= v_main_~st~0_708 v_main_~st~0_707)) (.cse3 (= |v_main_#t~post5_701| |v_main_#t~post5_699|))) (or (and (< v_main_~c~0_1305 (+ v_~SIZE~0_483 1)) (= v_main_~st~0_707 0) .cse0 (< v_main_~c~0_1306 v_main_~c~0_1305)) (and .cse1 (or (not .cse0) (not (< v_main_~c~0_1306 v_~SIZE~0_483))) .cse2 .cse3) (and .cse1 (= v_~last~0_536 v_~last~0_536) .cse2 (= v_~SIZE~0_483 v_~SIZE~0_483) .cse3))) InVars {~SIZE~0=v_~SIZE~0_483, main_~c~0=v_main_~c~0_1306, main_#t~post5=|v_main_#t~post5_701|, main_~st~0=v_main_~st~0_708, ~last~0=v_~last~0_536} OutVars{~SIZE~0=v_~SIZE~0_483, main_#t~post5=|v_main_#t~post5_699|, main_~c~0=v_main_~c~0_1305, main_~st~0=v_main_~st~0_707, ~last~0=v_~last~0_536} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {74205#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:03:29,401 INFO L290 TraceCheckUtils]: 14: Hoare triple {74205#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [311] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {74205#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:03:29,401 INFO L290 TraceCheckUtils]: 15: Hoare triple {74205#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [312] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1308 v_main_~c~0_1307)) (.cse1 (= |v_main_#t~post5_704| |v_main_#t~post5_700|))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_1308 v_~last~0_537)) (not (< v_main_~c~0_1308 v_~SIZE~0_484)))) (and (< v_main_~c~0_1307 (+ v_~SIZE~0_484 1)) (< v_main_~c~0_1307 (+ v_~last~0_537 1)) (< v_main_~c~0_1308 v_main_~c~0_1307)) (and (= v_~SIZE~0_484 v_~SIZE~0_484) .cse0 .cse1 (= v_~last~0_537 v_~last~0_537)))) InVars {~SIZE~0=v_~SIZE~0_484, main_~c~0=v_main_~c~0_1308, main_#t~post5=|v_main_#t~post5_704|, ~last~0=v_~last~0_537} OutVars{~SIZE~0=v_~SIZE~0_484, main_#t~post5=|v_main_#t~post5_700|, main_~c~0=v_main_~c~0_1307, ~last~0=v_~last~0_537} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {74205#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:03:29,402 INFO L290 TraceCheckUtils]: 16: Hoare triple {74205#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [309] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {74215#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:03:29,402 INFO L290 TraceCheckUtils]: 17: Hoare triple {74215#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {74144#false} is VALID [2022-04-28 04:03:29,402 INFO L290 TraceCheckUtils]: 18: Hoare triple {74144#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {74144#false} is VALID [2022-04-28 04:03:29,402 INFO L290 TraceCheckUtils]: 19: Hoare triple {74144#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {74144#false} is VALID [2022-04-28 04:03:29,402 INFO L290 TraceCheckUtils]: 20: Hoare triple {74144#false} assume !(~d~0 == ~SIZE~0); {74144#false} is VALID [2022-04-28 04:03:29,402 INFO L272 TraceCheckUtils]: 21: Hoare triple {74144#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {74144#false} is VALID [2022-04-28 04:03:29,402 INFO L290 TraceCheckUtils]: 22: Hoare triple {74144#false} ~cond := #in~cond; {74144#false} is VALID [2022-04-28 04:03:29,402 INFO L290 TraceCheckUtils]: 23: Hoare triple {74144#false} assume 0 == ~cond; {74144#false} is VALID [2022-04-28 04:03:29,403 INFO L290 TraceCheckUtils]: 24: Hoare triple {74144#false} assume !false; {74144#false} is VALID [2022-04-28 04:03:29,403 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:03:29,403 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:03:29,650 INFO L290 TraceCheckUtils]: 24: Hoare triple {74144#false} assume !false; {74144#false} is VALID [2022-04-28 04:03:29,650 INFO L290 TraceCheckUtils]: 23: Hoare triple {74144#false} assume 0 == ~cond; {74144#false} is VALID [2022-04-28 04:03:29,650 INFO L290 TraceCheckUtils]: 22: Hoare triple {74144#false} ~cond := #in~cond; {74144#false} is VALID [2022-04-28 04:03:29,650 INFO L272 TraceCheckUtils]: 21: Hoare triple {74144#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {74144#false} is VALID [2022-04-28 04:03:29,650 INFO L290 TraceCheckUtils]: 20: Hoare triple {74144#false} assume !(~d~0 == ~SIZE~0); {74144#false} is VALID [2022-04-28 04:03:29,650 INFO L290 TraceCheckUtils]: 19: Hoare triple {74144#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {74144#false} is VALID [2022-04-28 04:03:29,650 INFO L290 TraceCheckUtils]: 18: Hoare triple {74144#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {74144#false} is VALID [2022-04-28 04:03:29,650 INFO L290 TraceCheckUtils]: 17: Hoare triple {74261#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {74144#false} is VALID [2022-04-28 04:03:29,651 INFO L290 TraceCheckUtils]: 16: Hoare triple {74265#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [309] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {74261#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:03:29,651 INFO L290 TraceCheckUtils]: 15: Hoare triple {74265#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [312] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1308 v_main_~c~0_1307)) (.cse1 (= |v_main_#t~post5_704| |v_main_#t~post5_700|))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_1308 v_~last~0_537)) (not (< v_main_~c~0_1308 v_~SIZE~0_484)))) (and (< v_main_~c~0_1307 (+ v_~SIZE~0_484 1)) (< v_main_~c~0_1307 (+ v_~last~0_537 1)) (< v_main_~c~0_1308 v_main_~c~0_1307)) (and (= v_~SIZE~0_484 v_~SIZE~0_484) .cse0 .cse1 (= v_~last~0_537 v_~last~0_537)))) InVars {~SIZE~0=v_~SIZE~0_484, main_~c~0=v_main_~c~0_1308, main_#t~post5=|v_main_#t~post5_704|, ~last~0=v_~last~0_537} OutVars{~SIZE~0=v_~SIZE~0_484, main_#t~post5=|v_main_#t~post5_700|, main_~c~0=v_main_~c~0_1307, ~last~0=v_~last~0_537} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {74265#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:03:29,651 INFO L290 TraceCheckUtils]: 14: Hoare triple {74265#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [311] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {74265#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:03:29,652 INFO L290 TraceCheckUtils]: 13: Hoare triple {74275#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [310] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_536 v_main_~c~0_1306)) (.cse1 (= v_main_~c~0_1306 v_main_~c~0_1305)) (.cse2 (= v_main_~st~0_708 v_main_~st~0_707)) (.cse3 (= |v_main_#t~post5_701| |v_main_#t~post5_699|))) (or (and (< v_main_~c~0_1305 (+ v_~SIZE~0_483 1)) (= v_main_~st~0_707 0) .cse0 (< v_main_~c~0_1306 v_main_~c~0_1305)) (and .cse1 (or (not .cse0) (not (< v_main_~c~0_1306 v_~SIZE~0_483))) .cse2 .cse3) (and .cse1 (= v_~last~0_536 v_~last~0_536) .cse2 (= v_~SIZE~0_483 v_~SIZE~0_483) .cse3))) InVars {~SIZE~0=v_~SIZE~0_483, main_~c~0=v_main_~c~0_1306, main_#t~post5=|v_main_#t~post5_701|, main_~st~0=v_main_~st~0_708, ~last~0=v_~last~0_536} OutVars{~SIZE~0=v_~SIZE~0_483, main_#t~post5=|v_main_#t~post5_699|, main_~c~0=v_main_~c~0_1305, main_~st~0=v_main_~st~0_707, ~last~0=v_~last~0_536} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {74265#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:03:29,652 INFO L290 TraceCheckUtils]: 12: Hoare triple {74279#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {74275#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:03:29,652 INFO L290 TraceCheckUtils]: 11: Hoare triple {74279#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {74279#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:29,653 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {74143#true} {74279#(< 1 ~SIZE~0)} #86#return; {74279#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:29,653 INFO L290 TraceCheckUtils]: 9: Hoare triple {74143#true} assume true; {74143#true} is VALID [2022-04-28 04:03:29,653 INFO L290 TraceCheckUtils]: 8: Hoare triple {74143#true} assume !(0 == ~cond); {74143#true} is VALID [2022-04-28 04:03:29,653 INFO L290 TraceCheckUtils]: 7: Hoare triple {74143#true} ~cond := #in~cond; {74143#true} is VALID [2022-04-28 04:03:29,653 INFO L272 TraceCheckUtils]: 6: Hoare triple {74279#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {74143#true} is VALID [2022-04-28 04:03:29,653 INFO L290 TraceCheckUtils]: 5: Hoare triple {74279#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {74279#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:29,653 INFO L272 TraceCheckUtils]: 4: Hoare triple {74279#(< 1 ~SIZE~0)} call #t~ret7 := main(); {74279#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:29,654 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {74279#(< 1 ~SIZE~0)} {74143#true} #90#return; {74279#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:29,654 INFO L290 TraceCheckUtils]: 2: Hoare triple {74279#(< 1 ~SIZE~0)} assume true; {74279#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:29,654 INFO L290 TraceCheckUtils]: 1: Hoare triple {74143#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {74279#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:29,654 INFO L272 TraceCheckUtils]: 0: Hoare triple {74143#true} call ULTIMATE.init(); {74143#true} is VALID [2022-04-28 04:03:29,654 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:03:29,655 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [376014928] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:03:29,655 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:03:29,655 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:03:30,545 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:03:30,545 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1553950671] [2022-04-28 04:03:30,545 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1553950671] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:03:30,545 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:03:30,546 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [28] imperfect sequences [] total 28 [2022-04-28 04:03:30,546 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [111896380] [2022-04-28 04:03:30,546 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:03:30,546 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 1.75) internal successors, (49), 26 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:03:30,546 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:03:30,546 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 28 states, 28 states have (on average 1.75) internal successors, (49), 26 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:30,586 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:03:30,587 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-28 04:03:30,587 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:03:30,587 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-28 04:03:30,587 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=224, Invalid=1108, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 04:03:30,587 INFO L87 Difference]: Start difference. First operand 202 states and 244 transitions. Second operand has 28 states, 28 states have (on average 1.75) internal successors, (49), 26 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:32,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:03:32,936 INFO L93 Difference]: Finished difference Result 341 states and 413 transitions. [2022-04-28 04:03:32,937 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 04:03:32,937 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 1.75) internal successors, (49), 26 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:03:32,937 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:03:32,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 1.75) internal successors, (49), 26 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:32,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 103 transitions. [2022-04-28 04:03:32,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 1.75) internal successors, (49), 26 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:32,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 103 transitions. [2022-04-28 04:03:32,938 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 103 transitions. [2022-04-28 04:03:32,999 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:03:33,001 INFO L225 Difference]: With dead ends: 341 [2022-04-28 04:03:33,001 INFO L226 Difference]: Without dead ends: 236 [2022-04-28 04:03:33,002 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 48 SyntacticMatches, 16 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 692 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=236, Invalid=1246, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 04:03:33,002 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 47 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 1191 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 70 SdHoareTripleChecker+Invalid, 1201 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1191 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 04:03:33,002 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 70 Invalid, 1201 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1191 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 04:03:33,003 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 236 states. [2022-04-28 04:03:33,584 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 236 to 202. [2022-04-28 04:03:33,584 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:03:33,585 INFO L82 GeneralOperation]: Start isEquivalent. First operand 236 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:33,585 INFO L74 IsIncluded]: Start isIncluded. First operand 236 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:33,585 INFO L87 Difference]: Start difference. First operand 236 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:33,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:03:33,587 INFO L93 Difference]: Finished difference Result 236 states and 280 transitions. [2022-04-28 04:03:33,587 INFO L276 IsEmpty]: Start isEmpty. Operand 236 states and 280 transitions. [2022-04-28 04:03:33,588 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:03:33,588 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:03:33,588 INFO L74 IsIncluded]: Start isIncluded. First operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 236 states. [2022-04-28 04:03:33,588 INFO L87 Difference]: Start difference. First operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 236 states. [2022-04-28 04:03:33,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:03:33,591 INFO L93 Difference]: Finished difference Result 236 states and 280 transitions. [2022-04-28 04:03:33,591 INFO L276 IsEmpty]: Start isEmpty. Operand 236 states and 280 transitions. [2022-04-28 04:03:33,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:03:33,591 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:03:33,591 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:03:33,591 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:03:33,591 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:33,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 244 transitions. [2022-04-28 04:03:33,593 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 244 transitions. Word has length 55 [2022-04-28 04:03:33,593 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:03:33,593 INFO L495 AbstractCegarLoop]: Abstraction has 202 states and 244 transitions. [2022-04-28 04:03:33,594 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 28 states, 28 states have (on average 1.75) internal successors, (49), 26 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:33,594 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 202 states and 244 transitions. [2022-04-28 04:03:34,403 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 244 edges. 244 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:03:34,403 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 244 transitions. [2022-04-28 04:03:34,403 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 04:03:34,403 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:03:34,403 INFO L195 NwaCegarLoop]: trace histogram [11, 11, 6, 5, 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:03:34,421 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (53)] Forceful destruction successful, exit code 0 [2022-04-28 04:03:34,619 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 53 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable59 [2022-04-28 04:03:34,619 INFO L420 AbstractCegarLoop]: === Iteration 61 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:03:34,619 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:03:34,619 INFO L85 PathProgramCache]: Analyzing trace with hash 2069189247, now seen corresponding path program 50 times [2022-04-28 04:03:34,619 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:03:34,619 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1569679297] [2022-04-28 04:03:34,823 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:03:38,929 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:03:39,036 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:03:39,038 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:03:39,041 INFO L85 PathProgramCache]: Analyzing trace with hash -2087490495, now seen corresponding path program 1 times [2022-04-28 04:03:39,041 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:03:39,041 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1366456892] [2022-04-28 04:03:39,041 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:03:39,041 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:03:39,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:39,201 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:03:39,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:39,206 INFO L290 TraceCheckUtils]: 0: Hoare triple {75917#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,206 INFO L290 TraceCheckUtils]: 1: Hoare triple {75904#(<= 20 ~SIZE~0)} assume true; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,206 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {75904#(<= 20 ~SIZE~0)} {75899#true} #90#return; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,206 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:03:39,207 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:39,208 INFO L290 TraceCheckUtils]: 0: Hoare triple {75899#true} ~cond := #in~cond; {75899#true} is VALID [2022-04-28 04:03:39,208 INFO L290 TraceCheckUtils]: 1: Hoare triple {75899#true} assume !(0 == ~cond); {75899#true} is VALID [2022-04-28 04:03:39,208 INFO L290 TraceCheckUtils]: 2: Hoare triple {75899#true} assume true; {75899#true} is VALID [2022-04-28 04:03:39,209 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75899#true} {75904#(<= 20 ~SIZE~0)} #86#return; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,209 INFO L272 TraceCheckUtils]: 0: Hoare triple {75899#true} call ULTIMATE.init(); {75917#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:03:39,210 INFO L290 TraceCheckUtils]: 1: Hoare triple {75917#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {75904#(<= 20 ~SIZE~0)} assume true; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,210 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75904#(<= 20 ~SIZE~0)} {75899#true} #90#return; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,211 INFO L272 TraceCheckUtils]: 4: Hoare triple {75904#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,211 INFO L290 TraceCheckUtils]: 5: Hoare triple {75904#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,211 INFO L272 TraceCheckUtils]: 6: Hoare triple {75904#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {75899#true} is VALID [2022-04-28 04:03:39,211 INFO L290 TraceCheckUtils]: 7: Hoare triple {75899#true} ~cond := #in~cond; {75899#true} is VALID [2022-04-28 04:03:39,211 INFO L290 TraceCheckUtils]: 8: Hoare triple {75899#true} assume !(0 == ~cond); {75899#true} is VALID [2022-04-28 04:03:39,211 INFO L290 TraceCheckUtils]: 9: Hoare triple {75899#true} assume true; {75899#true} is VALID [2022-04-28 04:03:39,212 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {75899#true} {75904#(<= 20 ~SIZE~0)} #86#return; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,212 INFO L290 TraceCheckUtils]: 11: Hoare triple {75904#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {75909#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:03:39,212 INFO L290 TraceCheckUtils]: 12: Hoare triple {75909#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {75910#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:03:39,213 INFO L290 TraceCheckUtils]: 13: Hoare triple {75910#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [314] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1334 v_main_~c~0_1333)) (.cse2 (= v_main_~st~0_724 v_main_~st~0_723)) (.cse1 (<= v_~last~0_546 v_main_~c~0_1334))) (or (and .cse0 (= |v_main_#t~post5_712| |v_main_#t~post5_714|) (or (not (< v_main_~c~0_1334 v_~SIZE~0_492)) (not .cse1)) .cse2) (and (= |v_main_#t~post5_714| |v_main_#t~post5_712|) .cse0 (= v_~SIZE~0_492 v_~SIZE~0_492) (= v_~last~0_546 v_~last~0_546) .cse2) (and (= v_main_~st~0_723 0) (< v_main_~c~0_1334 v_main_~c~0_1333) .cse1 (< v_main_~c~0_1333 (+ v_~SIZE~0_492 1))))) InVars {~SIZE~0=v_~SIZE~0_492, main_~c~0=v_main_~c~0_1334, main_#t~post5=|v_main_#t~post5_714|, main_~st~0=v_main_~st~0_724, ~last~0=v_~last~0_546} OutVars{~SIZE~0=v_~SIZE~0_492, main_#t~post5=|v_main_#t~post5_712|, main_~c~0=v_main_~c~0_1333, main_~st~0=v_main_~st~0_723, ~last~0=v_~last~0_546} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {75911#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:03:39,213 INFO L290 TraceCheckUtils]: 14: Hoare triple {75911#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [315] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {75911#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:03:39,214 INFO L290 TraceCheckUtils]: 15: Hoare triple {75911#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [316] L25-3-->L25-4_primed: Formula: (or (and (< v_main_~c~0_1335 (+ v_~SIZE~0_493 1)) (< v_main_~c~0_1335 (+ v_~last~0_547 1)) (< v_main_~c~0_1336 v_main_~c~0_1335)) (and (= v_~SIZE~0_493 v_~SIZE~0_493) (= |v_main_#t~post5_717| |v_main_#t~post5_713|) (= v_~last~0_547 v_~last~0_547) (= v_main_~c~0_1336 v_main_~c~0_1335)) (and (= |v_main_#t~post5_713| |v_main_#t~post5_717|) (= v_main_~c~0_1335 v_main_~c~0_1336) (or (not (< v_main_~c~0_1336 v_~SIZE~0_493)) (not (< v_main_~c~0_1336 v_~last~0_547))))) InVars {~SIZE~0=v_~SIZE~0_493, main_~c~0=v_main_~c~0_1336, main_#t~post5=|v_main_#t~post5_717|, ~last~0=v_~last~0_547} OutVars{~SIZE~0=v_~SIZE~0_493, main_#t~post5=|v_main_#t~post5_713|, main_~c~0=v_main_~c~0_1335, ~last~0=v_~last~0_547} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {75911#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:03:39,214 INFO L290 TraceCheckUtils]: 16: Hoare triple {75911#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [313] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {75912#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:03:39,215 INFO L290 TraceCheckUtils]: 17: Hoare triple {75912#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {75913#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:39,215 INFO L290 TraceCheckUtils]: 18: Hoare triple {75913#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {75913#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:39,216 INFO L290 TraceCheckUtils]: 19: Hoare triple {75913#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {75914#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:39,216 INFO L290 TraceCheckUtils]: 20: Hoare triple {75914#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {75914#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:39,217 INFO L272 TraceCheckUtils]: 21: Hoare triple {75914#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {75915#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:03:39,217 INFO L290 TraceCheckUtils]: 22: Hoare triple {75915#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {75916#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:03:39,217 INFO L290 TraceCheckUtils]: 23: Hoare triple {75916#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {75900#false} is VALID [2022-04-28 04:03:39,217 INFO L290 TraceCheckUtils]: 24: Hoare triple {75900#false} assume !false; {75900#false} is VALID [2022-04-28 04:03:39,217 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:03:39,217 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:03:39,218 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1366456892] [2022-04-28 04:03:39,218 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1366456892] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:03:39,218 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1001793863] [2022-04-28 04:03:39,218 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:03:39,218 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:03:39,218 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:03:39,219 INFO L229 MonitoredProcess]: Starting monitored process 54 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:03:39,219 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (54)] Waiting until timeout for monitored process [2022-04-28 04:03:39,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:39,249 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:03:39,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:39,255 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:03:39,465 INFO L272 TraceCheckUtils]: 0: Hoare triple {75899#true} call ULTIMATE.init(); {75899#true} is VALID [2022-04-28 04:03:39,466 INFO L290 TraceCheckUtils]: 1: Hoare triple {75899#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,466 INFO L290 TraceCheckUtils]: 2: Hoare triple {75904#(<= 20 ~SIZE~0)} assume true; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,467 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75904#(<= 20 ~SIZE~0)} {75899#true} #90#return; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,467 INFO L272 TraceCheckUtils]: 4: Hoare triple {75904#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,467 INFO L290 TraceCheckUtils]: 5: Hoare triple {75904#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,467 INFO L272 TraceCheckUtils]: 6: Hoare triple {75904#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,468 INFO L290 TraceCheckUtils]: 7: Hoare triple {75904#(<= 20 ~SIZE~0)} ~cond := #in~cond; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,468 INFO L290 TraceCheckUtils]: 8: Hoare triple {75904#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,468 INFO L290 TraceCheckUtils]: 9: Hoare triple {75904#(<= 20 ~SIZE~0)} assume true; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,468 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {75904#(<= 20 ~SIZE~0)} {75904#(<= 20 ~SIZE~0)} #86#return; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,473 INFO L290 TraceCheckUtils]: 11: Hoare triple {75904#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:39,474 INFO L290 TraceCheckUtils]: 12: Hoare triple {75904#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {75957#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:03:39,474 INFO L290 TraceCheckUtils]: 13: Hoare triple {75957#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [314] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1334 v_main_~c~0_1333)) (.cse2 (= v_main_~st~0_724 v_main_~st~0_723)) (.cse1 (<= v_~last~0_546 v_main_~c~0_1334))) (or (and .cse0 (= |v_main_#t~post5_712| |v_main_#t~post5_714|) (or (not (< v_main_~c~0_1334 v_~SIZE~0_492)) (not .cse1)) .cse2) (and (= |v_main_#t~post5_714| |v_main_#t~post5_712|) .cse0 (= v_~SIZE~0_492 v_~SIZE~0_492) (= v_~last~0_546 v_~last~0_546) .cse2) (and (= v_main_~st~0_723 0) (< v_main_~c~0_1334 v_main_~c~0_1333) .cse1 (< v_main_~c~0_1333 (+ v_~SIZE~0_492 1))))) InVars {~SIZE~0=v_~SIZE~0_492, main_~c~0=v_main_~c~0_1334, main_#t~post5=|v_main_#t~post5_714|, main_~st~0=v_main_~st~0_724, ~last~0=v_~last~0_546} OutVars{~SIZE~0=v_~SIZE~0_492, main_#t~post5=|v_main_#t~post5_712|, main_~c~0=v_main_~c~0_1333, main_~st~0=v_main_~st~0_723, ~last~0=v_~last~0_546} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {75961#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:03:39,475 INFO L290 TraceCheckUtils]: 14: Hoare triple {75961#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [315] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {75961#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:03:39,475 INFO L290 TraceCheckUtils]: 15: Hoare triple {75961#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [316] L25-3-->L25-4_primed: Formula: (or (and (< v_main_~c~0_1335 (+ v_~SIZE~0_493 1)) (< v_main_~c~0_1335 (+ v_~last~0_547 1)) (< v_main_~c~0_1336 v_main_~c~0_1335)) (and (= v_~SIZE~0_493 v_~SIZE~0_493) (= |v_main_#t~post5_717| |v_main_#t~post5_713|) (= v_~last~0_547 v_~last~0_547) (= v_main_~c~0_1336 v_main_~c~0_1335)) (and (= |v_main_#t~post5_713| |v_main_#t~post5_717|) (= v_main_~c~0_1335 v_main_~c~0_1336) (or (not (< v_main_~c~0_1336 v_~SIZE~0_493)) (not (< v_main_~c~0_1336 v_~last~0_547))))) InVars {~SIZE~0=v_~SIZE~0_493, main_~c~0=v_main_~c~0_1336, main_#t~post5=|v_main_#t~post5_717|, ~last~0=v_~last~0_547} OutVars{~SIZE~0=v_~SIZE~0_493, main_#t~post5=|v_main_#t~post5_713|, main_~c~0=v_main_~c~0_1335, ~last~0=v_~last~0_547} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {75961#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:03:39,476 INFO L290 TraceCheckUtils]: 16: Hoare triple {75961#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [313] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {75971#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:03:39,476 INFO L290 TraceCheckUtils]: 17: Hoare triple {75971#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {75900#false} is VALID [2022-04-28 04:03:39,476 INFO L290 TraceCheckUtils]: 18: Hoare triple {75900#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {75900#false} is VALID [2022-04-28 04:03:39,476 INFO L290 TraceCheckUtils]: 19: Hoare triple {75900#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {75900#false} is VALID [2022-04-28 04:03:39,476 INFO L290 TraceCheckUtils]: 20: Hoare triple {75900#false} assume !(~d~0 == ~SIZE~0); {75900#false} is VALID [2022-04-28 04:03:39,476 INFO L272 TraceCheckUtils]: 21: Hoare triple {75900#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {75900#false} is VALID [2022-04-28 04:03:39,476 INFO L290 TraceCheckUtils]: 22: Hoare triple {75900#false} ~cond := #in~cond; {75900#false} is VALID [2022-04-28 04:03:39,476 INFO L290 TraceCheckUtils]: 23: Hoare triple {75900#false} assume 0 == ~cond; {75900#false} is VALID [2022-04-28 04:03:39,477 INFO L290 TraceCheckUtils]: 24: Hoare triple {75900#false} assume !false; {75900#false} is VALID [2022-04-28 04:03:39,477 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:03:39,477 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:03:39,728 INFO L290 TraceCheckUtils]: 24: Hoare triple {75900#false} assume !false; {75900#false} is VALID [2022-04-28 04:03:39,728 INFO L290 TraceCheckUtils]: 23: Hoare triple {75900#false} assume 0 == ~cond; {75900#false} is VALID [2022-04-28 04:03:39,728 INFO L290 TraceCheckUtils]: 22: Hoare triple {75900#false} ~cond := #in~cond; {75900#false} is VALID [2022-04-28 04:03:39,728 INFO L272 TraceCheckUtils]: 21: Hoare triple {75900#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {75900#false} is VALID [2022-04-28 04:03:39,728 INFO L290 TraceCheckUtils]: 20: Hoare triple {75900#false} assume !(~d~0 == ~SIZE~0); {75900#false} is VALID [2022-04-28 04:03:39,728 INFO L290 TraceCheckUtils]: 19: Hoare triple {75900#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {75900#false} is VALID [2022-04-28 04:03:39,729 INFO L290 TraceCheckUtils]: 18: Hoare triple {75900#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {75900#false} is VALID [2022-04-28 04:03:39,729 INFO L290 TraceCheckUtils]: 17: Hoare triple {76017#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {75900#false} is VALID [2022-04-28 04:03:39,729 INFO L290 TraceCheckUtils]: 16: Hoare triple {76021#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [313] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {76017#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:03:39,730 INFO L290 TraceCheckUtils]: 15: Hoare triple {76021#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [316] L25-3-->L25-4_primed: Formula: (or (and (< v_main_~c~0_1335 (+ v_~SIZE~0_493 1)) (< v_main_~c~0_1335 (+ v_~last~0_547 1)) (< v_main_~c~0_1336 v_main_~c~0_1335)) (and (= v_~SIZE~0_493 v_~SIZE~0_493) (= |v_main_#t~post5_717| |v_main_#t~post5_713|) (= v_~last~0_547 v_~last~0_547) (= v_main_~c~0_1336 v_main_~c~0_1335)) (and (= |v_main_#t~post5_713| |v_main_#t~post5_717|) (= v_main_~c~0_1335 v_main_~c~0_1336) (or (not (< v_main_~c~0_1336 v_~SIZE~0_493)) (not (< v_main_~c~0_1336 v_~last~0_547))))) InVars {~SIZE~0=v_~SIZE~0_493, main_~c~0=v_main_~c~0_1336, main_#t~post5=|v_main_#t~post5_717|, ~last~0=v_~last~0_547} OutVars{~SIZE~0=v_~SIZE~0_493, main_#t~post5=|v_main_#t~post5_713|, main_~c~0=v_main_~c~0_1335, ~last~0=v_~last~0_547} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {76021#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:03:39,730 INFO L290 TraceCheckUtils]: 14: Hoare triple {76021#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [315] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {76021#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:03:39,731 INFO L290 TraceCheckUtils]: 13: Hoare triple {76031#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [314] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1334 v_main_~c~0_1333)) (.cse2 (= v_main_~st~0_724 v_main_~st~0_723)) (.cse1 (<= v_~last~0_546 v_main_~c~0_1334))) (or (and .cse0 (= |v_main_#t~post5_712| |v_main_#t~post5_714|) (or (not (< v_main_~c~0_1334 v_~SIZE~0_492)) (not .cse1)) .cse2) (and (= |v_main_#t~post5_714| |v_main_#t~post5_712|) .cse0 (= v_~SIZE~0_492 v_~SIZE~0_492) (= v_~last~0_546 v_~last~0_546) .cse2) (and (= v_main_~st~0_723 0) (< v_main_~c~0_1334 v_main_~c~0_1333) .cse1 (< v_main_~c~0_1333 (+ v_~SIZE~0_492 1))))) InVars {~SIZE~0=v_~SIZE~0_492, main_~c~0=v_main_~c~0_1334, main_#t~post5=|v_main_#t~post5_714|, main_~st~0=v_main_~st~0_724, ~last~0=v_~last~0_546} OutVars{~SIZE~0=v_~SIZE~0_492, main_#t~post5=|v_main_#t~post5_712|, main_~c~0=v_main_~c~0_1333, main_~st~0=v_main_~st~0_723, ~last~0=v_~last~0_546} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {76021#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:03:39,731 INFO L290 TraceCheckUtils]: 12: Hoare triple {76035#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {76031#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:03:39,731 INFO L290 TraceCheckUtils]: 11: Hoare triple {76035#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {76035#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:39,732 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {75899#true} {76035#(< 1 ~SIZE~0)} #86#return; {76035#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:39,732 INFO L290 TraceCheckUtils]: 9: Hoare triple {75899#true} assume true; {75899#true} is VALID [2022-04-28 04:03:39,732 INFO L290 TraceCheckUtils]: 8: Hoare triple {75899#true} assume !(0 == ~cond); {75899#true} is VALID [2022-04-28 04:03:39,732 INFO L290 TraceCheckUtils]: 7: Hoare triple {75899#true} ~cond := #in~cond; {75899#true} is VALID [2022-04-28 04:03:39,732 INFO L272 TraceCheckUtils]: 6: Hoare triple {76035#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {75899#true} is VALID [2022-04-28 04:03:39,732 INFO L290 TraceCheckUtils]: 5: Hoare triple {76035#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {76035#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:39,732 INFO L272 TraceCheckUtils]: 4: Hoare triple {76035#(< 1 ~SIZE~0)} call #t~ret7 := main(); {76035#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:39,733 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {76035#(< 1 ~SIZE~0)} {75899#true} #90#return; {76035#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:39,733 INFO L290 TraceCheckUtils]: 2: Hoare triple {76035#(< 1 ~SIZE~0)} assume true; {76035#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:39,733 INFO L290 TraceCheckUtils]: 1: Hoare triple {75899#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {76035#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:39,733 INFO L272 TraceCheckUtils]: 0: Hoare triple {75899#true} call ULTIMATE.init(); {75899#true} is VALID [2022-04-28 04:03:39,733 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:03:39,733 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1001793863] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:03:39,734 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:03:39,734 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:03:40,533 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:03:40,533 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1569679297] [2022-04-28 04:03:40,533 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1569679297] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:03:40,533 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:03:40,533 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-28 04:03:40,533 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1632931895] [2022-04-28 04:03:40,533 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:03:40,534 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 1.6896551724137931) internal successors, (49), 27 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:03:40,534 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:03:40,534 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 29 states, 29 states have (on average 1.6896551724137931) internal successors, (49), 27 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:40,567 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:03:40,567 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-28 04:03:40,567 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:03:40,568 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-28 04:03:40,568 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=238, Invalid=1168, Unknown=0, NotChecked=0, Total=1406 [2022-04-28 04:03:40,568 INFO L87 Difference]: Start difference. First operand 202 states and 244 transitions. Second operand has 29 states, 29 states have (on average 1.6896551724137931) internal successors, (49), 27 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:43,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:03:43,245 INFO L93 Difference]: Finished difference Result 338 states and 410 transitions. [2022-04-28 04:03:43,245 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-28 04:03:43,245 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 1.6896551724137931) internal successors, (49), 27 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:03:43,245 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:03:43,245 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 1.6896551724137931) internal successors, (49), 27 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:43,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 104 transitions. [2022-04-28 04:03:43,246 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 1.6896551724137931) internal successors, (49), 27 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:43,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 104 transitions. [2022-04-28 04:03:43,246 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 104 transitions. [2022-04-28 04:03:43,293 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:03:43,296 INFO L225 Difference]: With dead ends: 338 [2022-04-28 04:03:43,296 INFO L226 Difference]: Without dead ends: 233 [2022-04-28 04:03:43,297 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 48 SyntacticMatches, 15 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 718 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=250, Invalid=1310, Unknown=0, NotChecked=0, Total=1560 [2022-04-28 04:03:43,297 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 59 mSDsluCounter, 53 mSDsCounter, 0 mSdLazyCounter, 1485 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 73 SdHoareTripleChecker+Invalid, 1496 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1485 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 04:03:43,297 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [60 Valid, 73 Invalid, 1496 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1485 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 04:03:43,297 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 233 states. [2022-04-28 04:03:43,829 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 233 to 202. [2022-04-28 04:03:43,829 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:03:43,829 INFO L82 GeneralOperation]: Start isEquivalent. First operand 233 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:43,830 INFO L74 IsIncluded]: Start isIncluded. First operand 233 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:43,830 INFO L87 Difference]: Start difference. First operand 233 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:43,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:03:43,832 INFO L93 Difference]: Finished difference Result 233 states and 277 transitions. [2022-04-28 04:03:43,832 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 277 transitions. [2022-04-28 04:03:43,832 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:03:43,833 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:03:43,833 INFO L74 IsIncluded]: Start isIncluded. First operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 233 states. [2022-04-28 04:03:43,833 INFO L87 Difference]: Start difference. First operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 233 states. [2022-04-28 04:03:43,835 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:03:43,835 INFO L93 Difference]: Finished difference Result 233 states and 277 transitions. [2022-04-28 04:03:43,835 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 277 transitions. [2022-04-28 04:03:43,835 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:03:43,835 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:03:43,836 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:03:43,836 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:03:43,836 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:43,838 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 244 transitions. [2022-04-28 04:03:43,838 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 244 transitions. Word has length 55 [2022-04-28 04:03:43,838 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:03:43,838 INFO L495 AbstractCegarLoop]: Abstraction has 202 states and 244 transitions. [2022-04-28 04:03:43,838 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 29 states have (on average 1.6896551724137931) internal successors, (49), 27 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:43,838 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 202 states and 244 transitions. [2022-04-28 04:03:44,967 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 244 edges. 244 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:03:44,967 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 244 transitions. [2022-04-28 04:03:44,967 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 04:03:44,967 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:03:44,967 INFO L195 NwaCegarLoop]: trace histogram [11, 11, 6, 5, 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:03:44,985 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (54)] Forceful destruction successful, exit code 0 [2022-04-28 04:03:45,182 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable60,54 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:03:45,183 INFO L420 AbstractCegarLoop]: === Iteration 62 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:03:45,183 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:03:45,183 INFO L85 PathProgramCache]: Analyzing trace with hash 2131228861, now seen corresponding path program 51 times [2022-04-28 04:03:45,183 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:03:45,183 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1988092394] [2022-04-28 04:03:47,952 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:03:48,049 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:03:48,261 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:03:48,262 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:03:48,265 INFO L85 PathProgramCache]: Analyzing trace with hash 405032257, now seen corresponding path program 1 times [2022-04-28 04:03:48,265 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:03:48,265 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [136721897] [2022-04-28 04:03:48,265 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:03:48,265 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:03:48,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:48,400 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:03:48,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:48,404 INFO L290 TraceCheckUtils]: 0: Hoare triple {77662#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,404 INFO L290 TraceCheckUtils]: 1: Hoare triple {77649#(<= 20 ~SIZE~0)} assume true; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,404 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {77649#(<= 20 ~SIZE~0)} {77644#true} #90#return; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,404 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:03:48,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:48,420 INFO L290 TraceCheckUtils]: 0: Hoare triple {77644#true} ~cond := #in~cond; {77644#true} is VALID [2022-04-28 04:03:48,420 INFO L290 TraceCheckUtils]: 1: Hoare triple {77644#true} assume !(0 == ~cond); {77644#true} is VALID [2022-04-28 04:03:48,420 INFO L290 TraceCheckUtils]: 2: Hoare triple {77644#true} assume true; {77644#true} is VALID [2022-04-28 04:03:48,420 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {77644#true} {77649#(<= 20 ~SIZE~0)} #86#return; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,421 INFO L272 TraceCheckUtils]: 0: Hoare triple {77644#true} call ULTIMATE.init(); {77662#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:03:48,421 INFO L290 TraceCheckUtils]: 1: Hoare triple {77662#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,421 INFO L290 TraceCheckUtils]: 2: Hoare triple {77649#(<= 20 ~SIZE~0)} assume true; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,422 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {77649#(<= 20 ~SIZE~0)} {77644#true} #90#return; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,422 INFO L272 TraceCheckUtils]: 4: Hoare triple {77649#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,422 INFO L290 TraceCheckUtils]: 5: Hoare triple {77649#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,422 INFO L272 TraceCheckUtils]: 6: Hoare triple {77649#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {77644#true} is VALID [2022-04-28 04:03:48,422 INFO L290 TraceCheckUtils]: 7: Hoare triple {77644#true} ~cond := #in~cond; {77644#true} is VALID [2022-04-28 04:03:48,422 INFO L290 TraceCheckUtils]: 8: Hoare triple {77644#true} assume !(0 == ~cond); {77644#true} is VALID [2022-04-28 04:03:48,422 INFO L290 TraceCheckUtils]: 9: Hoare triple {77644#true} assume true; {77644#true} is VALID [2022-04-28 04:03:48,423 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {77644#true} {77649#(<= 20 ~SIZE~0)} #86#return; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,423 INFO L290 TraceCheckUtils]: 11: Hoare triple {77649#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {77654#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:03:48,423 INFO L290 TraceCheckUtils]: 12: Hoare triple {77654#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {77655#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:03:48,424 INFO L290 TraceCheckUtils]: 13: Hoare triple {77655#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [318] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_556 v_main_~c~0_1362)) (.cse1 (= |v_main_#t~post5_727| |v_main_#t~post5_725|)) (.cse2 (= v_main_~st~0_739 v_main_~st~0_738)) (.cse3 (= v_main_~c~0_1362 v_main_~c~0_1361))) (or (and (= v_main_~st~0_738 0) .cse0 (< v_main_~c~0_1362 v_main_~c~0_1361) (< v_main_~c~0_1361 (+ v_~SIZE~0_501 1))) (and .cse1 .cse2 (= v_~last~0_556 v_~last~0_556) .cse3 (= v_~SIZE~0_501 v_~SIZE~0_501)) (and (or (not .cse0) (not (< v_main_~c~0_1362 v_~SIZE~0_501))) .cse1 .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_501, main_~c~0=v_main_~c~0_1362, main_#t~post5=|v_main_#t~post5_727|, main_~st~0=v_main_~st~0_739, ~last~0=v_~last~0_556} OutVars{~SIZE~0=v_~SIZE~0_501, main_#t~post5=|v_main_#t~post5_725|, main_~c~0=v_main_~c~0_1361, main_~st~0=v_main_~st~0_738, ~last~0=v_~last~0_556} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {77656#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:03:48,424 INFO L290 TraceCheckUtils]: 14: Hoare triple {77656#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [319] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {77656#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:03:48,425 INFO L290 TraceCheckUtils]: 15: Hoare triple {77656#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [320] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1364 v_main_~c~0_1363))) (or (and .cse0 (or (not (< v_main_~c~0_1364 v_~SIZE~0_502)) (not (< v_main_~c~0_1364 v_~last~0_557))) (= |v_main_#t~post5_726| |v_main_#t~post5_730|)) (and (= v_~SIZE~0_502 v_~SIZE~0_502) (= v_~last~0_557 v_~last~0_557) (= |v_main_#t~post5_730| |v_main_#t~post5_726|) .cse0) (and (< v_main_~c~0_1364 v_main_~c~0_1363) (< v_main_~c~0_1363 (+ v_~last~0_557 1)) (< v_main_~c~0_1363 (+ v_~SIZE~0_502 1))))) InVars {~SIZE~0=v_~SIZE~0_502, main_~c~0=v_main_~c~0_1364, main_#t~post5=|v_main_#t~post5_730|, ~last~0=v_~last~0_557} OutVars{~SIZE~0=v_~SIZE~0_502, main_#t~post5=|v_main_#t~post5_726|, main_~c~0=v_main_~c~0_1363, ~last~0=v_~last~0_557} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {77656#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:03:48,425 INFO L290 TraceCheckUtils]: 16: Hoare triple {77656#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [317] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {77657#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:03:48,426 INFO L290 TraceCheckUtils]: 17: Hoare triple {77657#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {77658#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:48,426 INFO L290 TraceCheckUtils]: 18: Hoare triple {77658#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {77658#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:48,427 INFO L290 TraceCheckUtils]: 19: Hoare triple {77658#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {77659#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:48,427 INFO L290 TraceCheckUtils]: 20: Hoare triple {77659#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {77659#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:48,427 INFO L272 TraceCheckUtils]: 21: Hoare triple {77659#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {77660#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:03:48,428 INFO L290 TraceCheckUtils]: 22: Hoare triple {77660#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {77661#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:03:48,428 INFO L290 TraceCheckUtils]: 23: Hoare triple {77661#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {77645#false} is VALID [2022-04-28 04:03:48,428 INFO L290 TraceCheckUtils]: 24: Hoare triple {77645#false} assume !false; {77645#false} is VALID [2022-04-28 04:03:48,428 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:03:48,428 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:03:48,428 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [136721897] [2022-04-28 04:03:48,428 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [136721897] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:03:48,428 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2106410687] [2022-04-28 04:03:48,429 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:03:48,429 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:03:48,429 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:03:48,444 INFO L229 MonitoredProcess]: Starting monitored process 55 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:03:48,456 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (55)] Waiting until timeout for monitored process [2022-04-28 04:03:48,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:48,481 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:03:48,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:48,486 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:03:48,719 INFO L272 TraceCheckUtils]: 0: Hoare triple {77644#true} call ULTIMATE.init(); {77644#true} is VALID [2022-04-28 04:03:48,719 INFO L290 TraceCheckUtils]: 1: Hoare triple {77644#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,720 INFO L290 TraceCheckUtils]: 2: Hoare triple {77649#(<= 20 ~SIZE~0)} assume true; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,720 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {77649#(<= 20 ~SIZE~0)} {77644#true} #90#return; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,720 INFO L272 TraceCheckUtils]: 4: Hoare triple {77649#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,720 INFO L290 TraceCheckUtils]: 5: Hoare triple {77649#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,721 INFO L272 TraceCheckUtils]: 6: Hoare triple {77649#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,721 INFO L290 TraceCheckUtils]: 7: Hoare triple {77649#(<= 20 ~SIZE~0)} ~cond := #in~cond; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,721 INFO L290 TraceCheckUtils]: 8: Hoare triple {77649#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,721 INFO L290 TraceCheckUtils]: 9: Hoare triple {77649#(<= 20 ~SIZE~0)} assume true; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,722 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {77649#(<= 20 ~SIZE~0)} {77649#(<= 20 ~SIZE~0)} #86#return; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,722 INFO L290 TraceCheckUtils]: 11: Hoare triple {77649#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:48,722 INFO L290 TraceCheckUtils]: 12: Hoare triple {77649#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {77702#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:03:48,723 INFO L290 TraceCheckUtils]: 13: Hoare triple {77702#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [318] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_556 v_main_~c~0_1362)) (.cse1 (= |v_main_#t~post5_727| |v_main_#t~post5_725|)) (.cse2 (= v_main_~st~0_739 v_main_~st~0_738)) (.cse3 (= v_main_~c~0_1362 v_main_~c~0_1361))) (or (and (= v_main_~st~0_738 0) .cse0 (< v_main_~c~0_1362 v_main_~c~0_1361) (< v_main_~c~0_1361 (+ v_~SIZE~0_501 1))) (and .cse1 .cse2 (= v_~last~0_556 v_~last~0_556) .cse3 (= v_~SIZE~0_501 v_~SIZE~0_501)) (and (or (not .cse0) (not (< v_main_~c~0_1362 v_~SIZE~0_501))) .cse1 .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_501, main_~c~0=v_main_~c~0_1362, main_#t~post5=|v_main_#t~post5_727|, main_~st~0=v_main_~st~0_739, ~last~0=v_~last~0_556} OutVars{~SIZE~0=v_~SIZE~0_501, main_#t~post5=|v_main_#t~post5_725|, main_~c~0=v_main_~c~0_1361, main_~st~0=v_main_~st~0_738, ~last~0=v_~last~0_556} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {77706#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:03:48,723 INFO L290 TraceCheckUtils]: 14: Hoare triple {77706#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [319] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {77706#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:03:48,724 INFO L290 TraceCheckUtils]: 15: Hoare triple {77706#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [320] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1364 v_main_~c~0_1363))) (or (and .cse0 (or (not (< v_main_~c~0_1364 v_~SIZE~0_502)) (not (< v_main_~c~0_1364 v_~last~0_557))) (= |v_main_#t~post5_726| |v_main_#t~post5_730|)) (and (= v_~SIZE~0_502 v_~SIZE~0_502) (= v_~last~0_557 v_~last~0_557) (= |v_main_#t~post5_730| |v_main_#t~post5_726|) .cse0) (and (< v_main_~c~0_1364 v_main_~c~0_1363) (< v_main_~c~0_1363 (+ v_~last~0_557 1)) (< v_main_~c~0_1363 (+ v_~SIZE~0_502 1))))) InVars {~SIZE~0=v_~SIZE~0_502, main_~c~0=v_main_~c~0_1364, main_#t~post5=|v_main_#t~post5_730|, ~last~0=v_~last~0_557} OutVars{~SIZE~0=v_~SIZE~0_502, main_#t~post5=|v_main_#t~post5_726|, main_~c~0=v_main_~c~0_1363, ~last~0=v_~last~0_557} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {77706#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:03:48,724 INFO L290 TraceCheckUtils]: 16: Hoare triple {77706#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [317] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {77716#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:03:48,725 INFO L290 TraceCheckUtils]: 17: Hoare triple {77716#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {77645#false} is VALID [2022-04-28 04:03:48,725 INFO L290 TraceCheckUtils]: 18: Hoare triple {77645#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {77645#false} is VALID [2022-04-28 04:03:48,725 INFO L290 TraceCheckUtils]: 19: Hoare triple {77645#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {77645#false} is VALID [2022-04-28 04:03:48,725 INFO L290 TraceCheckUtils]: 20: Hoare triple {77645#false} assume !(~d~0 == ~SIZE~0); {77645#false} is VALID [2022-04-28 04:03:48,725 INFO L272 TraceCheckUtils]: 21: Hoare triple {77645#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {77645#false} is VALID [2022-04-28 04:03:48,725 INFO L290 TraceCheckUtils]: 22: Hoare triple {77645#false} ~cond := #in~cond; {77645#false} is VALID [2022-04-28 04:03:48,725 INFO L290 TraceCheckUtils]: 23: Hoare triple {77645#false} assume 0 == ~cond; {77645#false} is VALID [2022-04-28 04:03:48,725 INFO L290 TraceCheckUtils]: 24: Hoare triple {77645#false} assume !false; {77645#false} is VALID [2022-04-28 04:03:48,725 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:03:48,725 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:03:48,976 INFO L290 TraceCheckUtils]: 24: Hoare triple {77645#false} assume !false; {77645#false} is VALID [2022-04-28 04:03:48,976 INFO L290 TraceCheckUtils]: 23: Hoare triple {77645#false} assume 0 == ~cond; {77645#false} is VALID [2022-04-28 04:03:48,976 INFO L290 TraceCheckUtils]: 22: Hoare triple {77645#false} ~cond := #in~cond; {77645#false} is VALID [2022-04-28 04:03:48,976 INFO L272 TraceCheckUtils]: 21: Hoare triple {77645#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {77645#false} is VALID [2022-04-28 04:03:48,976 INFO L290 TraceCheckUtils]: 20: Hoare triple {77645#false} assume !(~d~0 == ~SIZE~0); {77645#false} is VALID [2022-04-28 04:03:48,976 INFO L290 TraceCheckUtils]: 19: Hoare triple {77645#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {77645#false} is VALID [2022-04-28 04:03:48,976 INFO L290 TraceCheckUtils]: 18: Hoare triple {77645#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {77645#false} is VALID [2022-04-28 04:03:48,977 INFO L290 TraceCheckUtils]: 17: Hoare triple {77762#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {77645#false} is VALID [2022-04-28 04:03:48,977 INFO L290 TraceCheckUtils]: 16: Hoare triple {77766#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [317] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {77762#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:03:48,978 INFO L290 TraceCheckUtils]: 15: Hoare triple {77766#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [320] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1364 v_main_~c~0_1363))) (or (and .cse0 (or (not (< v_main_~c~0_1364 v_~SIZE~0_502)) (not (< v_main_~c~0_1364 v_~last~0_557))) (= |v_main_#t~post5_726| |v_main_#t~post5_730|)) (and (= v_~SIZE~0_502 v_~SIZE~0_502) (= v_~last~0_557 v_~last~0_557) (= |v_main_#t~post5_730| |v_main_#t~post5_726|) .cse0) (and (< v_main_~c~0_1364 v_main_~c~0_1363) (< v_main_~c~0_1363 (+ v_~last~0_557 1)) (< v_main_~c~0_1363 (+ v_~SIZE~0_502 1))))) InVars {~SIZE~0=v_~SIZE~0_502, main_~c~0=v_main_~c~0_1364, main_#t~post5=|v_main_#t~post5_730|, ~last~0=v_~last~0_557} OutVars{~SIZE~0=v_~SIZE~0_502, main_#t~post5=|v_main_#t~post5_726|, main_~c~0=v_main_~c~0_1363, ~last~0=v_~last~0_557} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {77766#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:03:48,978 INFO L290 TraceCheckUtils]: 14: Hoare triple {77766#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [319] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {77766#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:03:48,979 INFO L290 TraceCheckUtils]: 13: Hoare triple {77776#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [318] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_556 v_main_~c~0_1362)) (.cse1 (= |v_main_#t~post5_727| |v_main_#t~post5_725|)) (.cse2 (= v_main_~st~0_739 v_main_~st~0_738)) (.cse3 (= v_main_~c~0_1362 v_main_~c~0_1361))) (or (and (= v_main_~st~0_738 0) .cse0 (< v_main_~c~0_1362 v_main_~c~0_1361) (< v_main_~c~0_1361 (+ v_~SIZE~0_501 1))) (and .cse1 .cse2 (= v_~last~0_556 v_~last~0_556) .cse3 (= v_~SIZE~0_501 v_~SIZE~0_501)) (and (or (not .cse0) (not (< v_main_~c~0_1362 v_~SIZE~0_501))) .cse1 .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_501, main_~c~0=v_main_~c~0_1362, main_#t~post5=|v_main_#t~post5_727|, main_~st~0=v_main_~st~0_739, ~last~0=v_~last~0_556} OutVars{~SIZE~0=v_~SIZE~0_501, main_#t~post5=|v_main_#t~post5_725|, main_~c~0=v_main_~c~0_1361, main_~st~0=v_main_~st~0_738, ~last~0=v_~last~0_556} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {77766#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:03:48,979 INFO L290 TraceCheckUtils]: 12: Hoare triple {77780#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {77776#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:03:48,980 INFO L290 TraceCheckUtils]: 11: Hoare triple {77780#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {77780#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:48,980 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {77644#true} {77780#(< 1 ~SIZE~0)} #86#return; {77780#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:48,980 INFO L290 TraceCheckUtils]: 9: Hoare triple {77644#true} assume true; {77644#true} is VALID [2022-04-28 04:03:48,980 INFO L290 TraceCheckUtils]: 8: Hoare triple {77644#true} assume !(0 == ~cond); {77644#true} is VALID [2022-04-28 04:03:48,980 INFO L290 TraceCheckUtils]: 7: Hoare triple {77644#true} ~cond := #in~cond; {77644#true} is VALID [2022-04-28 04:03:48,980 INFO L272 TraceCheckUtils]: 6: Hoare triple {77780#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {77644#true} is VALID [2022-04-28 04:03:48,981 INFO L290 TraceCheckUtils]: 5: Hoare triple {77780#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {77780#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:48,981 INFO L272 TraceCheckUtils]: 4: Hoare triple {77780#(< 1 ~SIZE~0)} call #t~ret7 := main(); {77780#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:48,981 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {77780#(< 1 ~SIZE~0)} {77644#true} #90#return; {77780#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:48,982 INFO L290 TraceCheckUtils]: 2: Hoare triple {77780#(< 1 ~SIZE~0)} assume true; {77780#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:48,982 INFO L290 TraceCheckUtils]: 1: Hoare triple {77644#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {77780#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:48,982 INFO L272 TraceCheckUtils]: 0: Hoare triple {77644#true} call ULTIMATE.init(); {77644#true} is VALID [2022-04-28 04:03:48,982 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:03:48,982 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2106410687] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:03:48,982 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:03:48,983 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:03:49,736 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:03:49,737 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1988092394] [2022-04-28 04:03:49,737 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1988092394] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:03:49,737 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:03:49,737 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [30] imperfect sequences [] total 30 [2022-04-28 04:03:49,737 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1781715441] [2022-04-28 04:03:49,737 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:03:49,737 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 30 states have (on average 1.6333333333333333) internal successors, (49), 28 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:03:49,737 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:03:49,737 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 30 states, 30 states have (on average 1.6333333333333333) internal successors, (49), 28 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:49,763 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:03:49,763 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-28 04:03:49,763 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:03:49,763 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-28 04:03:49,764 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=252, Invalid=1230, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 04:03:49,764 INFO L87 Difference]: Start difference. First operand 202 states and 244 transitions. Second operand has 30 states, 30 states have (on average 1.6333333333333333) internal successors, (49), 28 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:52,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:03:52,397 INFO L93 Difference]: Finished difference Result 335 states and 407 transitions. [2022-04-28 04:03:52,398 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-28 04:03:52,398 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 30 states have (on average 1.6333333333333333) internal successors, (49), 28 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:03:52,398 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:03:52,398 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 1.6333333333333333) internal successors, (49), 28 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:52,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 105 transitions. [2022-04-28 04:03:52,399 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 1.6333333333333333) internal successors, (49), 28 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:52,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 105 transitions. [2022-04-28 04:03:52,399 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 105 transitions. [2022-04-28 04:03:52,446 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:03:52,449 INFO L225 Difference]: With dead ends: 335 [2022-04-28 04:03:52,449 INFO L226 Difference]: Without dead ends: 230 [2022-04-28 04:03:52,449 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 48 SyntacticMatches, 14 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 735 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=264, Invalid=1376, Unknown=0, NotChecked=0, Total=1640 [2022-04-28 04:03:52,449 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 58 mSDsluCounter, 63 mSDsCounter, 0 mSdLazyCounter, 1600 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 1611 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1600 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 04:03:52,449 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [59 Valid, 83 Invalid, 1611 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1600 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 04:03:52,450 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 230 states. [2022-04-28 04:03:53,271 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 230 to 202. [2022-04-28 04:03:53,271 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:03:53,271 INFO L82 GeneralOperation]: Start isEquivalent. First operand 230 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:53,272 INFO L74 IsIncluded]: Start isIncluded. First operand 230 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:53,272 INFO L87 Difference]: Start difference. First operand 230 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:53,274 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:03:53,274 INFO L93 Difference]: Finished difference Result 230 states and 274 transitions. [2022-04-28 04:03:53,274 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 274 transitions. [2022-04-28 04:03:53,274 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:03:53,274 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:03:53,275 INFO L74 IsIncluded]: Start isIncluded. First operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 230 states. [2022-04-28 04:03:53,275 INFO L87 Difference]: Start difference. First operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 230 states. [2022-04-28 04:03:53,277 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:03:53,277 INFO L93 Difference]: Finished difference Result 230 states and 274 transitions. [2022-04-28 04:03:53,277 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 274 transitions. [2022-04-28 04:03:53,277 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:03:53,277 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:03:53,277 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:03:53,277 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:03:53,278 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:03:53,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 244 transitions. [2022-04-28 04:03:53,280 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 244 transitions. Word has length 55 [2022-04-28 04:03:53,280 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:03:53,280 INFO L495 AbstractCegarLoop]: Abstraction has 202 states and 244 transitions. [2022-04-28 04:03:53,280 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 30 states, 30 states have (on average 1.6333333333333333) internal successors, (49), 28 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:03:53,280 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 202 states and 244 transitions. [2022-04-28 04:03:54,168 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 244 edges. 244 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:03:54,168 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 244 transitions. [2022-04-28 04:03:54,168 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 04:03:54,168 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:03:54,169 INFO L195 NwaCegarLoop]: trace histogram [11, 11, 7, 4, 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:03:54,184 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (55)] Forceful destruction successful, exit code 0 [2022-04-28 04:03:54,378 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable61,55 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:03:54,379 INFO L420 AbstractCegarLoop]: === Iteration 63 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:03:54,380 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:03:54,380 INFO L85 PathProgramCache]: Analyzing trace with hash 325790527, now seen corresponding path program 52 times [2022-04-28 04:03:54,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:03:54,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1802380834] [2022-04-28 04:03:58,530 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:03:58,647 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:03:58,864 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:03:58,865 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:03:58,868 INFO L85 PathProgramCache]: Analyzing trace with hash -1397412287, now seen corresponding path program 1 times [2022-04-28 04:03:58,868 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:03:58,868 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2112469864] [2022-04-28 04:03:58,868 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:03:58,868 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:03:58,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:59,030 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:03:59,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:59,034 INFO L290 TraceCheckUtils]: 0: Hoare triple {79396#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,035 INFO L290 TraceCheckUtils]: 1: Hoare triple {79383#(<= 20 ~SIZE~0)} assume true; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,035 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {79383#(<= 20 ~SIZE~0)} {79378#true} #90#return; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,035 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:03:59,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:59,037 INFO L290 TraceCheckUtils]: 0: Hoare triple {79378#true} ~cond := #in~cond; {79378#true} is VALID [2022-04-28 04:03:59,037 INFO L290 TraceCheckUtils]: 1: Hoare triple {79378#true} assume !(0 == ~cond); {79378#true} is VALID [2022-04-28 04:03:59,037 INFO L290 TraceCheckUtils]: 2: Hoare triple {79378#true} assume true; {79378#true} is VALID [2022-04-28 04:03:59,038 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {79378#true} {79383#(<= 20 ~SIZE~0)} #86#return; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,038 INFO L272 TraceCheckUtils]: 0: Hoare triple {79378#true} call ULTIMATE.init(); {79396#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:03:59,039 INFO L290 TraceCheckUtils]: 1: Hoare triple {79396#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,039 INFO L290 TraceCheckUtils]: 2: Hoare triple {79383#(<= 20 ~SIZE~0)} assume true; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,039 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {79383#(<= 20 ~SIZE~0)} {79378#true} #90#return; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,040 INFO L272 TraceCheckUtils]: 4: Hoare triple {79383#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,040 INFO L290 TraceCheckUtils]: 5: Hoare triple {79383#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,040 INFO L272 TraceCheckUtils]: 6: Hoare triple {79383#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {79378#true} is VALID [2022-04-28 04:03:59,040 INFO L290 TraceCheckUtils]: 7: Hoare triple {79378#true} ~cond := #in~cond; {79378#true} is VALID [2022-04-28 04:03:59,040 INFO L290 TraceCheckUtils]: 8: Hoare triple {79378#true} assume !(0 == ~cond); {79378#true} is VALID [2022-04-28 04:03:59,040 INFO L290 TraceCheckUtils]: 9: Hoare triple {79378#true} assume true; {79378#true} is VALID [2022-04-28 04:03:59,041 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {79378#true} {79383#(<= 20 ~SIZE~0)} #86#return; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,041 INFO L290 TraceCheckUtils]: 11: Hoare triple {79383#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {79388#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:03:59,041 INFO L290 TraceCheckUtils]: 12: Hoare triple {79388#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {79389#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:03:59,042 INFO L290 TraceCheckUtils]: 13: Hoare triple {79389#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [322] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1390 v_main_~c~0_1389)) (.cse1 (= v_main_~st~0_753 v_main_~st~0_752)) (.cse2 (<= v_~last~0_566 v_main_~c~0_1390))) (or (and (= |v_main_#t~post5_740| |v_main_#t~post5_738|) (= v_~SIZE~0_510 v_~SIZE~0_510) .cse0 .cse1 (= v_~last~0_566 v_~last~0_566)) (and (or (not (< v_main_~c~0_1390 v_~SIZE~0_510)) (not .cse2)) .cse0 .cse1 (= |v_main_#t~post5_738| |v_main_#t~post5_740|)) (and .cse2 (< v_main_~c~0_1389 (+ v_~SIZE~0_510 1)) (< v_main_~c~0_1390 v_main_~c~0_1389) (= v_main_~st~0_752 0)))) InVars {~SIZE~0=v_~SIZE~0_510, main_~c~0=v_main_~c~0_1390, main_#t~post5=|v_main_#t~post5_740|, main_~st~0=v_main_~st~0_753, ~last~0=v_~last~0_566} OutVars{~SIZE~0=v_~SIZE~0_510, main_#t~post5=|v_main_#t~post5_738|, main_~c~0=v_main_~c~0_1389, main_~st~0=v_main_~st~0_752, ~last~0=v_~last~0_566} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {79390#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:03:59,043 INFO L290 TraceCheckUtils]: 14: Hoare triple {79390#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [323] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {79390#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:03:59,043 INFO L290 TraceCheckUtils]: 15: Hoare triple {79390#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [324] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1392 v_main_~c~0_1391))) (or (and (= v_~SIZE~0_511 v_~SIZE~0_511) (= v_~last~0_567 v_~last~0_567) .cse0 (= |v_main_#t~post5_743| |v_main_#t~post5_739|)) (and (= |v_main_#t~post5_739| |v_main_#t~post5_743|) .cse0 (or (not (< v_main_~c~0_1392 v_~SIZE~0_511)) (not (< v_main_~c~0_1392 v_~last~0_567)))) (and (< v_main_~c~0_1392 v_main_~c~0_1391) (< v_main_~c~0_1391 (+ v_~SIZE~0_511 1)) (< v_main_~c~0_1391 (+ v_~last~0_567 1))))) InVars {~SIZE~0=v_~SIZE~0_511, main_~c~0=v_main_~c~0_1392, main_#t~post5=|v_main_#t~post5_743|, ~last~0=v_~last~0_567} OutVars{~SIZE~0=v_~SIZE~0_511, main_#t~post5=|v_main_#t~post5_739|, main_~c~0=v_main_~c~0_1391, ~last~0=v_~last~0_567} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {79390#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:03:59,044 INFO L290 TraceCheckUtils]: 16: Hoare triple {79390#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [321] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {79391#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:03:59,044 INFO L290 TraceCheckUtils]: 17: Hoare triple {79391#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {79392#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:59,045 INFO L290 TraceCheckUtils]: 18: Hoare triple {79392#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {79392#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:59,045 INFO L290 TraceCheckUtils]: 19: Hoare triple {79392#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {79393#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:59,046 INFO L290 TraceCheckUtils]: 20: Hoare triple {79393#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {79393#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:03:59,047 INFO L272 TraceCheckUtils]: 21: Hoare triple {79393#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {79394#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:03:59,047 INFO L290 TraceCheckUtils]: 22: Hoare triple {79394#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {79395#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:03:59,047 INFO L290 TraceCheckUtils]: 23: Hoare triple {79395#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {79379#false} is VALID [2022-04-28 04:03:59,047 INFO L290 TraceCheckUtils]: 24: Hoare triple {79379#false} assume !false; {79379#false} is VALID [2022-04-28 04:03:59,047 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:03:59,047 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:03:59,048 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2112469864] [2022-04-28 04:03:59,048 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2112469864] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:03:59,048 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [170947271] [2022-04-28 04:03:59,048 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:03:59,048 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:03:59,048 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:03:59,051 INFO L229 MonitoredProcess]: Starting monitored process 56 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:03:59,052 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (56)] Waiting until timeout for monitored process [2022-04-28 04:03:59,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:59,083 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:03:59,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:03:59,090 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:03:59,364 INFO L272 TraceCheckUtils]: 0: Hoare triple {79378#true} call ULTIMATE.init(); {79378#true} is VALID [2022-04-28 04:03:59,365 INFO L290 TraceCheckUtils]: 1: Hoare triple {79378#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,365 INFO L290 TraceCheckUtils]: 2: Hoare triple {79383#(<= 20 ~SIZE~0)} assume true; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,365 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {79383#(<= 20 ~SIZE~0)} {79378#true} #90#return; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,366 INFO L272 TraceCheckUtils]: 4: Hoare triple {79383#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,366 INFO L290 TraceCheckUtils]: 5: Hoare triple {79383#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,366 INFO L272 TraceCheckUtils]: 6: Hoare triple {79383#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,366 INFO L290 TraceCheckUtils]: 7: Hoare triple {79383#(<= 20 ~SIZE~0)} ~cond := #in~cond; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,367 INFO L290 TraceCheckUtils]: 8: Hoare triple {79383#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,367 INFO L290 TraceCheckUtils]: 9: Hoare triple {79383#(<= 20 ~SIZE~0)} assume true; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,367 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {79383#(<= 20 ~SIZE~0)} {79383#(<= 20 ~SIZE~0)} #86#return; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,367 INFO L290 TraceCheckUtils]: 11: Hoare triple {79383#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:03:59,368 INFO L290 TraceCheckUtils]: 12: Hoare triple {79383#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {79436#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:03:59,368 INFO L290 TraceCheckUtils]: 13: Hoare triple {79436#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [322] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1390 v_main_~c~0_1389)) (.cse1 (= v_main_~st~0_753 v_main_~st~0_752)) (.cse2 (<= v_~last~0_566 v_main_~c~0_1390))) (or (and (= |v_main_#t~post5_740| |v_main_#t~post5_738|) (= v_~SIZE~0_510 v_~SIZE~0_510) .cse0 .cse1 (= v_~last~0_566 v_~last~0_566)) (and (or (not (< v_main_~c~0_1390 v_~SIZE~0_510)) (not .cse2)) .cse0 .cse1 (= |v_main_#t~post5_738| |v_main_#t~post5_740|)) (and .cse2 (< v_main_~c~0_1389 (+ v_~SIZE~0_510 1)) (< v_main_~c~0_1390 v_main_~c~0_1389) (= v_main_~st~0_752 0)))) InVars {~SIZE~0=v_~SIZE~0_510, main_~c~0=v_main_~c~0_1390, main_#t~post5=|v_main_#t~post5_740|, main_~st~0=v_main_~st~0_753, ~last~0=v_~last~0_566} OutVars{~SIZE~0=v_~SIZE~0_510, main_#t~post5=|v_main_#t~post5_738|, main_~c~0=v_main_~c~0_1389, main_~st~0=v_main_~st~0_752, ~last~0=v_~last~0_566} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {79440#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:03:59,369 INFO L290 TraceCheckUtils]: 14: Hoare triple {79440#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [323] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {79440#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:03:59,369 INFO L290 TraceCheckUtils]: 15: Hoare triple {79440#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [324] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1392 v_main_~c~0_1391))) (or (and (= v_~SIZE~0_511 v_~SIZE~0_511) (= v_~last~0_567 v_~last~0_567) .cse0 (= |v_main_#t~post5_743| |v_main_#t~post5_739|)) (and (= |v_main_#t~post5_739| |v_main_#t~post5_743|) .cse0 (or (not (< v_main_~c~0_1392 v_~SIZE~0_511)) (not (< v_main_~c~0_1392 v_~last~0_567)))) (and (< v_main_~c~0_1392 v_main_~c~0_1391) (< v_main_~c~0_1391 (+ v_~SIZE~0_511 1)) (< v_main_~c~0_1391 (+ v_~last~0_567 1))))) InVars {~SIZE~0=v_~SIZE~0_511, main_~c~0=v_main_~c~0_1392, main_#t~post5=|v_main_#t~post5_743|, ~last~0=v_~last~0_567} OutVars{~SIZE~0=v_~SIZE~0_511, main_#t~post5=|v_main_#t~post5_739|, main_~c~0=v_main_~c~0_1391, ~last~0=v_~last~0_567} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {79440#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:03:59,370 INFO L290 TraceCheckUtils]: 16: Hoare triple {79440#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [321] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {79450#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:03:59,370 INFO L290 TraceCheckUtils]: 17: Hoare triple {79450#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {79379#false} is VALID [2022-04-28 04:03:59,370 INFO L290 TraceCheckUtils]: 18: Hoare triple {79379#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {79379#false} is VALID [2022-04-28 04:03:59,370 INFO L290 TraceCheckUtils]: 19: Hoare triple {79379#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {79379#false} is VALID [2022-04-28 04:03:59,370 INFO L290 TraceCheckUtils]: 20: Hoare triple {79379#false} assume !(~d~0 == ~SIZE~0); {79379#false} is VALID [2022-04-28 04:03:59,371 INFO L272 TraceCheckUtils]: 21: Hoare triple {79379#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {79379#false} is VALID [2022-04-28 04:03:59,371 INFO L290 TraceCheckUtils]: 22: Hoare triple {79379#false} ~cond := #in~cond; {79379#false} is VALID [2022-04-28 04:03:59,371 INFO L290 TraceCheckUtils]: 23: Hoare triple {79379#false} assume 0 == ~cond; {79379#false} is VALID [2022-04-28 04:03:59,371 INFO L290 TraceCheckUtils]: 24: Hoare triple {79379#false} assume !false; {79379#false} is VALID [2022-04-28 04:03:59,371 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:03:59,371 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:03:59,673 INFO L290 TraceCheckUtils]: 24: Hoare triple {79379#false} assume !false; {79379#false} is VALID [2022-04-28 04:03:59,673 INFO L290 TraceCheckUtils]: 23: Hoare triple {79379#false} assume 0 == ~cond; {79379#false} is VALID [2022-04-28 04:03:59,673 INFO L290 TraceCheckUtils]: 22: Hoare triple {79379#false} ~cond := #in~cond; {79379#false} is VALID [2022-04-28 04:03:59,673 INFO L272 TraceCheckUtils]: 21: Hoare triple {79379#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {79379#false} is VALID [2022-04-28 04:03:59,673 INFO L290 TraceCheckUtils]: 20: Hoare triple {79379#false} assume !(~d~0 == ~SIZE~0); {79379#false} is VALID [2022-04-28 04:03:59,674 INFO L290 TraceCheckUtils]: 19: Hoare triple {79379#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {79379#false} is VALID [2022-04-28 04:03:59,674 INFO L290 TraceCheckUtils]: 18: Hoare triple {79379#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {79379#false} is VALID [2022-04-28 04:03:59,674 INFO L290 TraceCheckUtils]: 17: Hoare triple {79496#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {79379#false} is VALID [2022-04-28 04:03:59,674 INFO L290 TraceCheckUtils]: 16: Hoare triple {79500#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [321] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {79496#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:03:59,675 INFO L290 TraceCheckUtils]: 15: Hoare triple {79500#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [324] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1392 v_main_~c~0_1391))) (or (and (= v_~SIZE~0_511 v_~SIZE~0_511) (= v_~last~0_567 v_~last~0_567) .cse0 (= |v_main_#t~post5_743| |v_main_#t~post5_739|)) (and (= |v_main_#t~post5_739| |v_main_#t~post5_743|) .cse0 (or (not (< v_main_~c~0_1392 v_~SIZE~0_511)) (not (< v_main_~c~0_1392 v_~last~0_567)))) (and (< v_main_~c~0_1392 v_main_~c~0_1391) (< v_main_~c~0_1391 (+ v_~SIZE~0_511 1)) (< v_main_~c~0_1391 (+ v_~last~0_567 1))))) InVars {~SIZE~0=v_~SIZE~0_511, main_~c~0=v_main_~c~0_1392, main_#t~post5=|v_main_#t~post5_743|, ~last~0=v_~last~0_567} OutVars{~SIZE~0=v_~SIZE~0_511, main_#t~post5=|v_main_#t~post5_739|, main_~c~0=v_main_~c~0_1391, ~last~0=v_~last~0_567} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {79500#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:03:59,675 INFO L290 TraceCheckUtils]: 14: Hoare triple {79500#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [323] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {79500#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:03:59,676 INFO L290 TraceCheckUtils]: 13: Hoare triple {79510#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [322] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1390 v_main_~c~0_1389)) (.cse1 (= v_main_~st~0_753 v_main_~st~0_752)) (.cse2 (<= v_~last~0_566 v_main_~c~0_1390))) (or (and (= |v_main_#t~post5_740| |v_main_#t~post5_738|) (= v_~SIZE~0_510 v_~SIZE~0_510) .cse0 .cse1 (= v_~last~0_566 v_~last~0_566)) (and (or (not (< v_main_~c~0_1390 v_~SIZE~0_510)) (not .cse2)) .cse0 .cse1 (= |v_main_#t~post5_738| |v_main_#t~post5_740|)) (and .cse2 (< v_main_~c~0_1389 (+ v_~SIZE~0_510 1)) (< v_main_~c~0_1390 v_main_~c~0_1389) (= v_main_~st~0_752 0)))) InVars {~SIZE~0=v_~SIZE~0_510, main_~c~0=v_main_~c~0_1390, main_#t~post5=|v_main_#t~post5_740|, main_~st~0=v_main_~st~0_753, ~last~0=v_~last~0_566} OutVars{~SIZE~0=v_~SIZE~0_510, main_#t~post5=|v_main_#t~post5_738|, main_~c~0=v_main_~c~0_1389, main_~st~0=v_main_~st~0_752, ~last~0=v_~last~0_566} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {79500#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:03:59,676 INFO L290 TraceCheckUtils]: 12: Hoare triple {79514#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {79510#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:03:59,677 INFO L290 TraceCheckUtils]: 11: Hoare triple {79514#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {79514#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:59,677 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {79378#true} {79514#(< 1 ~SIZE~0)} #86#return; {79514#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:59,677 INFO L290 TraceCheckUtils]: 9: Hoare triple {79378#true} assume true; {79378#true} is VALID [2022-04-28 04:03:59,677 INFO L290 TraceCheckUtils]: 8: Hoare triple {79378#true} assume !(0 == ~cond); {79378#true} is VALID [2022-04-28 04:03:59,677 INFO L290 TraceCheckUtils]: 7: Hoare triple {79378#true} ~cond := #in~cond; {79378#true} is VALID [2022-04-28 04:03:59,677 INFO L272 TraceCheckUtils]: 6: Hoare triple {79514#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {79378#true} is VALID [2022-04-28 04:03:59,678 INFO L290 TraceCheckUtils]: 5: Hoare triple {79514#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {79514#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:59,678 INFO L272 TraceCheckUtils]: 4: Hoare triple {79514#(< 1 ~SIZE~0)} call #t~ret7 := main(); {79514#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:59,678 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {79514#(< 1 ~SIZE~0)} {79378#true} #90#return; {79514#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:59,679 INFO L290 TraceCheckUtils]: 2: Hoare triple {79514#(< 1 ~SIZE~0)} assume true; {79514#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:59,679 INFO L290 TraceCheckUtils]: 1: Hoare triple {79378#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {79514#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:03:59,679 INFO L272 TraceCheckUtils]: 0: Hoare triple {79378#true} call ULTIMATE.init(); {79378#true} is VALID [2022-04-28 04:03:59,679 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:03:59,679 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [170947271] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:03:59,679 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:03:59,679 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:04:00,613 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:04:00,613 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1802380834] [2022-04-28 04:04:00,613 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1802380834] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:04:00,613 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:04:00,613 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [31] imperfect sequences [] total 31 [2022-04-28 04:04:00,613 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [927495193] [2022-04-28 04:04:00,613 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:04:00,614 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 1.5806451612903225) internal successors, (49), 29 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:04:00,617 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:04:00,617 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 31 states, 31 states have (on average 1.5806451612903225) internal successors, (49), 29 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:00,644 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:04:00,644 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-28 04:04:00,645 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:04:00,645 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-28 04:04:00,645 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=266, Invalid=1294, Unknown=0, NotChecked=0, Total=1560 [2022-04-28 04:04:00,645 INFO L87 Difference]: Start difference. First operand 202 states and 244 transitions. Second operand has 31 states, 31 states have (on average 1.5806451612903225) internal successors, (49), 29 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:02,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:02,980 INFO L93 Difference]: Finished difference Result 332 states and 404 transitions. [2022-04-28 04:04:02,980 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-28 04:04:02,981 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 1.5806451612903225) internal successors, (49), 29 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:04:02,981 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:04:02,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 1.5806451612903225) internal successors, (49), 29 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:02,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 106 transitions. [2022-04-28 04:04:02,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 1.5806451612903225) internal successors, (49), 29 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:02,982 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 106 transitions. [2022-04-28 04:04:02,982 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 106 transitions. [2022-04-28 04:04:03,045 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:04:03,048 INFO L225 Difference]: With dead ends: 332 [2022-04-28 04:04:03,048 INFO L226 Difference]: Without dead ends: 227 [2022-04-28 04:04:03,056 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 48 SyntacticMatches, 13 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 743 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=278, Invalid=1444, Unknown=0, NotChecked=0, Total=1722 [2022-04-28 04:04:03,056 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 55 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 1395 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 56 SdHoareTripleChecker+Valid, 70 SdHoareTripleChecker+Invalid, 1405 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1395 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 04:04:03,056 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [56 Valid, 70 Invalid, 1405 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1395 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 04:04:03,057 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 227 states. [2022-04-28 04:04:03,789 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 227 to 202. [2022-04-28 04:04:03,789 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:04:03,790 INFO L82 GeneralOperation]: Start isEquivalent. First operand 227 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:03,790 INFO L74 IsIncluded]: Start isIncluded. First operand 227 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:03,790 INFO L87 Difference]: Start difference. First operand 227 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:03,792 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:03,792 INFO L93 Difference]: Finished difference Result 227 states and 271 transitions. [2022-04-28 04:04:03,793 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 271 transitions. [2022-04-28 04:04:03,793 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:04:03,793 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:04:03,793 INFO L74 IsIncluded]: Start isIncluded. First operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 227 states. [2022-04-28 04:04:03,793 INFO L87 Difference]: Start difference. First operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 227 states. [2022-04-28 04:04:03,795 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:03,795 INFO L93 Difference]: Finished difference Result 227 states and 271 transitions. [2022-04-28 04:04:03,796 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 271 transitions. [2022-04-28 04:04:03,796 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:04:03,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:04:03,796 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:04:03,796 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:04:03,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:03,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 244 transitions. [2022-04-28 04:04:03,798 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 244 transitions. Word has length 55 [2022-04-28 04:04:03,798 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:04:03,798 INFO L495 AbstractCegarLoop]: Abstraction has 202 states and 244 transitions. [2022-04-28 04:04:03,799 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 31 states have (on average 1.5806451612903225) internal successors, (49), 29 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:03,799 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 202 states and 244 transitions. [2022-04-28 04:04:04,658 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 244 edges. 244 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:04:04,658 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 244 transitions. [2022-04-28 04:04:04,659 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 04:04:04,659 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:04:04,659 INFO L195 NwaCegarLoop]: trace histogram [11, 11, 8, 3, 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:04:04,674 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (56)] Ended with exit code 0 [2022-04-28 04:04:04,871 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable62,56 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:04:04,872 INFO L420 AbstractCegarLoop]: === Iteration 64 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:04:04,872 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:04:04,872 INFO L85 PathProgramCache]: Analyzing trace with hash -491857923, now seen corresponding path program 53 times [2022-04-28 04:04:04,872 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:04:04,872 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1440830703] [2022-04-28 04:04:05,013 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:04:05,136 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:04:05,137 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:04:05,139 INFO L85 PathProgramCache]: Analyzing trace with hash 1095110465, now seen corresponding path program 1 times [2022-04-28 04:04:05,139 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:04:05,139 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [295025699] [2022-04-28 04:04:05,139 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:04:05,139 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:04:05,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:05,298 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:04:05,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:05,303 INFO L290 TraceCheckUtils]: 0: Hoare triple {81119#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,303 INFO L290 TraceCheckUtils]: 1: Hoare triple {81106#(<= 20 ~SIZE~0)} assume true; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,303 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {81106#(<= 20 ~SIZE~0)} {81101#true} #90#return; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,304 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:04:05,304 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:05,305 INFO L290 TraceCheckUtils]: 0: Hoare triple {81101#true} ~cond := #in~cond; {81101#true} is VALID [2022-04-28 04:04:05,305 INFO L290 TraceCheckUtils]: 1: Hoare triple {81101#true} assume !(0 == ~cond); {81101#true} is VALID [2022-04-28 04:04:05,306 INFO L290 TraceCheckUtils]: 2: Hoare triple {81101#true} assume true; {81101#true} is VALID [2022-04-28 04:04:05,306 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {81101#true} {81106#(<= 20 ~SIZE~0)} #86#return; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,306 INFO L272 TraceCheckUtils]: 0: Hoare triple {81101#true} call ULTIMATE.init(); {81119#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:04:05,307 INFO L290 TraceCheckUtils]: 1: Hoare triple {81119#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,307 INFO L290 TraceCheckUtils]: 2: Hoare triple {81106#(<= 20 ~SIZE~0)} assume true; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,308 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {81106#(<= 20 ~SIZE~0)} {81101#true} #90#return; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,308 INFO L272 TraceCheckUtils]: 4: Hoare triple {81106#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,308 INFO L290 TraceCheckUtils]: 5: Hoare triple {81106#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,308 INFO L272 TraceCheckUtils]: 6: Hoare triple {81106#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {81101#true} is VALID [2022-04-28 04:04:05,308 INFO L290 TraceCheckUtils]: 7: Hoare triple {81101#true} ~cond := #in~cond; {81101#true} is VALID [2022-04-28 04:04:05,308 INFO L290 TraceCheckUtils]: 8: Hoare triple {81101#true} assume !(0 == ~cond); {81101#true} is VALID [2022-04-28 04:04:05,308 INFO L290 TraceCheckUtils]: 9: Hoare triple {81101#true} assume true; {81101#true} is VALID [2022-04-28 04:04:05,309 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {81101#true} {81106#(<= 20 ~SIZE~0)} #86#return; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,309 INFO L290 TraceCheckUtils]: 11: Hoare triple {81106#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {81111#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:04:05,310 INFO L290 TraceCheckUtils]: 12: Hoare triple {81111#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {81112#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:04:05,310 INFO L290 TraceCheckUtils]: 13: Hoare triple {81112#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [326] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_766 v_main_~st~0_765)) (.cse0 (<= v_~last~0_576 v_main_~c~0_1418)) (.cse2 (= |v_main_#t~post5_753| |v_main_#t~post5_751|)) (.cse3 (= v_main_~c~0_1418 v_main_~c~0_1417))) (or (and .cse0 (< v_main_~c~0_1418 v_main_~c~0_1417) (= v_main_~st~0_765 0) (< v_main_~c~0_1417 (+ v_~SIZE~0_519 1))) (and .cse1 (= v_~SIZE~0_519 v_~SIZE~0_519) .cse2 .cse3 (= v_~last~0_576 v_~last~0_576)) (and .cse1 (or (not (< v_main_~c~0_1418 v_~SIZE~0_519)) (not .cse0)) .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_519, main_~c~0=v_main_~c~0_1418, main_#t~post5=|v_main_#t~post5_753|, main_~st~0=v_main_~st~0_766, ~last~0=v_~last~0_576} OutVars{~SIZE~0=v_~SIZE~0_519, main_#t~post5=|v_main_#t~post5_751|, main_~c~0=v_main_~c~0_1417, main_~st~0=v_main_~st~0_765, ~last~0=v_~last~0_576} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {81113#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:04:05,311 INFO L290 TraceCheckUtils]: 14: Hoare triple {81113#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [327] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {81113#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:04:05,311 INFO L290 TraceCheckUtils]: 15: Hoare triple {81113#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [328] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_756| |v_main_#t~post5_752|))) (or (and (< v_main_~c~0_1419 (+ v_~SIZE~0_520 1)) (< v_main_~c~0_1420 v_main_~c~0_1419) (< v_main_~c~0_1419 (+ v_~last~0_577 1))) (and (= v_main_~c~0_1419 v_main_~c~0_1420) (or (not (< v_main_~c~0_1420 v_~last~0_577)) (not (< v_main_~c~0_1420 v_~SIZE~0_520))) .cse0) (and (= v_main_~c~0_1420 v_main_~c~0_1419) (= v_~SIZE~0_520 v_~SIZE~0_520) .cse0 (= v_~last~0_577 v_~last~0_577)))) InVars {~SIZE~0=v_~SIZE~0_520, main_~c~0=v_main_~c~0_1420, main_#t~post5=|v_main_#t~post5_756|, ~last~0=v_~last~0_577} OutVars{~SIZE~0=v_~SIZE~0_520, main_#t~post5=|v_main_#t~post5_752|, main_~c~0=v_main_~c~0_1419, ~last~0=v_~last~0_577} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {81113#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:04:05,312 INFO L290 TraceCheckUtils]: 16: Hoare triple {81113#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [325] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {81114#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:04:05,313 INFO L290 TraceCheckUtils]: 17: Hoare triple {81114#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {81115#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:05,313 INFO L290 TraceCheckUtils]: 18: Hoare triple {81115#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {81115#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:05,314 INFO L290 TraceCheckUtils]: 19: Hoare triple {81115#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {81116#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:05,314 INFO L290 TraceCheckUtils]: 20: Hoare triple {81116#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {81116#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:05,315 INFO L272 TraceCheckUtils]: 21: Hoare triple {81116#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {81117#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:04:05,315 INFO L290 TraceCheckUtils]: 22: Hoare triple {81117#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {81118#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:04:05,315 INFO L290 TraceCheckUtils]: 23: Hoare triple {81118#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {81102#false} is VALID [2022-04-28 04:04:05,315 INFO L290 TraceCheckUtils]: 24: Hoare triple {81102#false} assume !false; {81102#false} is VALID [2022-04-28 04:04:05,316 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:04:05,316 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:04:05,316 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [295025699] [2022-04-28 04:04:05,316 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [295025699] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:04:05,316 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1420226043] [2022-04-28 04:04:05,316 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:04:05,316 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:04:05,316 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:04:05,317 INFO L229 MonitoredProcess]: Starting monitored process 57 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:04:05,318 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (57)] Waiting until timeout for monitored process [2022-04-28 04:04:05,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:05,347 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:04:05,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:05,353 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:04:05,645 INFO L272 TraceCheckUtils]: 0: Hoare triple {81101#true} call ULTIMATE.init(); {81101#true} is VALID [2022-04-28 04:04:05,646 INFO L290 TraceCheckUtils]: 1: Hoare triple {81101#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,646 INFO L290 TraceCheckUtils]: 2: Hoare triple {81106#(<= 20 ~SIZE~0)} assume true; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,647 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {81106#(<= 20 ~SIZE~0)} {81101#true} #90#return; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,647 INFO L272 TraceCheckUtils]: 4: Hoare triple {81106#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,647 INFO L290 TraceCheckUtils]: 5: Hoare triple {81106#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,648 INFO L272 TraceCheckUtils]: 6: Hoare triple {81106#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,648 INFO L290 TraceCheckUtils]: 7: Hoare triple {81106#(<= 20 ~SIZE~0)} ~cond := #in~cond; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,648 INFO L290 TraceCheckUtils]: 8: Hoare triple {81106#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,648 INFO L290 TraceCheckUtils]: 9: Hoare triple {81106#(<= 20 ~SIZE~0)} assume true; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,649 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {81106#(<= 20 ~SIZE~0)} {81106#(<= 20 ~SIZE~0)} #86#return; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,649 INFO L290 TraceCheckUtils]: 11: Hoare triple {81106#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:05,650 INFO L290 TraceCheckUtils]: 12: Hoare triple {81106#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {81159#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:04:05,650 INFO L290 TraceCheckUtils]: 13: Hoare triple {81159#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [326] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_766 v_main_~st~0_765)) (.cse0 (<= v_~last~0_576 v_main_~c~0_1418)) (.cse2 (= |v_main_#t~post5_753| |v_main_#t~post5_751|)) (.cse3 (= v_main_~c~0_1418 v_main_~c~0_1417))) (or (and .cse0 (< v_main_~c~0_1418 v_main_~c~0_1417) (= v_main_~st~0_765 0) (< v_main_~c~0_1417 (+ v_~SIZE~0_519 1))) (and .cse1 (= v_~SIZE~0_519 v_~SIZE~0_519) .cse2 .cse3 (= v_~last~0_576 v_~last~0_576)) (and .cse1 (or (not (< v_main_~c~0_1418 v_~SIZE~0_519)) (not .cse0)) .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_519, main_~c~0=v_main_~c~0_1418, main_#t~post5=|v_main_#t~post5_753|, main_~st~0=v_main_~st~0_766, ~last~0=v_~last~0_576} OutVars{~SIZE~0=v_~SIZE~0_519, main_#t~post5=|v_main_#t~post5_751|, main_~c~0=v_main_~c~0_1417, main_~st~0=v_main_~st~0_765, ~last~0=v_~last~0_576} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {81163#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:04:05,651 INFO L290 TraceCheckUtils]: 14: Hoare triple {81163#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [327] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {81163#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:04:05,651 INFO L290 TraceCheckUtils]: 15: Hoare triple {81163#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [328] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_756| |v_main_#t~post5_752|))) (or (and (< v_main_~c~0_1419 (+ v_~SIZE~0_520 1)) (< v_main_~c~0_1420 v_main_~c~0_1419) (< v_main_~c~0_1419 (+ v_~last~0_577 1))) (and (= v_main_~c~0_1419 v_main_~c~0_1420) (or (not (< v_main_~c~0_1420 v_~last~0_577)) (not (< v_main_~c~0_1420 v_~SIZE~0_520))) .cse0) (and (= v_main_~c~0_1420 v_main_~c~0_1419) (= v_~SIZE~0_520 v_~SIZE~0_520) .cse0 (= v_~last~0_577 v_~last~0_577)))) InVars {~SIZE~0=v_~SIZE~0_520, main_~c~0=v_main_~c~0_1420, main_#t~post5=|v_main_#t~post5_756|, ~last~0=v_~last~0_577} OutVars{~SIZE~0=v_~SIZE~0_520, main_#t~post5=|v_main_#t~post5_752|, main_~c~0=v_main_~c~0_1419, ~last~0=v_~last~0_577} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {81163#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:04:05,652 INFO L290 TraceCheckUtils]: 16: Hoare triple {81163#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [325] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {81173#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:04:05,652 INFO L290 TraceCheckUtils]: 17: Hoare triple {81173#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {81102#false} is VALID [2022-04-28 04:04:05,652 INFO L290 TraceCheckUtils]: 18: Hoare triple {81102#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {81102#false} is VALID [2022-04-28 04:04:05,653 INFO L290 TraceCheckUtils]: 19: Hoare triple {81102#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {81102#false} is VALID [2022-04-28 04:04:05,653 INFO L290 TraceCheckUtils]: 20: Hoare triple {81102#false} assume !(~d~0 == ~SIZE~0); {81102#false} is VALID [2022-04-28 04:04:05,653 INFO L272 TraceCheckUtils]: 21: Hoare triple {81102#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {81102#false} is VALID [2022-04-28 04:04:05,653 INFO L290 TraceCheckUtils]: 22: Hoare triple {81102#false} ~cond := #in~cond; {81102#false} is VALID [2022-04-28 04:04:05,653 INFO L290 TraceCheckUtils]: 23: Hoare triple {81102#false} assume 0 == ~cond; {81102#false} is VALID [2022-04-28 04:04:05,653 INFO L290 TraceCheckUtils]: 24: Hoare triple {81102#false} assume !false; {81102#false} is VALID [2022-04-28 04:04:05,653 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:04:05,653 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:04:05,948 INFO L290 TraceCheckUtils]: 24: Hoare triple {81102#false} assume !false; {81102#false} is VALID [2022-04-28 04:04:05,948 INFO L290 TraceCheckUtils]: 23: Hoare triple {81102#false} assume 0 == ~cond; {81102#false} is VALID [2022-04-28 04:04:05,948 INFO L290 TraceCheckUtils]: 22: Hoare triple {81102#false} ~cond := #in~cond; {81102#false} is VALID [2022-04-28 04:04:05,948 INFO L272 TraceCheckUtils]: 21: Hoare triple {81102#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {81102#false} is VALID [2022-04-28 04:04:05,948 INFO L290 TraceCheckUtils]: 20: Hoare triple {81102#false} assume !(~d~0 == ~SIZE~0); {81102#false} is VALID [2022-04-28 04:04:05,948 INFO L290 TraceCheckUtils]: 19: Hoare triple {81102#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {81102#false} is VALID [2022-04-28 04:04:05,948 INFO L290 TraceCheckUtils]: 18: Hoare triple {81102#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {81102#false} is VALID [2022-04-28 04:04:05,948 INFO L290 TraceCheckUtils]: 17: Hoare triple {81219#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {81102#false} is VALID [2022-04-28 04:04:05,949 INFO L290 TraceCheckUtils]: 16: Hoare triple {81223#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [325] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {81219#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:04:05,949 INFO L290 TraceCheckUtils]: 15: Hoare triple {81223#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [328] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_756| |v_main_#t~post5_752|))) (or (and (< v_main_~c~0_1419 (+ v_~SIZE~0_520 1)) (< v_main_~c~0_1420 v_main_~c~0_1419) (< v_main_~c~0_1419 (+ v_~last~0_577 1))) (and (= v_main_~c~0_1419 v_main_~c~0_1420) (or (not (< v_main_~c~0_1420 v_~last~0_577)) (not (< v_main_~c~0_1420 v_~SIZE~0_520))) .cse0) (and (= v_main_~c~0_1420 v_main_~c~0_1419) (= v_~SIZE~0_520 v_~SIZE~0_520) .cse0 (= v_~last~0_577 v_~last~0_577)))) InVars {~SIZE~0=v_~SIZE~0_520, main_~c~0=v_main_~c~0_1420, main_#t~post5=|v_main_#t~post5_756|, ~last~0=v_~last~0_577} OutVars{~SIZE~0=v_~SIZE~0_520, main_#t~post5=|v_main_#t~post5_752|, main_~c~0=v_main_~c~0_1419, ~last~0=v_~last~0_577} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {81223#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:04:05,950 INFO L290 TraceCheckUtils]: 14: Hoare triple {81223#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [327] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {81223#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:04:05,950 INFO L290 TraceCheckUtils]: 13: Hoare triple {81233#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [326] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_766 v_main_~st~0_765)) (.cse0 (<= v_~last~0_576 v_main_~c~0_1418)) (.cse2 (= |v_main_#t~post5_753| |v_main_#t~post5_751|)) (.cse3 (= v_main_~c~0_1418 v_main_~c~0_1417))) (or (and .cse0 (< v_main_~c~0_1418 v_main_~c~0_1417) (= v_main_~st~0_765 0) (< v_main_~c~0_1417 (+ v_~SIZE~0_519 1))) (and .cse1 (= v_~SIZE~0_519 v_~SIZE~0_519) .cse2 .cse3 (= v_~last~0_576 v_~last~0_576)) (and .cse1 (or (not (< v_main_~c~0_1418 v_~SIZE~0_519)) (not .cse0)) .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_519, main_~c~0=v_main_~c~0_1418, main_#t~post5=|v_main_#t~post5_753|, main_~st~0=v_main_~st~0_766, ~last~0=v_~last~0_576} OutVars{~SIZE~0=v_~SIZE~0_519, main_#t~post5=|v_main_#t~post5_751|, main_~c~0=v_main_~c~0_1417, main_~st~0=v_main_~st~0_765, ~last~0=v_~last~0_576} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {81223#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:04:05,951 INFO L290 TraceCheckUtils]: 12: Hoare triple {81237#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {81233#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:04:05,951 INFO L290 TraceCheckUtils]: 11: Hoare triple {81237#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {81237#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:05,951 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {81101#true} {81237#(< 1 ~SIZE~0)} #86#return; {81237#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:05,951 INFO L290 TraceCheckUtils]: 9: Hoare triple {81101#true} assume true; {81101#true} is VALID [2022-04-28 04:04:05,951 INFO L290 TraceCheckUtils]: 8: Hoare triple {81101#true} assume !(0 == ~cond); {81101#true} is VALID [2022-04-28 04:04:05,951 INFO L290 TraceCheckUtils]: 7: Hoare triple {81101#true} ~cond := #in~cond; {81101#true} is VALID [2022-04-28 04:04:05,951 INFO L272 TraceCheckUtils]: 6: Hoare triple {81237#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {81101#true} is VALID [2022-04-28 04:04:05,952 INFO L290 TraceCheckUtils]: 5: Hoare triple {81237#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {81237#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:05,952 INFO L272 TraceCheckUtils]: 4: Hoare triple {81237#(< 1 ~SIZE~0)} call #t~ret7 := main(); {81237#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:05,952 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {81237#(< 1 ~SIZE~0)} {81101#true} #90#return; {81237#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:05,952 INFO L290 TraceCheckUtils]: 2: Hoare triple {81237#(< 1 ~SIZE~0)} assume true; {81237#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:05,953 INFO L290 TraceCheckUtils]: 1: Hoare triple {81101#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {81237#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:05,953 INFO L272 TraceCheckUtils]: 0: Hoare triple {81101#true} call ULTIMATE.init(); {81101#true} is VALID [2022-04-28 04:04:05,953 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:04:05,953 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1420226043] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:04:05,953 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:04:05,953 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:04:06,753 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:04:06,753 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1440830703] [2022-04-28 04:04:06,753 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1440830703] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:04:06,753 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:04:06,753 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [32] imperfect sequences [] total 32 [2022-04-28 04:04:06,754 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2016242991] [2022-04-28 04:04:06,754 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:04:06,754 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 1.53125) internal successors, (49), 30 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:04:06,754 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:04:06,754 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 32 states, 32 states have (on average 1.53125) internal successors, (49), 30 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:06,782 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:04:06,782 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2022-04-28 04:04:06,783 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:04:06,783 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-04-28 04:04:06,783 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=280, Invalid=1360, Unknown=0, NotChecked=0, Total=1640 [2022-04-28 04:04:06,783 INFO L87 Difference]: Start difference. First operand 202 states and 244 transitions. Second operand has 32 states, 32 states have (on average 1.53125) internal successors, (49), 30 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:08,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:08,969 INFO L93 Difference]: Finished difference Result 329 states and 401 transitions. [2022-04-28 04:04:08,969 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-28 04:04:08,969 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 1.53125) internal successors, (49), 30 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:04:08,970 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:04:08,970 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 1.53125) internal successors, (49), 30 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:08,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 107 transitions. [2022-04-28 04:04:08,970 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 1.53125) internal successors, (49), 30 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:08,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 107 transitions. [2022-04-28 04:04:08,971 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 107 transitions. [2022-04-28 04:04:09,019 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:04:09,022 INFO L225 Difference]: With dead ends: 329 [2022-04-28 04:04:09,022 INFO L226 Difference]: Without dead ends: 224 [2022-04-28 04:04:09,022 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 48 SyntacticMatches, 12 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 742 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=292, Invalid=1514, Unknown=0, NotChecked=0, Total=1806 [2022-04-28 04:04:09,022 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 60 mSDsluCounter, 55 mSDsCounter, 0 mSdLazyCounter, 1442 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 61 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 1453 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1442 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 04:04:09,028 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [61 Valid, 75 Invalid, 1453 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1442 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 04:04:09,028 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-04-28 04:04:09,607 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 202. [2022-04-28 04:04:09,607 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:04:09,607 INFO L82 GeneralOperation]: Start isEquivalent. First operand 224 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:09,608 INFO L74 IsIncluded]: Start isIncluded. First operand 224 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:09,608 INFO L87 Difference]: Start difference. First operand 224 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:09,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:09,610 INFO L93 Difference]: Finished difference Result 224 states and 268 transitions. [2022-04-28 04:04:09,610 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 268 transitions. [2022-04-28 04:04:09,610 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:04:09,610 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:04:09,611 INFO L74 IsIncluded]: Start isIncluded. First operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 224 states. [2022-04-28 04:04:09,611 INFO L87 Difference]: Start difference. First operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 224 states. [2022-04-28 04:04:09,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:09,613 INFO L93 Difference]: Finished difference Result 224 states and 268 transitions. [2022-04-28 04:04:09,613 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 268 transitions. [2022-04-28 04:04:09,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:04:09,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:04:09,614 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:04:09,614 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:04:09,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:09,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 244 transitions. [2022-04-28 04:04:09,616 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 244 transitions. Word has length 55 [2022-04-28 04:04:09,616 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:04:09,616 INFO L495 AbstractCegarLoop]: Abstraction has 202 states and 244 transitions. [2022-04-28 04:04:09,616 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 32 states, 32 states have (on average 1.53125) internal successors, (49), 30 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:09,616 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 202 states and 244 transitions. [2022-04-28 04:04:10,500 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 244 edges. 244 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:04:10,500 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 244 transitions. [2022-04-28 04:04:10,501 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 04:04:10,501 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:04:10,501 INFO L195 NwaCegarLoop]: trace histogram [11, 11, 9, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:04:10,517 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (57)] Forceful destruction successful, exit code 0 [2022-04-28 04:04:10,715 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable63,57 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:04:10,715 INFO L420 AbstractCegarLoop]: === Iteration 65 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:04:10,716 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:04:10,716 INFO L85 PathProgramCache]: Analyzing trace with hash -2080205825, now seen corresponding path program 54 times [2022-04-28 04:04:10,716 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:04:10,716 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1026357566] [2022-04-28 04:04:10,865 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:04:11,040 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:04:11,041 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:04:11,043 INFO L85 PathProgramCache]: Analyzing trace with hash -707334079, now seen corresponding path program 1 times [2022-04-28 04:04:11,043 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:04:11,043 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1934363859] [2022-04-28 04:04:11,043 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:04:11,044 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:04:11,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:11,256 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:04:11,257 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:11,261 INFO L290 TraceCheckUtils]: 0: Hoare triple {82831#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,261 INFO L290 TraceCheckUtils]: 1: Hoare triple {82818#(<= 20 ~SIZE~0)} assume true; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,261 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {82818#(<= 20 ~SIZE~0)} {82813#true} #90#return; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,261 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:04:11,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:11,263 INFO L290 TraceCheckUtils]: 0: Hoare triple {82813#true} ~cond := #in~cond; {82813#true} is VALID [2022-04-28 04:04:11,263 INFO L290 TraceCheckUtils]: 1: Hoare triple {82813#true} assume !(0 == ~cond); {82813#true} is VALID [2022-04-28 04:04:11,263 INFO L290 TraceCheckUtils]: 2: Hoare triple {82813#true} assume true; {82813#true} is VALID [2022-04-28 04:04:11,264 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {82813#true} {82818#(<= 20 ~SIZE~0)} #86#return; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,264 INFO L272 TraceCheckUtils]: 0: Hoare triple {82813#true} call ULTIMATE.init(); {82831#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:04:11,265 INFO L290 TraceCheckUtils]: 1: Hoare triple {82831#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {82818#(<= 20 ~SIZE~0)} assume true; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,265 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {82818#(<= 20 ~SIZE~0)} {82813#true} #90#return; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,266 INFO L272 TraceCheckUtils]: 4: Hoare triple {82818#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,266 INFO L290 TraceCheckUtils]: 5: Hoare triple {82818#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,266 INFO L272 TraceCheckUtils]: 6: Hoare triple {82818#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {82813#true} is VALID [2022-04-28 04:04:11,266 INFO L290 TraceCheckUtils]: 7: Hoare triple {82813#true} ~cond := #in~cond; {82813#true} is VALID [2022-04-28 04:04:11,266 INFO L290 TraceCheckUtils]: 8: Hoare triple {82813#true} assume !(0 == ~cond); {82813#true} is VALID [2022-04-28 04:04:11,266 INFO L290 TraceCheckUtils]: 9: Hoare triple {82813#true} assume true; {82813#true} is VALID [2022-04-28 04:04:11,267 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {82813#true} {82818#(<= 20 ~SIZE~0)} #86#return; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,267 INFO L290 TraceCheckUtils]: 11: Hoare triple {82818#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {82823#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:04:11,267 INFO L290 TraceCheckUtils]: 12: Hoare triple {82823#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {82824#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:04:11,268 INFO L290 TraceCheckUtils]: 13: Hoare triple {82824#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [330] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_778 v_main_~st~0_777)) (.cse1 (= |v_main_#t~post5_766| |v_main_#t~post5_764|)) (.cse2 (<= v_~last~0_586 v_main_~c~0_1446))) (or (and (= v_main_~c~0_1446 v_main_~c~0_1445) .cse0 (= v_~SIZE~0_528 v_~SIZE~0_528) (= v_~last~0_586 v_~last~0_586) .cse1) (and (< v_main_~c~0_1446 v_main_~c~0_1445) .cse2 (= v_main_~st~0_777 0) (< v_main_~c~0_1445 (+ v_~SIZE~0_528 1))) (and .cse0 (= v_main_~c~0_1445 v_main_~c~0_1446) .cse1 (or (not (< v_main_~c~0_1446 v_~SIZE~0_528)) (not .cse2))))) InVars {~SIZE~0=v_~SIZE~0_528, main_~c~0=v_main_~c~0_1446, main_#t~post5=|v_main_#t~post5_766|, main_~st~0=v_main_~st~0_778, ~last~0=v_~last~0_586} OutVars{~SIZE~0=v_~SIZE~0_528, main_#t~post5=|v_main_#t~post5_764|, main_~c~0=v_main_~c~0_1445, main_~st~0=v_main_~st~0_777, ~last~0=v_~last~0_586} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {82825#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:04:11,268 INFO L290 TraceCheckUtils]: 14: Hoare triple {82825#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [331] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {82825#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:04:11,269 INFO L290 TraceCheckUtils]: 15: Hoare triple {82825#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [332] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_769| |v_main_#t~post5_765|)) (.cse1 (= v_main_~c~0_1448 v_main_~c~0_1447))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_1448 v_~last~0_587)) (not (< v_main_~c~0_1448 v_~SIZE~0_529)))) (and .cse0 .cse1 (= v_~SIZE~0_529 v_~SIZE~0_529) (= v_~last~0_587 v_~last~0_587)) (and (< v_main_~c~0_1448 v_main_~c~0_1447) (< v_main_~c~0_1447 (+ v_~SIZE~0_529 1)) (< v_main_~c~0_1447 (+ v_~last~0_587 1))))) InVars {~SIZE~0=v_~SIZE~0_529, main_~c~0=v_main_~c~0_1448, main_#t~post5=|v_main_#t~post5_769|, ~last~0=v_~last~0_587} OutVars{~SIZE~0=v_~SIZE~0_529, main_#t~post5=|v_main_#t~post5_765|, main_~c~0=v_main_~c~0_1447, ~last~0=v_~last~0_587} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {82825#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:04:11,270 INFO L290 TraceCheckUtils]: 16: Hoare triple {82825#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [329] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {82826#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:04:11,270 INFO L290 TraceCheckUtils]: 17: Hoare triple {82826#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {82827#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:11,271 INFO L290 TraceCheckUtils]: 18: Hoare triple {82827#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {82827#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:11,271 INFO L290 TraceCheckUtils]: 19: Hoare triple {82827#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {82828#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:11,272 INFO L290 TraceCheckUtils]: 20: Hoare triple {82828#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {82828#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:11,272 INFO L272 TraceCheckUtils]: 21: Hoare triple {82828#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {82829#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:04:11,273 INFO L290 TraceCheckUtils]: 22: Hoare triple {82829#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {82830#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:04:11,273 INFO L290 TraceCheckUtils]: 23: Hoare triple {82830#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {82814#false} is VALID [2022-04-28 04:04:11,273 INFO L290 TraceCheckUtils]: 24: Hoare triple {82814#false} assume !false; {82814#false} is VALID [2022-04-28 04:04:11,273 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:04:11,273 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:04:11,273 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1934363859] [2022-04-28 04:04:11,274 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1934363859] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:04:11,274 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1046445437] [2022-04-28 04:04:11,274 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:04:11,274 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:04:11,274 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:04:11,275 INFO L229 MonitoredProcess]: Starting monitored process 58 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:04:11,275 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (58)] Waiting until timeout for monitored process [2022-04-28 04:04:11,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:11,309 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:04:11,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:11,315 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:04:11,580 INFO L272 TraceCheckUtils]: 0: Hoare triple {82813#true} call ULTIMATE.init(); {82813#true} is VALID [2022-04-28 04:04:11,580 INFO L290 TraceCheckUtils]: 1: Hoare triple {82813#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,581 INFO L290 TraceCheckUtils]: 2: Hoare triple {82818#(<= 20 ~SIZE~0)} assume true; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,581 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {82818#(<= 20 ~SIZE~0)} {82813#true} #90#return; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,581 INFO L272 TraceCheckUtils]: 4: Hoare triple {82818#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,581 INFO L290 TraceCheckUtils]: 5: Hoare triple {82818#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,582 INFO L272 TraceCheckUtils]: 6: Hoare triple {82818#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,582 INFO L290 TraceCheckUtils]: 7: Hoare triple {82818#(<= 20 ~SIZE~0)} ~cond := #in~cond; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,582 INFO L290 TraceCheckUtils]: 8: Hoare triple {82818#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,582 INFO L290 TraceCheckUtils]: 9: Hoare triple {82818#(<= 20 ~SIZE~0)} assume true; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,583 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {82818#(<= 20 ~SIZE~0)} {82818#(<= 20 ~SIZE~0)} #86#return; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,583 INFO L290 TraceCheckUtils]: 11: Hoare triple {82818#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:11,583 INFO L290 TraceCheckUtils]: 12: Hoare triple {82818#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {82871#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:04:11,584 INFO L290 TraceCheckUtils]: 13: Hoare triple {82871#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [330] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_778 v_main_~st~0_777)) (.cse1 (= |v_main_#t~post5_766| |v_main_#t~post5_764|)) (.cse2 (<= v_~last~0_586 v_main_~c~0_1446))) (or (and (= v_main_~c~0_1446 v_main_~c~0_1445) .cse0 (= v_~SIZE~0_528 v_~SIZE~0_528) (= v_~last~0_586 v_~last~0_586) .cse1) (and (< v_main_~c~0_1446 v_main_~c~0_1445) .cse2 (= v_main_~st~0_777 0) (< v_main_~c~0_1445 (+ v_~SIZE~0_528 1))) (and .cse0 (= v_main_~c~0_1445 v_main_~c~0_1446) .cse1 (or (not (< v_main_~c~0_1446 v_~SIZE~0_528)) (not .cse2))))) InVars {~SIZE~0=v_~SIZE~0_528, main_~c~0=v_main_~c~0_1446, main_#t~post5=|v_main_#t~post5_766|, main_~st~0=v_main_~st~0_778, ~last~0=v_~last~0_586} OutVars{~SIZE~0=v_~SIZE~0_528, main_#t~post5=|v_main_#t~post5_764|, main_~c~0=v_main_~c~0_1445, main_~st~0=v_main_~st~0_777, ~last~0=v_~last~0_586} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {82875#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:04:11,584 INFO L290 TraceCheckUtils]: 14: Hoare triple {82875#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [331] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {82875#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:04:11,585 INFO L290 TraceCheckUtils]: 15: Hoare triple {82875#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [332] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_769| |v_main_#t~post5_765|)) (.cse1 (= v_main_~c~0_1448 v_main_~c~0_1447))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_1448 v_~last~0_587)) (not (< v_main_~c~0_1448 v_~SIZE~0_529)))) (and .cse0 .cse1 (= v_~SIZE~0_529 v_~SIZE~0_529) (= v_~last~0_587 v_~last~0_587)) (and (< v_main_~c~0_1448 v_main_~c~0_1447) (< v_main_~c~0_1447 (+ v_~SIZE~0_529 1)) (< v_main_~c~0_1447 (+ v_~last~0_587 1))))) InVars {~SIZE~0=v_~SIZE~0_529, main_~c~0=v_main_~c~0_1448, main_#t~post5=|v_main_#t~post5_769|, ~last~0=v_~last~0_587} OutVars{~SIZE~0=v_~SIZE~0_529, main_#t~post5=|v_main_#t~post5_765|, main_~c~0=v_main_~c~0_1447, ~last~0=v_~last~0_587} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {82875#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:04:11,585 INFO L290 TraceCheckUtils]: 16: Hoare triple {82875#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [329] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {82885#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:04:11,586 INFO L290 TraceCheckUtils]: 17: Hoare triple {82885#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {82814#false} is VALID [2022-04-28 04:04:11,586 INFO L290 TraceCheckUtils]: 18: Hoare triple {82814#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {82814#false} is VALID [2022-04-28 04:04:11,586 INFO L290 TraceCheckUtils]: 19: Hoare triple {82814#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {82814#false} is VALID [2022-04-28 04:04:11,586 INFO L290 TraceCheckUtils]: 20: Hoare triple {82814#false} assume !(~d~0 == ~SIZE~0); {82814#false} is VALID [2022-04-28 04:04:11,586 INFO L272 TraceCheckUtils]: 21: Hoare triple {82814#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {82814#false} is VALID [2022-04-28 04:04:11,586 INFO L290 TraceCheckUtils]: 22: Hoare triple {82814#false} ~cond := #in~cond; {82814#false} is VALID [2022-04-28 04:04:11,586 INFO L290 TraceCheckUtils]: 23: Hoare triple {82814#false} assume 0 == ~cond; {82814#false} is VALID [2022-04-28 04:04:11,586 INFO L290 TraceCheckUtils]: 24: Hoare triple {82814#false} assume !false; {82814#false} is VALID [2022-04-28 04:04:11,586 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:04:11,586 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:04:11,809 INFO L290 TraceCheckUtils]: 24: Hoare triple {82814#false} assume !false; {82814#false} is VALID [2022-04-28 04:04:11,809 INFO L290 TraceCheckUtils]: 23: Hoare triple {82814#false} assume 0 == ~cond; {82814#false} is VALID [2022-04-28 04:04:11,809 INFO L290 TraceCheckUtils]: 22: Hoare triple {82814#false} ~cond := #in~cond; {82814#false} is VALID [2022-04-28 04:04:11,809 INFO L272 TraceCheckUtils]: 21: Hoare triple {82814#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {82814#false} is VALID [2022-04-28 04:04:11,809 INFO L290 TraceCheckUtils]: 20: Hoare triple {82814#false} assume !(~d~0 == ~SIZE~0); {82814#false} is VALID [2022-04-28 04:04:11,809 INFO L290 TraceCheckUtils]: 19: Hoare triple {82814#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {82814#false} is VALID [2022-04-28 04:04:11,809 INFO L290 TraceCheckUtils]: 18: Hoare triple {82814#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {82814#false} is VALID [2022-04-28 04:04:11,810 INFO L290 TraceCheckUtils]: 17: Hoare triple {82931#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {82814#false} is VALID [2022-04-28 04:04:11,810 INFO L290 TraceCheckUtils]: 16: Hoare triple {82935#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [329] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {82931#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:04:11,810 INFO L290 TraceCheckUtils]: 15: Hoare triple {82935#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [332] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_769| |v_main_#t~post5_765|)) (.cse1 (= v_main_~c~0_1448 v_main_~c~0_1447))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_1448 v_~last~0_587)) (not (< v_main_~c~0_1448 v_~SIZE~0_529)))) (and .cse0 .cse1 (= v_~SIZE~0_529 v_~SIZE~0_529) (= v_~last~0_587 v_~last~0_587)) (and (< v_main_~c~0_1448 v_main_~c~0_1447) (< v_main_~c~0_1447 (+ v_~SIZE~0_529 1)) (< v_main_~c~0_1447 (+ v_~last~0_587 1))))) InVars {~SIZE~0=v_~SIZE~0_529, main_~c~0=v_main_~c~0_1448, main_#t~post5=|v_main_#t~post5_769|, ~last~0=v_~last~0_587} OutVars{~SIZE~0=v_~SIZE~0_529, main_#t~post5=|v_main_#t~post5_765|, main_~c~0=v_main_~c~0_1447, ~last~0=v_~last~0_587} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {82935#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:04:11,811 INFO L290 TraceCheckUtils]: 14: Hoare triple {82935#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [331] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {82935#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:04:11,811 INFO L290 TraceCheckUtils]: 13: Hoare triple {82945#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [330] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_778 v_main_~st~0_777)) (.cse1 (= |v_main_#t~post5_766| |v_main_#t~post5_764|)) (.cse2 (<= v_~last~0_586 v_main_~c~0_1446))) (or (and (= v_main_~c~0_1446 v_main_~c~0_1445) .cse0 (= v_~SIZE~0_528 v_~SIZE~0_528) (= v_~last~0_586 v_~last~0_586) .cse1) (and (< v_main_~c~0_1446 v_main_~c~0_1445) .cse2 (= v_main_~st~0_777 0) (< v_main_~c~0_1445 (+ v_~SIZE~0_528 1))) (and .cse0 (= v_main_~c~0_1445 v_main_~c~0_1446) .cse1 (or (not (< v_main_~c~0_1446 v_~SIZE~0_528)) (not .cse2))))) InVars {~SIZE~0=v_~SIZE~0_528, main_~c~0=v_main_~c~0_1446, main_#t~post5=|v_main_#t~post5_766|, main_~st~0=v_main_~st~0_778, ~last~0=v_~last~0_586} OutVars{~SIZE~0=v_~SIZE~0_528, main_#t~post5=|v_main_#t~post5_764|, main_~c~0=v_main_~c~0_1445, main_~st~0=v_main_~st~0_777, ~last~0=v_~last~0_586} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {82935#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:04:11,811 INFO L290 TraceCheckUtils]: 12: Hoare triple {82949#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {82945#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:04:11,812 INFO L290 TraceCheckUtils]: 11: Hoare triple {82949#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {82949#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:11,812 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {82813#true} {82949#(< 1 ~SIZE~0)} #86#return; {82949#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:11,812 INFO L290 TraceCheckUtils]: 9: Hoare triple {82813#true} assume true; {82813#true} is VALID [2022-04-28 04:04:11,812 INFO L290 TraceCheckUtils]: 8: Hoare triple {82813#true} assume !(0 == ~cond); {82813#true} is VALID [2022-04-28 04:04:11,812 INFO L290 TraceCheckUtils]: 7: Hoare triple {82813#true} ~cond := #in~cond; {82813#true} is VALID [2022-04-28 04:04:11,812 INFO L272 TraceCheckUtils]: 6: Hoare triple {82949#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {82813#true} is VALID [2022-04-28 04:04:11,812 INFO L290 TraceCheckUtils]: 5: Hoare triple {82949#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {82949#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:11,813 INFO L272 TraceCheckUtils]: 4: Hoare triple {82949#(< 1 ~SIZE~0)} call #t~ret7 := main(); {82949#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:11,813 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {82949#(< 1 ~SIZE~0)} {82813#true} #90#return; {82949#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:11,813 INFO L290 TraceCheckUtils]: 2: Hoare triple {82949#(< 1 ~SIZE~0)} assume true; {82949#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:11,813 INFO L290 TraceCheckUtils]: 1: Hoare triple {82813#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {82949#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:11,813 INFO L272 TraceCheckUtils]: 0: Hoare triple {82813#true} call ULTIMATE.init(); {82813#true} is VALID [2022-04-28 04:04:11,814 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:04:11,814 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1046445437] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:04:11,814 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:04:11,814 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:04:12,727 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:04:12,727 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1026357566] [2022-04-28 04:04:12,728 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1026357566] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:04:12,728 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:04:12,728 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [33] imperfect sequences [] total 33 [2022-04-28 04:04:12,728 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [498682170] [2022-04-28 04:04:12,728 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:04:12,729 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.4848484848484849) internal successors, (49), 31 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:04:12,729 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:04:12,729 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 33 states, 33 states have (on average 1.4848484848484849) internal successors, (49), 31 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:12,770 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:04:12,770 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-28 04:04:12,770 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:04:12,771 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-28 04:04:12,771 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=294, Invalid=1428, Unknown=0, NotChecked=0, Total=1722 [2022-04-28 04:04:12,772 INFO L87 Difference]: Start difference. First operand 202 states and 244 transitions. Second operand has 33 states, 33 states have (on average 1.4848484848484849) internal successors, (49), 31 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:14,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:14,909 INFO L93 Difference]: Finished difference Result 327 states and 399 transitions. [2022-04-28 04:04:14,909 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-04-28 04:04:14,910 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.4848484848484849) internal successors, (49), 31 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:04:14,910 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:04:14,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.4848484848484849) internal successors, (49), 31 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:14,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 108 transitions. [2022-04-28 04:04:14,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.4848484848484849) internal successors, (49), 31 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:14,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 108 transitions. [2022-04-28 04:04:14,911 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 108 transitions. [2022-04-28 04:04:14,964 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:04:14,967 INFO L225 Difference]: With dead ends: 327 [2022-04-28 04:04:14,967 INFO L226 Difference]: Without dead ends: 222 [2022-04-28 04:04:14,967 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 48 SyntacticMatches, 11 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 732 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=306, Invalid=1586, Unknown=0, NotChecked=0, Total=1892 [2022-04-28 04:04:14,967 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 63 mSDsluCounter, 36 mSDsCounter, 0 mSdLazyCounter, 1331 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 64 SdHoareTripleChecker+Valid, 56 SdHoareTripleChecker+Invalid, 1341 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1331 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 04:04:14,967 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [64 Valid, 56 Invalid, 1341 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1331 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 04:04:14,972 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 222 states. [2022-04-28 04:04:15,510 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 222 to 202. [2022-04-28 04:04:15,510 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:04:15,511 INFO L82 GeneralOperation]: Start isEquivalent. First operand 222 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:15,511 INFO L74 IsIncluded]: Start isIncluded. First operand 222 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:15,511 INFO L87 Difference]: Start difference. First operand 222 states. Second operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:15,513 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:15,513 INFO L93 Difference]: Finished difference Result 222 states and 266 transitions. [2022-04-28 04:04:15,513 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 266 transitions. [2022-04-28 04:04:15,514 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:04:15,514 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:04:15,514 INFO L74 IsIncluded]: Start isIncluded. First operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 222 states. [2022-04-28 04:04:15,514 INFO L87 Difference]: Start difference. First operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 222 states. [2022-04-28 04:04:15,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:15,516 INFO L93 Difference]: Finished difference Result 222 states and 266 transitions. [2022-04-28 04:04:15,516 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 266 transitions. [2022-04-28 04:04:15,516 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:04:15,517 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:04:15,517 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:04:15,517 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:04:15,517 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 202 states, 187 states have (on average 1.213903743315508) internal successors, (227), 190 states have internal predecessors, (227), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:15,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 244 transitions. [2022-04-28 04:04:15,519 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 244 transitions. Word has length 55 [2022-04-28 04:04:15,520 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:04:15,520 INFO L495 AbstractCegarLoop]: Abstraction has 202 states and 244 transitions. [2022-04-28 04:04:15,520 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 33 states have (on average 1.4848484848484849) internal successors, (49), 31 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:15,520 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 202 states and 244 transitions. [2022-04-28 04:04:16,408 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 244 edges. 244 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:04:16,408 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 244 transitions. [2022-04-28 04:04:16,408 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 04:04:16,408 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:04:16,408 INFO L195 NwaCegarLoop]: trace histogram [11, 11, 10, 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:04:16,424 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (58)] Forceful destruction successful, exit code 0 [2022-04-28 04:04:16,621 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 58 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable64 [2022-04-28 04:04:16,621 INFO L420 AbstractCegarLoop]: === Iteration 66 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:04:16,622 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:04:16,622 INFO L85 PathProgramCache]: Analyzing trace with hash 1203644221, now seen corresponding path program 55 times [2022-04-28 04:04:16,622 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:04:16,622 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [157690144] [2022-04-28 04:04:20,749 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:04:20,847 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:04:21,097 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:04:21,099 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:04:21,103 INFO L85 PathProgramCache]: Analyzing trace with hash 1785188673, now seen corresponding path program 1 times [2022-04-28 04:04:21,104 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:04:21,104 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [558907033] [2022-04-28 04:04:21,104 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:04:21,104 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:04:21,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:21,276 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:04:21,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:21,293 INFO L290 TraceCheckUtils]: 0: Hoare triple {84536#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,294 INFO L290 TraceCheckUtils]: 1: Hoare triple {84523#(<= 20 ~SIZE~0)} assume true; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,294 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {84523#(<= 20 ~SIZE~0)} {84518#true} #90#return; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,294 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:04:21,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:21,296 INFO L290 TraceCheckUtils]: 0: Hoare triple {84518#true} ~cond := #in~cond; {84518#true} is VALID [2022-04-28 04:04:21,296 INFO L290 TraceCheckUtils]: 1: Hoare triple {84518#true} assume !(0 == ~cond); {84518#true} is VALID [2022-04-28 04:04:21,296 INFO L290 TraceCheckUtils]: 2: Hoare triple {84518#true} assume true; {84518#true} is VALID [2022-04-28 04:04:21,297 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84518#true} {84523#(<= 20 ~SIZE~0)} #86#return; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,297 INFO L272 TraceCheckUtils]: 0: Hoare triple {84518#true} call ULTIMATE.init(); {84536#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:04:21,298 INFO L290 TraceCheckUtils]: 1: Hoare triple {84536#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,298 INFO L290 TraceCheckUtils]: 2: Hoare triple {84523#(<= 20 ~SIZE~0)} assume true; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,298 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84523#(<= 20 ~SIZE~0)} {84518#true} #90#return; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,298 INFO L272 TraceCheckUtils]: 4: Hoare triple {84523#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,299 INFO L290 TraceCheckUtils]: 5: Hoare triple {84523#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,299 INFO L272 TraceCheckUtils]: 6: Hoare triple {84523#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {84518#true} is VALID [2022-04-28 04:04:21,299 INFO L290 TraceCheckUtils]: 7: Hoare triple {84518#true} ~cond := #in~cond; {84518#true} is VALID [2022-04-28 04:04:21,299 INFO L290 TraceCheckUtils]: 8: Hoare triple {84518#true} assume !(0 == ~cond); {84518#true} is VALID [2022-04-28 04:04:21,299 INFO L290 TraceCheckUtils]: 9: Hoare triple {84518#true} assume true; {84518#true} is VALID [2022-04-28 04:04:21,299 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {84518#true} {84523#(<= 20 ~SIZE~0)} #86#return; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,300 INFO L290 TraceCheckUtils]: 11: Hoare triple {84523#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {84528#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:04:21,300 INFO L290 TraceCheckUtils]: 12: Hoare triple {84528#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {84529#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:04:21,301 INFO L290 TraceCheckUtils]: 13: Hoare triple {84529#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [334] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_789 v_main_~st~0_788)) (.cse1 (= |v_main_#t~post5_779| |v_main_#t~post5_777|)) (.cse2 (= v_main_~c~0_1474 v_main_~c~0_1473)) (.cse3 (<= v_~last~0_596 v_main_~c~0_1474))) (or (and .cse0 .cse1 .cse2 (or (not (< v_main_~c~0_1474 v_~SIZE~0_537)) (not .cse3))) (and (= v_~last~0_596 v_~last~0_596) .cse0 .cse1 .cse2 (= v_~SIZE~0_537 v_~SIZE~0_537)) (and (= v_main_~st~0_788 0) .cse3 (< v_main_~c~0_1474 v_main_~c~0_1473) (< v_main_~c~0_1473 (+ v_~SIZE~0_537 1))))) InVars {~SIZE~0=v_~SIZE~0_537, main_~c~0=v_main_~c~0_1474, main_#t~post5=|v_main_#t~post5_779|, main_~st~0=v_main_~st~0_789, ~last~0=v_~last~0_596} OutVars{~SIZE~0=v_~SIZE~0_537, main_#t~post5=|v_main_#t~post5_777|, main_~c~0=v_main_~c~0_1473, main_~st~0=v_main_~st~0_788, ~last~0=v_~last~0_596} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {84530#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:04:21,301 INFO L290 TraceCheckUtils]: 14: Hoare triple {84530#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [335] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {84530#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:04:21,302 INFO L290 TraceCheckUtils]: 15: Hoare triple {84530#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [336] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1476 v_main_~c~0_1475))) (or (and .cse0 (= |v_main_#t~post5_782| |v_main_#t~post5_778|) (= v_~last~0_597 v_~last~0_597) (= v_~SIZE~0_538 v_~SIZE~0_538)) (and (< v_main_~c~0_1475 (+ v_~last~0_597 1)) (< v_main_~c~0_1475 (+ v_~SIZE~0_538 1)) (< v_main_~c~0_1476 v_main_~c~0_1475)) (and (or (not (< v_main_~c~0_1476 v_~last~0_597)) (not (< v_main_~c~0_1476 v_~SIZE~0_538))) .cse0 (= |v_main_#t~post5_778| |v_main_#t~post5_782|)))) InVars {~SIZE~0=v_~SIZE~0_538, main_~c~0=v_main_~c~0_1476, main_#t~post5=|v_main_#t~post5_782|, ~last~0=v_~last~0_597} OutVars{~SIZE~0=v_~SIZE~0_538, main_#t~post5=|v_main_#t~post5_778|, main_~c~0=v_main_~c~0_1475, ~last~0=v_~last~0_597} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {84530#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:04:21,303 INFO L290 TraceCheckUtils]: 16: Hoare triple {84530#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [333] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {84531#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:04:21,303 INFO L290 TraceCheckUtils]: 17: Hoare triple {84531#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {84532#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:21,304 INFO L290 TraceCheckUtils]: 18: Hoare triple {84532#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {84532#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:21,304 INFO L290 TraceCheckUtils]: 19: Hoare triple {84532#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {84533#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:21,305 INFO L290 TraceCheckUtils]: 20: Hoare triple {84533#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {84533#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:21,305 INFO L272 TraceCheckUtils]: 21: Hoare triple {84533#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {84534#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:04:21,306 INFO L290 TraceCheckUtils]: 22: Hoare triple {84534#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {84535#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:04:21,306 INFO L290 TraceCheckUtils]: 23: Hoare triple {84535#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {84519#false} is VALID [2022-04-28 04:04:21,306 INFO L290 TraceCheckUtils]: 24: Hoare triple {84519#false} assume !false; {84519#false} is VALID [2022-04-28 04:04:21,306 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:04:21,306 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:04:21,306 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [558907033] [2022-04-28 04:04:21,306 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [558907033] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:04:21,306 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1919816795] [2022-04-28 04:04:21,306 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:04:21,307 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:04:21,307 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:04:21,309 INFO L229 MonitoredProcess]: Starting monitored process 59 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:04:21,309 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (59)] Waiting until timeout for monitored process [2022-04-28 04:04:21,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:21,339 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:04:21,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:21,347 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:04:21,606 INFO L272 TraceCheckUtils]: 0: Hoare triple {84518#true} call ULTIMATE.init(); {84518#true} is VALID [2022-04-28 04:04:21,607 INFO L290 TraceCheckUtils]: 1: Hoare triple {84518#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,607 INFO L290 TraceCheckUtils]: 2: Hoare triple {84523#(<= 20 ~SIZE~0)} assume true; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,608 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84523#(<= 20 ~SIZE~0)} {84518#true} #90#return; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,608 INFO L272 TraceCheckUtils]: 4: Hoare triple {84523#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,608 INFO L290 TraceCheckUtils]: 5: Hoare triple {84523#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,609 INFO L272 TraceCheckUtils]: 6: Hoare triple {84523#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,609 INFO L290 TraceCheckUtils]: 7: Hoare triple {84523#(<= 20 ~SIZE~0)} ~cond := #in~cond; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,609 INFO L290 TraceCheckUtils]: 8: Hoare triple {84523#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,610 INFO L290 TraceCheckUtils]: 9: Hoare triple {84523#(<= 20 ~SIZE~0)} assume true; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,610 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {84523#(<= 20 ~SIZE~0)} {84523#(<= 20 ~SIZE~0)} #86#return; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,610 INFO L290 TraceCheckUtils]: 11: Hoare triple {84523#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:21,611 INFO L290 TraceCheckUtils]: 12: Hoare triple {84523#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {84576#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:04:21,611 INFO L290 TraceCheckUtils]: 13: Hoare triple {84576#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [334] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_789 v_main_~st~0_788)) (.cse1 (= |v_main_#t~post5_779| |v_main_#t~post5_777|)) (.cse2 (= v_main_~c~0_1474 v_main_~c~0_1473)) (.cse3 (<= v_~last~0_596 v_main_~c~0_1474))) (or (and .cse0 .cse1 .cse2 (or (not (< v_main_~c~0_1474 v_~SIZE~0_537)) (not .cse3))) (and (= v_~last~0_596 v_~last~0_596) .cse0 .cse1 .cse2 (= v_~SIZE~0_537 v_~SIZE~0_537)) (and (= v_main_~st~0_788 0) .cse3 (< v_main_~c~0_1474 v_main_~c~0_1473) (< v_main_~c~0_1473 (+ v_~SIZE~0_537 1))))) InVars {~SIZE~0=v_~SIZE~0_537, main_~c~0=v_main_~c~0_1474, main_#t~post5=|v_main_#t~post5_779|, main_~st~0=v_main_~st~0_789, ~last~0=v_~last~0_596} OutVars{~SIZE~0=v_~SIZE~0_537, main_#t~post5=|v_main_#t~post5_777|, main_~c~0=v_main_~c~0_1473, main_~st~0=v_main_~st~0_788, ~last~0=v_~last~0_596} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {84580#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:04:21,612 INFO L290 TraceCheckUtils]: 14: Hoare triple {84580#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [335] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {84580#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:04:21,613 INFO L290 TraceCheckUtils]: 15: Hoare triple {84580#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [336] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1476 v_main_~c~0_1475))) (or (and .cse0 (= |v_main_#t~post5_782| |v_main_#t~post5_778|) (= v_~last~0_597 v_~last~0_597) (= v_~SIZE~0_538 v_~SIZE~0_538)) (and (< v_main_~c~0_1475 (+ v_~last~0_597 1)) (< v_main_~c~0_1475 (+ v_~SIZE~0_538 1)) (< v_main_~c~0_1476 v_main_~c~0_1475)) (and (or (not (< v_main_~c~0_1476 v_~last~0_597)) (not (< v_main_~c~0_1476 v_~SIZE~0_538))) .cse0 (= |v_main_#t~post5_778| |v_main_#t~post5_782|)))) InVars {~SIZE~0=v_~SIZE~0_538, main_~c~0=v_main_~c~0_1476, main_#t~post5=|v_main_#t~post5_782|, ~last~0=v_~last~0_597} OutVars{~SIZE~0=v_~SIZE~0_538, main_#t~post5=|v_main_#t~post5_778|, main_~c~0=v_main_~c~0_1475, ~last~0=v_~last~0_597} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {84580#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:04:21,613 INFO L290 TraceCheckUtils]: 16: Hoare triple {84580#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [333] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {84590#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:04:21,614 INFO L290 TraceCheckUtils]: 17: Hoare triple {84590#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {84519#false} is VALID [2022-04-28 04:04:21,614 INFO L290 TraceCheckUtils]: 18: Hoare triple {84519#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {84519#false} is VALID [2022-04-28 04:04:21,614 INFO L290 TraceCheckUtils]: 19: Hoare triple {84519#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {84519#false} is VALID [2022-04-28 04:04:21,614 INFO L290 TraceCheckUtils]: 20: Hoare triple {84519#false} assume !(~d~0 == ~SIZE~0); {84519#false} is VALID [2022-04-28 04:04:21,614 INFO L272 TraceCheckUtils]: 21: Hoare triple {84519#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {84519#false} is VALID [2022-04-28 04:04:21,614 INFO L290 TraceCheckUtils]: 22: Hoare triple {84519#false} ~cond := #in~cond; {84519#false} is VALID [2022-04-28 04:04:21,614 INFO L290 TraceCheckUtils]: 23: Hoare triple {84519#false} assume 0 == ~cond; {84519#false} is VALID [2022-04-28 04:04:21,614 INFO L290 TraceCheckUtils]: 24: Hoare triple {84519#false} assume !false; {84519#false} is VALID [2022-04-28 04:04:21,614 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:04:21,614 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:04:21,895 INFO L290 TraceCheckUtils]: 24: Hoare triple {84519#false} assume !false; {84519#false} is VALID [2022-04-28 04:04:21,895 INFO L290 TraceCheckUtils]: 23: Hoare triple {84519#false} assume 0 == ~cond; {84519#false} is VALID [2022-04-28 04:04:21,895 INFO L290 TraceCheckUtils]: 22: Hoare triple {84519#false} ~cond := #in~cond; {84519#false} is VALID [2022-04-28 04:04:21,895 INFO L272 TraceCheckUtils]: 21: Hoare triple {84519#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {84519#false} is VALID [2022-04-28 04:04:21,895 INFO L290 TraceCheckUtils]: 20: Hoare triple {84519#false} assume !(~d~0 == ~SIZE~0); {84519#false} is VALID [2022-04-28 04:04:21,895 INFO L290 TraceCheckUtils]: 19: Hoare triple {84519#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {84519#false} is VALID [2022-04-28 04:04:21,895 INFO L290 TraceCheckUtils]: 18: Hoare triple {84519#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {84519#false} is VALID [2022-04-28 04:04:21,896 INFO L290 TraceCheckUtils]: 17: Hoare triple {84636#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {84519#false} is VALID [2022-04-28 04:04:21,896 INFO L290 TraceCheckUtils]: 16: Hoare triple {84640#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [333] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {84636#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:04:21,897 INFO L290 TraceCheckUtils]: 15: Hoare triple {84640#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [336] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1476 v_main_~c~0_1475))) (or (and .cse0 (= |v_main_#t~post5_782| |v_main_#t~post5_778|) (= v_~last~0_597 v_~last~0_597) (= v_~SIZE~0_538 v_~SIZE~0_538)) (and (< v_main_~c~0_1475 (+ v_~last~0_597 1)) (< v_main_~c~0_1475 (+ v_~SIZE~0_538 1)) (< v_main_~c~0_1476 v_main_~c~0_1475)) (and (or (not (< v_main_~c~0_1476 v_~last~0_597)) (not (< v_main_~c~0_1476 v_~SIZE~0_538))) .cse0 (= |v_main_#t~post5_778| |v_main_#t~post5_782|)))) InVars {~SIZE~0=v_~SIZE~0_538, main_~c~0=v_main_~c~0_1476, main_#t~post5=|v_main_#t~post5_782|, ~last~0=v_~last~0_597} OutVars{~SIZE~0=v_~SIZE~0_538, main_#t~post5=|v_main_#t~post5_778|, main_~c~0=v_main_~c~0_1475, ~last~0=v_~last~0_597} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {84640#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:04:21,897 INFO L290 TraceCheckUtils]: 14: Hoare triple {84640#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [335] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {84640#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:04:21,898 INFO L290 TraceCheckUtils]: 13: Hoare triple {84650#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [334] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_789 v_main_~st~0_788)) (.cse1 (= |v_main_#t~post5_779| |v_main_#t~post5_777|)) (.cse2 (= v_main_~c~0_1474 v_main_~c~0_1473)) (.cse3 (<= v_~last~0_596 v_main_~c~0_1474))) (or (and .cse0 .cse1 .cse2 (or (not (< v_main_~c~0_1474 v_~SIZE~0_537)) (not .cse3))) (and (= v_~last~0_596 v_~last~0_596) .cse0 .cse1 .cse2 (= v_~SIZE~0_537 v_~SIZE~0_537)) (and (= v_main_~st~0_788 0) .cse3 (< v_main_~c~0_1474 v_main_~c~0_1473) (< v_main_~c~0_1473 (+ v_~SIZE~0_537 1))))) InVars {~SIZE~0=v_~SIZE~0_537, main_~c~0=v_main_~c~0_1474, main_#t~post5=|v_main_#t~post5_779|, main_~st~0=v_main_~st~0_789, ~last~0=v_~last~0_596} OutVars{~SIZE~0=v_~SIZE~0_537, main_#t~post5=|v_main_#t~post5_777|, main_~c~0=v_main_~c~0_1473, main_~st~0=v_main_~st~0_788, ~last~0=v_~last~0_596} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {84640#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:04:21,898 INFO L290 TraceCheckUtils]: 12: Hoare triple {84654#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {84650#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:04:21,898 INFO L290 TraceCheckUtils]: 11: Hoare triple {84654#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {84654#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:21,899 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {84518#true} {84654#(< 1 ~SIZE~0)} #86#return; {84654#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:21,899 INFO L290 TraceCheckUtils]: 9: Hoare triple {84518#true} assume true; {84518#true} is VALID [2022-04-28 04:04:21,899 INFO L290 TraceCheckUtils]: 8: Hoare triple {84518#true} assume !(0 == ~cond); {84518#true} is VALID [2022-04-28 04:04:21,899 INFO L290 TraceCheckUtils]: 7: Hoare triple {84518#true} ~cond := #in~cond; {84518#true} is VALID [2022-04-28 04:04:21,899 INFO L272 TraceCheckUtils]: 6: Hoare triple {84654#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {84518#true} is VALID [2022-04-28 04:04:21,899 INFO L290 TraceCheckUtils]: 5: Hoare triple {84654#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {84654#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:21,900 INFO L272 TraceCheckUtils]: 4: Hoare triple {84654#(< 1 ~SIZE~0)} call #t~ret7 := main(); {84654#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:21,900 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84654#(< 1 ~SIZE~0)} {84518#true} #90#return; {84654#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:21,900 INFO L290 TraceCheckUtils]: 2: Hoare triple {84654#(< 1 ~SIZE~0)} assume true; {84654#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:21,901 INFO L290 TraceCheckUtils]: 1: Hoare triple {84518#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {84654#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:21,901 INFO L272 TraceCheckUtils]: 0: Hoare triple {84518#true} call ULTIMATE.init(); {84518#true} is VALID [2022-04-28 04:04:21,901 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:04:21,901 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1919816795] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:04:21,901 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:04:21,901 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:04:23,049 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:04:23,049 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [157690144] [2022-04-28 04:04:23,049 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [157690144] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:04:23,049 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:04:23,049 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-28 04:04:23,049 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1204893292] [2022-04-28 04:04:23,049 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:04:23,049 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 32 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:04:23,049 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:04:23,049 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 34 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 32 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:23,090 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:04:23,090 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-28 04:04:23,090 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:04:23,090 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-28 04:04:23,090 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=308, Invalid=1498, Unknown=0, NotChecked=0, Total=1806 [2022-04-28 04:04:23,091 INFO L87 Difference]: Start difference. First operand 202 states and 244 transitions. Second operand has 34 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 32 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:26,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:26,059 INFO L93 Difference]: Finished difference Result 338 states and 414 transitions. [2022-04-28 04:04:26,059 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-28 04:04:26,060 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 32 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 04:04:26,060 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:04:26,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 32 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:26,060 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 110 transitions. [2022-04-28 04:04:26,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 32 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:26,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 110 transitions. [2022-04-28 04:04:26,061 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 110 transitions. [2022-04-28 04:04:26,128 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:04:26,130 INFO L225 Difference]: With dead ends: 338 [2022-04-28 04:04:26,130 INFO L226 Difference]: Without dead ends: 222 [2022-04-28 04:04:26,131 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 48 SyntacticMatches, 10 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 711 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=320, Invalid=1660, Unknown=0, NotChecked=0, Total=1980 [2022-04-28 04:04:26,131 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 53 mSDsluCounter, 66 mSDsCounter, 0 mSdLazyCounter, 1749 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 1759 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1749 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:04:26,131 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [54 Valid, 87 Invalid, 1759 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1749 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-28 04:04:26,131 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 222 states. [2022-04-28 04:04:26,699 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 222 to 205. [2022-04-28 04:04:26,699 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:04:26,699 INFO L82 GeneralOperation]: Start isEquivalent. First operand 222 states. Second operand has 205 states, 190 states have (on average 1.2157894736842105) internal successors, (231), 193 states have internal predecessors, (231), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:26,699 INFO L74 IsIncluded]: Start isIncluded. First operand 222 states. Second operand has 205 states, 190 states have (on average 1.2157894736842105) internal successors, (231), 193 states have internal predecessors, (231), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:26,699 INFO L87 Difference]: Start difference. First operand 222 states. Second operand has 205 states, 190 states have (on average 1.2157894736842105) internal successors, (231), 193 states have internal predecessors, (231), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:26,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:26,702 INFO L93 Difference]: Finished difference Result 222 states and 267 transitions. [2022-04-28 04:04:26,702 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 267 transitions. [2022-04-28 04:04:26,702 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:04:26,702 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:04:26,702 INFO L74 IsIncluded]: Start isIncluded. First operand has 205 states, 190 states have (on average 1.2157894736842105) internal successors, (231), 193 states have internal predecessors, (231), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 222 states. [2022-04-28 04:04:26,702 INFO L87 Difference]: Start difference. First operand has 205 states, 190 states have (on average 1.2157894736842105) internal successors, (231), 193 states have internal predecessors, (231), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 222 states. [2022-04-28 04:04:26,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:26,705 INFO L93 Difference]: Finished difference Result 222 states and 267 transitions. [2022-04-28 04:04:26,705 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 267 transitions. [2022-04-28 04:04:26,705 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:04:26,705 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:04:26,705 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:04:26,705 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:04:26,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 205 states, 190 states have (on average 1.2157894736842105) internal successors, (231), 193 states have internal predecessors, (231), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:26,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 205 states to 205 states and 248 transitions. [2022-04-28 04:04:26,708 INFO L78 Accepts]: Start accepts. Automaton has 205 states and 248 transitions. Word has length 55 [2022-04-28 04:04:26,708 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:04:26,708 INFO L495 AbstractCegarLoop]: Abstraction has 205 states and 248 transitions. [2022-04-28 04:04:26,708 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 34 states, 34 states have (on average 1.4411764705882353) internal successors, (49), 32 states have internal predecessors, (49), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:26,708 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 205 states and 248 transitions. [2022-04-28 04:04:27,607 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 248 edges. 248 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:04:27,608 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 248 transitions. [2022-04-28 04:04:27,608 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 04:04:27,608 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:04:27,608 INFO L195 NwaCegarLoop]: trace histogram [8, 8, 8, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:04:27,624 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (59)] Forceful destruction successful, exit code 0 [2022-04-28 04:04:27,808 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 59 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable65 [2022-04-28 04:04:27,809 INFO L420 AbstractCegarLoop]: === Iteration 67 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:04:27,809 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:04:27,809 INFO L85 PathProgramCache]: Analyzing trace with hash -1038279579, now seen corresponding path program 4 times [2022-04-28 04:04:27,809 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:04:27,809 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [576469906] [2022-04-28 04:04:28,004 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 4 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=2}, 1={1=1, 2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:04:28,175 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 4 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=2}, 1={1=1, 2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:04:28,176 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:04:28,177 INFO L85 PathProgramCache]: Analyzing trace with hash -2073854645, now seen corresponding path program 1 times [2022-04-28 04:04:28,177 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:04:28,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [765946655] [2022-04-28 04:04:28,177 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:04:28,177 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:04:28,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:28,245 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:04:28,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:28,254 INFO L290 TraceCheckUtils]: 0: Hoare triple {86267#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,255 INFO L290 TraceCheckUtils]: 1: Hoare triple {86257#(<= 20 ~SIZE~0)} assume true; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,255 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {86257#(<= 20 ~SIZE~0)} {86252#true} #90#return; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,256 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:04:28,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:28,258 INFO L290 TraceCheckUtils]: 0: Hoare triple {86252#true} ~cond := #in~cond; {86252#true} is VALID [2022-04-28 04:04:28,258 INFO L290 TraceCheckUtils]: 1: Hoare triple {86252#true} assume !(0 == ~cond); {86252#true} is VALID [2022-04-28 04:04:28,258 INFO L290 TraceCheckUtils]: 2: Hoare triple {86252#true} assume true; {86252#true} is VALID [2022-04-28 04:04:28,258 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {86252#true} {86257#(<= 20 ~SIZE~0)} #86#return; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,259 INFO L272 TraceCheckUtils]: 0: Hoare triple {86252#true} call ULTIMATE.init(); {86267#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:04:28,259 INFO L290 TraceCheckUtils]: 1: Hoare triple {86267#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,260 INFO L290 TraceCheckUtils]: 2: Hoare triple {86257#(<= 20 ~SIZE~0)} assume true; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,260 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {86257#(<= 20 ~SIZE~0)} {86252#true} #90#return; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,260 INFO L272 TraceCheckUtils]: 4: Hoare triple {86257#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,261 INFO L290 TraceCheckUtils]: 5: Hoare triple {86257#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,261 INFO L272 TraceCheckUtils]: 6: Hoare triple {86257#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {86252#true} is VALID [2022-04-28 04:04:28,261 INFO L290 TraceCheckUtils]: 7: Hoare triple {86252#true} ~cond := #in~cond; {86252#true} is VALID [2022-04-28 04:04:28,261 INFO L290 TraceCheckUtils]: 8: Hoare triple {86252#true} assume !(0 == ~cond); {86252#true} is VALID [2022-04-28 04:04:28,261 INFO L290 TraceCheckUtils]: 9: Hoare triple {86252#true} assume true; {86252#true} is VALID [2022-04-28 04:04:28,262 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {86252#true} {86257#(<= 20 ~SIZE~0)} #86#return; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,262 INFO L290 TraceCheckUtils]: 11: Hoare triple {86257#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,262 INFO L290 TraceCheckUtils]: 12: Hoare triple {86257#(<= 20 ~SIZE~0)} [338] L42-->L25-3_primed: Formula: (let ((.cse0 (= v_main_~a~0_174 v_main_~a~0_173)) (.cse1 (= v_main_~c~0_1508 v_main_~c~0_1503)) (.cse2 (= |v_main_#t~post5_794| |v_main_#t~post5_790|)) (.cse3 (= v_main_~st~0_803 v_main_~st~0_798)) (.cse5 (<= v_~last~0_606 0)) (.cse6 (= v_~SIZE~0_547 4)) (.cse7 (= v_~SIZE~0_547 v_main_~d~0_73)) (.cse4 (= v_main_~a~0_174 v_main_~b~0_170))) (or (and (= v_~SIZE~0_547 v_~SIZE~0_547) .cse0 .cse1 (= v_main_~b~0_170 v_main_~b~0_169) (= v_main_~d~0_73 v_main_~d~0_73) .cse2 (= v_~last~0_606 v_~last~0_606) .cse3) (and .cse0 (= v_main_~b~0_169 v_main_~b~0_170) .cse1 .cse2 .cse3 (or (not .cse4) (not .cse5) (not .cse6) .cse7)) (and (< 0 (div (+ (* (- 1) v_main_~b~0_169) v_main_~b~0_170) (- 2))) (= v_main_~st~0_798 0) (= v_main_~a~0_173 (+ (* 2 (div (+ v_main_~b~0_170 (- v_main_~b~0_169)) (- 2))) v_main_~a~0_174)) (= v_main_~c~0_1503 4) .cse5 .cse6 (not .cse7) .cse4 (= (mod (+ v_main_~b~0_169 v_main_~b~0_170) 2) 0)))) InVars {~SIZE~0=v_~SIZE~0_547, main_~c~0=v_main_~c~0_1508, main_#t~post5=|v_main_#t~post5_794|, main_~d~0=v_main_~d~0_73, main_~st~0=v_main_~st~0_803, main_~b~0=v_main_~b~0_170, ~last~0=v_~last~0_606, main_~a~0=v_main_~a~0_174} OutVars{~SIZE~0=v_~SIZE~0_547, main_~c~0=v_main_~c~0_1503, main_#t~post5=|v_main_#t~post5_790|, main_~d~0=v_main_~d~0_73, main_~st~0=v_main_~st~0_798, main_~b~0=v_main_~b~0_169, ~last~0=v_~last~0_606, main_~a~0=v_main_~a~0_173} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,263 INFO L290 TraceCheckUtils]: 13: Hoare triple {86257#(<= 20 ~SIZE~0)} [339] L25-3_primed-->L42: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,263 INFO L290 TraceCheckUtils]: 14: Hoare triple {86257#(<= 20 ~SIZE~0)} [340] L42-->L25-3_primed: Formula: (let ((.cse5 (= v_main_~a~0_174 v_main_~a~0_173)) (.cse6 (= v_main_~c~0_1511 v_main_~c~0_1503)) (.cse7 (= v_main_~st~0_806 v_main_~st~0_798)) (.cse8 (= |v_main_#t~post5_797| |v_main_#t~post5_790|)) (.cse4 (= v_main_~a~0_174 v_main_~b~0_170)) (.cse1 (<= v_~last~0_606 0)) (.cse2 (= v_~SIZE~0_547 4)) (.cse3 (= v_~SIZE~0_547 v_main_~d~0_73))) (or (let ((.cse0 (div (+ v_main_~a~0_173 (* (- 1) v_main_~a~0_174)) 2))) (and (= v_main_~st~0_798 0) (= v_main_~c~0_1503 4) (= v_main_~b~0_169 (+ (* 2 .cse0) v_main_~b~0_170)) .cse1 .cse2 (not .cse3) (< 0 .cse0) .cse4 (= (mod (+ v_main_~a~0_174 v_main_~a~0_173) 2) 0))) (and (= v_~SIZE~0_547 v_~SIZE~0_547) .cse5 .cse6 (= v_main_~b~0_170 v_main_~b~0_169) .cse7 .cse8 (= v_main_~d~0_73 v_main_~d~0_73) (= v_~last~0_606 v_~last~0_606)) (and .cse5 (= v_main_~b~0_169 v_main_~b~0_170) .cse6 .cse7 .cse8 (or (not .cse4) (not .cse1) (not .cse2) .cse3)))) InVars {~SIZE~0=v_~SIZE~0_547, main_~c~0=v_main_~c~0_1511, main_#t~post5=|v_main_#t~post5_797|, main_~d~0=v_main_~d~0_73, main_~st~0=v_main_~st~0_806, main_~b~0=v_main_~b~0_170, ~last~0=v_~last~0_606, main_~a~0=v_main_~a~0_174} OutVars{~SIZE~0=v_~SIZE~0_547, main_~c~0=v_main_~c~0_1503, main_#t~post5=|v_main_#t~post5_790|, main_~d~0=v_main_~d~0_73, main_~st~0=v_main_~st~0_798, main_~b~0=v_main_~b~0_169, ~last~0=v_~last~0_606, main_~a~0=v_main_~a~0_173} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,263 INFO L290 TraceCheckUtils]: 15: Hoare triple {86257#(<= 20 ~SIZE~0)} [337] L25-3_primed-->L25-3: Formula: (and (= 0 v_main_~c~0_10) (= v_main_~st~0_7 1)) InVars {} OutVars{main_~c~0=v_main_~c~0_10, main_~st~0=v_main_~st~0_7} AuxVars[] AssignedVars[main_~c~0, main_~st~0] {86262#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:04:28,264 INFO L290 TraceCheckUtils]: 16: Hoare triple {86262#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} assume !!(~c~0 < ~SIZE~0); {86262#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:04:28,264 INFO L290 TraceCheckUtils]: 17: Hoare triple {86262#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} assume ~c~0 >= ~last~0;~st~0 := 0; {86262#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:04:28,265 INFO L290 TraceCheckUtils]: 18: Hoare triple {86262#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {86263#(<= (+ 19 main_~c~0) ~SIZE~0)} is VALID [2022-04-28 04:04:28,265 INFO L290 TraceCheckUtils]: 19: Hoare triple {86263#(<= (+ 19 main_~c~0) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {86263#(<= (+ 19 main_~c~0) ~SIZE~0)} is VALID [2022-04-28 04:04:28,265 INFO L290 TraceCheckUtils]: 20: Hoare triple {86263#(<= (+ 19 main_~c~0) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {86263#(<= (+ 19 main_~c~0) ~SIZE~0)} is VALID [2022-04-28 04:04:28,266 INFO L290 TraceCheckUtils]: 21: Hoare triple {86263#(<= (+ 19 main_~c~0) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {86264#(<= (+ main_~c~0 18) ~SIZE~0)} is VALID [2022-04-28 04:04:28,266 INFO L290 TraceCheckUtils]: 22: Hoare triple {86264#(<= (+ main_~c~0 18) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {86264#(<= (+ main_~c~0 18) ~SIZE~0)} is VALID [2022-04-28 04:04:28,266 INFO L290 TraceCheckUtils]: 23: Hoare triple {86264#(<= (+ main_~c~0 18) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {86264#(<= (+ main_~c~0 18) ~SIZE~0)} is VALID [2022-04-28 04:04:28,267 INFO L290 TraceCheckUtils]: 24: Hoare triple {86264#(<= (+ main_~c~0 18) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {86265#(<= (+ main_~c~0 17) ~SIZE~0)} is VALID [2022-04-28 04:04:28,267 INFO L290 TraceCheckUtils]: 25: Hoare triple {86265#(<= (+ main_~c~0 17) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {86265#(<= (+ main_~c~0 17) ~SIZE~0)} is VALID [2022-04-28 04:04:28,268 INFO L290 TraceCheckUtils]: 26: Hoare triple {86265#(<= (+ main_~c~0 17) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {86265#(<= (+ main_~c~0 17) ~SIZE~0)} is VALID [2022-04-28 04:04:28,268 INFO L290 TraceCheckUtils]: 27: Hoare triple {86265#(<= (+ main_~c~0 17) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {86266#(<= (+ main_~c~0 16) ~SIZE~0)} is VALID [2022-04-28 04:04:28,268 INFO L290 TraceCheckUtils]: 28: Hoare triple {86266#(<= (+ main_~c~0 16) ~SIZE~0)} assume !(~c~0 < ~SIZE~0); {86253#false} is VALID [2022-04-28 04:04:28,269 INFO L290 TraceCheckUtils]: 29: Hoare triple {86253#false} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {86253#false} is VALID [2022-04-28 04:04:28,269 INFO L290 TraceCheckUtils]: 30: Hoare triple {86253#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {86253#false} is VALID [2022-04-28 04:04:28,269 INFO L290 TraceCheckUtils]: 31: Hoare triple {86253#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {86253#false} is VALID [2022-04-28 04:04:28,269 INFO L290 TraceCheckUtils]: 32: Hoare triple {86253#false} assume !(~d~0 == ~SIZE~0); {86253#false} is VALID [2022-04-28 04:04:28,269 INFO L272 TraceCheckUtils]: 33: Hoare triple {86253#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {86253#false} is VALID [2022-04-28 04:04:28,269 INFO L290 TraceCheckUtils]: 34: Hoare triple {86253#false} ~cond := #in~cond; {86253#false} is VALID [2022-04-28 04:04:28,269 INFO L290 TraceCheckUtils]: 35: Hoare triple {86253#false} assume 0 == ~cond; {86253#false} is VALID [2022-04-28 04:04:28,269 INFO L290 TraceCheckUtils]: 36: Hoare triple {86253#false} assume !false; {86253#false} is VALID [2022-04-28 04:04:28,269 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 22 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 04:04:28,269 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:04:28,269 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [765946655] [2022-04-28 04:04:28,269 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [765946655] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:04:28,269 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1116068285] [2022-04-28 04:04:28,269 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:04:28,270 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:04:28,270 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:04:28,270 INFO L229 MonitoredProcess]: Starting monitored process 60 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:04:28,272 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (60)] Waiting until timeout for monitored process [2022-04-28 04:04:28,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:28,314 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 04:04:28,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:28,322 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:04:28,552 INFO L272 TraceCheckUtils]: 0: Hoare triple {86252#true} call ULTIMATE.init(); {86252#true} is VALID [2022-04-28 04:04:28,552 INFO L290 TraceCheckUtils]: 1: Hoare triple {86252#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,553 INFO L290 TraceCheckUtils]: 2: Hoare triple {86257#(<= 20 ~SIZE~0)} assume true; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,553 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {86257#(<= 20 ~SIZE~0)} {86252#true} #90#return; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,553 INFO L272 TraceCheckUtils]: 4: Hoare triple {86257#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,554 INFO L290 TraceCheckUtils]: 5: Hoare triple {86257#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,554 INFO L272 TraceCheckUtils]: 6: Hoare triple {86257#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,554 INFO L290 TraceCheckUtils]: 7: Hoare triple {86257#(<= 20 ~SIZE~0)} ~cond := #in~cond; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,554 INFO L290 TraceCheckUtils]: 8: Hoare triple {86257#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,555 INFO L290 TraceCheckUtils]: 9: Hoare triple {86257#(<= 20 ~SIZE~0)} assume true; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,555 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {86257#(<= 20 ~SIZE~0)} {86257#(<= 20 ~SIZE~0)} #86#return; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,555 INFO L290 TraceCheckUtils]: 11: Hoare triple {86257#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,556 INFO L290 TraceCheckUtils]: 12: Hoare triple {86257#(<= 20 ~SIZE~0)} [338] L42-->L25-3_primed: Formula: (let ((.cse0 (= v_main_~a~0_174 v_main_~a~0_173)) (.cse1 (= v_main_~c~0_1508 v_main_~c~0_1503)) (.cse2 (= |v_main_#t~post5_794| |v_main_#t~post5_790|)) (.cse3 (= v_main_~st~0_803 v_main_~st~0_798)) (.cse5 (<= v_~last~0_606 0)) (.cse6 (= v_~SIZE~0_547 4)) (.cse7 (= v_~SIZE~0_547 v_main_~d~0_73)) (.cse4 (= v_main_~a~0_174 v_main_~b~0_170))) (or (and (= v_~SIZE~0_547 v_~SIZE~0_547) .cse0 .cse1 (= v_main_~b~0_170 v_main_~b~0_169) (= v_main_~d~0_73 v_main_~d~0_73) .cse2 (= v_~last~0_606 v_~last~0_606) .cse3) (and .cse0 (= v_main_~b~0_169 v_main_~b~0_170) .cse1 .cse2 .cse3 (or (not .cse4) (not .cse5) (not .cse6) .cse7)) (and (< 0 (div (+ (* (- 1) v_main_~b~0_169) v_main_~b~0_170) (- 2))) (= v_main_~st~0_798 0) (= v_main_~a~0_173 (+ (* 2 (div (+ v_main_~b~0_170 (- v_main_~b~0_169)) (- 2))) v_main_~a~0_174)) (= v_main_~c~0_1503 4) .cse5 .cse6 (not .cse7) .cse4 (= (mod (+ v_main_~b~0_169 v_main_~b~0_170) 2) 0)))) InVars {~SIZE~0=v_~SIZE~0_547, main_~c~0=v_main_~c~0_1508, main_#t~post5=|v_main_#t~post5_794|, main_~d~0=v_main_~d~0_73, main_~st~0=v_main_~st~0_803, main_~b~0=v_main_~b~0_170, ~last~0=v_~last~0_606, main_~a~0=v_main_~a~0_174} OutVars{~SIZE~0=v_~SIZE~0_547, main_~c~0=v_main_~c~0_1503, main_#t~post5=|v_main_#t~post5_790|, main_~d~0=v_main_~d~0_73, main_~st~0=v_main_~st~0_798, main_~b~0=v_main_~b~0_169, ~last~0=v_~last~0_606, main_~a~0=v_main_~a~0_173} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,556 INFO L290 TraceCheckUtils]: 13: Hoare triple {86257#(<= 20 ~SIZE~0)} [339] L25-3_primed-->L42: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,556 INFO L290 TraceCheckUtils]: 14: Hoare triple {86257#(<= 20 ~SIZE~0)} [340] L42-->L25-3_primed: Formula: (let ((.cse5 (= v_main_~a~0_174 v_main_~a~0_173)) (.cse6 (= v_main_~c~0_1511 v_main_~c~0_1503)) (.cse7 (= v_main_~st~0_806 v_main_~st~0_798)) (.cse8 (= |v_main_#t~post5_797| |v_main_#t~post5_790|)) (.cse4 (= v_main_~a~0_174 v_main_~b~0_170)) (.cse1 (<= v_~last~0_606 0)) (.cse2 (= v_~SIZE~0_547 4)) (.cse3 (= v_~SIZE~0_547 v_main_~d~0_73))) (or (let ((.cse0 (div (+ v_main_~a~0_173 (* (- 1) v_main_~a~0_174)) 2))) (and (= v_main_~st~0_798 0) (= v_main_~c~0_1503 4) (= v_main_~b~0_169 (+ (* 2 .cse0) v_main_~b~0_170)) .cse1 .cse2 (not .cse3) (< 0 .cse0) .cse4 (= (mod (+ v_main_~a~0_174 v_main_~a~0_173) 2) 0))) (and (= v_~SIZE~0_547 v_~SIZE~0_547) .cse5 .cse6 (= v_main_~b~0_170 v_main_~b~0_169) .cse7 .cse8 (= v_main_~d~0_73 v_main_~d~0_73) (= v_~last~0_606 v_~last~0_606)) (and .cse5 (= v_main_~b~0_169 v_main_~b~0_170) .cse6 .cse7 .cse8 (or (not .cse4) (not .cse1) (not .cse2) .cse3)))) InVars {~SIZE~0=v_~SIZE~0_547, main_~c~0=v_main_~c~0_1511, main_#t~post5=|v_main_#t~post5_797|, main_~d~0=v_main_~d~0_73, main_~st~0=v_main_~st~0_806, main_~b~0=v_main_~b~0_170, ~last~0=v_~last~0_606, main_~a~0=v_main_~a~0_174} OutVars{~SIZE~0=v_~SIZE~0_547, main_~c~0=v_main_~c~0_1503, main_#t~post5=|v_main_#t~post5_790|, main_~d~0=v_main_~d~0_73, main_~st~0=v_main_~st~0_798, main_~b~0=v_main_~b~0_169, ~last~0=v_~last~0_606, main_~a~0=v_main_~a~0_173} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:28,557 INFO L290 TraceCheckUtils]: 15: Hoare triple {86257#(<= 20 ~SIZE~0)} [337] L25-3_primed-->L25-3: Formula: (and (= 0 v_main_~c~0_10) (= v_main_~st~0_7 1)) InVars {} OutVars{main_~c~0=v_main_~c~0_10, main_~st~0=v_main_~st~0_7} AuxVars[] AssignedVars[main_~c~0, main_~st~0] {86316#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:04:28,557 INFO L290 TraceCheckUtils]: 16: Hoare triple {86316#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} assume !!(~c~0 < ~SIZE~0); {86316#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:04:28,558 INFO L290 TraceCheckUtils]: 17: Hoare triple {86316#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} assume ~c~0 >= ~last~0;~st~0 := 0; {86316#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:04:28,558 INFO L290 TraceCheckUtils]: 18: Hoare triple {86316#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {86326#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} is VALID [2022-04-28 04:04:28,558 INFO L290 TraceCheckUtils]: 19: Hoare triple {86326#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} assume !!(~c~0 < ~SIZE~0); {86326#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} is VALID [2022-04-28 04:04:28,559 INFO L290 TraceCheckUtils]: 20: Hoare triple {86326#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} assume ~c~0 >= ~last~0;~st~0 := 0; {86326#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} is VALID [2022-04-28 04:04:28,559 INFO L290 TraceCheckUtils]: 21: Hoare triple {86326#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {86336#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} is VALID [2022-04-28 04:04:28,560 INFO L290 TraceCheckUtils]: 22: Hoare triple {86336#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} assume !!(~c~0 < ~SIZE~0); {86336#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} is VALID [2022-04-28 04:04:28,560 INFO L290 TraceCheckUtils]: 23: Hoare triple {86336#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} assume ~c~0 >= ~last~0;~st~0 := 0; {86336#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} is VALID [2022-04-28 04:04:28,560 INFO L290 TraceCheckUtils]: 24: Hoare triple {86336#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {86346#(and (<= main_~c~0 3) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:04:28,561 INFO L290 TraceCheckUtils]: 25: Hoare triple {86346#(and (<= main_~c~0 3) (<= 20 ~SIZE~0))} assume !!(~c~0 < ~SIZE~0); {86346#(and (<= main_~c~0 3) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:04:28,561 INFO L290 TraceCheckUtils]: 26: Hoare triple {86346#(and (<= main_~c~0 3) (<= 20 ~SIZE~0))} assume ~c~0 >= ~last~0;~st~0 := 0; {86346#(and (<= main_~c~0 3) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:04:28,562 INFO L290 TraceCheckUtils]: 27: Hoare triple {86346#(and (<= main_~c~0 3) (<= 20 ~SIZE~0))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {86356#(and (<= 20 ~SIZE~0) (<= main_~c~0 4))} is VALID [2022-04-28 04:04:28,562 INFO L290 TraceCheckUtils]: 28: Hoare triple {86356#(and (<= 20 ~SIZE~0) (<= main_~c~0 4))} assume !(~c~0 < ~SIZE~0); {86253#false} is VALID [2022-04-28 04:04:28,562 INFO L290 TraceCheckUtils]: 29: Hoare triple {86253#false} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {86253#false} is VALID [2022-04-28 04:04:28,562 INFO L290 TraceCheckUtils]: 30: Hoare triple {86253#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {86253#false} is VALID [2022-04-28 04:04:28,562 INFO L290 TraceCheckUtils]: 31: Hoare triple {86253#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {86253#false} is VALID [2022-04-28 04:04:28,562 INFO L290 TraceCheckUtils]: 32: Hoare triple {86253#false} assume !(~d~0 == ~SIZE~0); {86253#false} is VALID [2022-04-28 04:04:28,562 INFO L272 TraceCheckUtils]: 33: Hoare triple {86253#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {86253#false} is VALID [2022-04-28 04:04:28,562 INFO L290 TraceCheckUtils]: 34: Hoare triple {86253#false} ~cond := #in~cond; {86253#false} is VALID [2022-04-28 04:04:28,562 INFO L290 TraceCheckUtils]: 35: Hoare triple {86253#false} assume 0 == ~cond; {86253#false} is VALID [2022-04-28 04:04:28,563 INFO L290 TraceCheckUtils]: 36: Hoare triple {86253#false} assume !false; {86253#false} is VALID [2022-04-28 04:04:28,563 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 22 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 04:04:28,563 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:04:28,772 INFO L290 TraceCheckUtils]: 36: Hoare triple {86253#false} assume !false; {86253#false} is VALID [2022-04-28 04:04:28,772 INFO L290 TraceCheckUtils]: 35: Hoare triple {86253#false} assume 0 == ~cond; {86253#false} is VALID [2022-04-28 04:04:28,772 INFO L290 TraceCheckUtils]: 34: Hoare triple {86253#false} ~cond := #in~cond; {86253#false} is VALID [2022-04-28 04:04:28,772 INFO L272 TraceCheckUtils]: 33: Hoare triple {86253#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {86253#false} is VALID [2022-04-28 04:04:28,772 INFO L290 TraceCheckUtils]: 32: Hoare triple {86253#false} assume !(~d~0 == ~SIZE~0); {86253#false} is VALID [2022-04-28 04:04:28,772 INFO L290 TraceCheckUtils]: 31: Hoare triple {86253#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {86253#false} is VALID [2022-04-28 04:04:28,772 INFO L290 TraceCheckUtils]: 30: Hoare triple {86253#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {86253#false} is VALID [2022-04-28 04:04:28,772 INFO L290 TraceCheckUtils]: 29: Hoare triple {86253#false} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {86253#false} is VALID [2022-04-28 04:04:28,772 INFO L290 TraceCheckUtils]: 28: Hoare triple {86408#(< main_~c~0 ~SIZE~0)} assume !(~c~0 < ~SIZE~0); {86253#false} is VALID [2022-04-28 04:04:28,773 INFO L290 TraceCheckUtils]: 27: Hoare triple {86412#(< (+ main_~c~0 1) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {86408#(< main_~c~0 ~SIZE~0)} is VALID [2022-04-28 04:04:28,773 INFO L290 TraceCheckUtils]: 26: Hoare triple {86412#(< (+ main_~c~0 1) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {86412#(< (+ main_~c~0 1) ~SIZE~0)} is VALID [2022-04-28 04:04:28,774 INFO L290 TraceCheckUtils]: 25: Hoare triple {86412#(< (+ main_~c~0 1) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {86412#(< (+ main_~c~0 1) ~SIZE~0)} is VALID [2022-04-28 04:04:28,774 INFO L290 TraceCheckUtils]: 24: Hoare triple {86422#(< (+ main_~c~0 2) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {86412#(< (+ main_~c~0 1) ~SIZE~0)} is VALID [2022-04-28 04:04:28,774 INFO L290 TraceCheckUtils]: 23: Hoare triple {86422#(< (+ main_~c~0 2) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {86422#(< (+ main_~c~0 2) ~SIZE~0)} is VALID [2022-04-28 04:04:28,775 INFO L290 TraceCheckUtils]: 22: Hoare triple {86422#(< (+ main_~c~0 2) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {86422#(< (+ main_~c~0 2) ~SIZE~0)} is VALID [2022-04-28 04:04:28,775 INFO L290 TraceCheckUtils]: 21: Hoare triple {86432#(< (+ main_~c~0 3) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {86422#(< (+ main_~c~0 2) ~SIZE~0)} is VALID [2022-04-28 04:04:28,775 INFO L290 TraceCheckUtils]: 20: Hoare triple {86432#(< (+ main_~c~0 3) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {86432#(< (+ main_~c~0 3) ~SIZE~0)} is VALID [2022-04-28 04:04:28,776 INFO L290 TraceCheckUtils]: 19: Hoare triple {86432#(< (+ main_~c~0 3) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {86432#(< (+ main_~c~0 3) ~SIZE~0)} is VALID [2022-04-28 04:04:28,776 INFO L290 TraceCheckUtils]: 18: Hoare triple {86442#(< (+ main_~c~0 4) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {86432#(< (+ main_~c~0 3) ~SIZE~0)} is VALID [2022-04-28 04:04:28,776 INFO L290 TraceCheckUtils]: 17: Hoare triple {86442#(< (+ main_~c~0 4) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {86442#(< (+ main_~c~0 4) ~SIZE~0)} is VALID [2022-04-28 04:04:28,777 INFO L290 TraceCheckUtils]: 16: Hoare triple {86442#(< (+ main_~c~0 4) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {86442#(< (+ main_~c~0 4) ~SIZE~0)} is VALID [2022-04-28 04:04:28,777 INFO L290 TraceCheckUtils]: 15: Hoare triple {86452#(< 4 ~SIZE~0)} [337] L25-3_primed-->L25-3: Formula: (and (= 0 v_main_~c~0_10) (= v_main_~st~0_7 1)) InVars {} OutVars{main_~c~0=v_main_~c~0_10, main_~st~0=v_main_~st~0_7} AuxVars[] AssignedVars[main_~c~0, main_~st~0] {86442#(< (+ main_~c~0 4) ~SIZE~0)} is VALID [2022-04-28 04:04:28,777 INFO L290 TraceCheckUtils]: 14: Hoare triple {86452#(< 4 ~SIZE~0)} [340] L42-->L25-3_primed: Formula: (let ((.cse5 (= v_main_~a~0_174 v_main_~a~0_173)) (.cse6 (= v_main_~c~0_1511 v_main_~c~0_1503)) (.cse7 (= v_main_~st~0_806 v_main_~st~0_798)) (.cse8 (= |v_main_#t~post5_797| |v_main_#t~post5_790|)) (.cse4 (= v_main_~a~0_174 v_main_~b~0_170)) (.cse1 (<= v_~last~0_606 0)) (.cse2 (= v_~SIZE~0_547 4)) (.cse3 (= v_~SIZE~0_547 v_main_~d~0_73))) (or (let ((.cse0 (div (+ v_main_~a~0_173 (* (- 1) v_main_~a~0_174)) 2))) (and (= v_main_~st~0_798 0) (= v_main_~c~0_1503 4) (= v_main_~b~0_169 (+ (* 2 .cse0) v_main_~b~0_170)) .cse1 .cse2 (not .cse3) (< 0 .cse0) .cse4 (= (mod (+ v_main_~a~0_174 v_main_~a~0_173) 2) 0))) (and (= v_~SIZE~0_547 v_~SIZE~0_547) .cse5 .cse6 (= v_main_~b~0_170 v_main_~b~0_169) .cse7 .cse8 (= v_main_~d~0_73 v_main_~d~0_73) (= v_~last~0_606 v_~last~0_606)) (and .cse5 (= v_main_~b~0_169 v_main_~b~0_170) .cse6 .cse7 .cse8 (or (not .cse4) (not .cse1) (not .cse2) .cse3)))) InVars {~SIZE~0=v_~SIZE~0_547, main_~c~0=v_main_~c~0_1511, main_#t~post5=|v_main_#t~post5_797|, main_~d~0=v_main_~d~0_73, main_~st~0=v_main_~st~0_806, main_~b~0=v_main_~b~0_170, ~last~0=v_~last~0_606, main_~a~0=v_main_~a~0_174} OutVars{~SIZE~0=v_~SIZE~0_547, main_~c~0=v_main_~c~0_1503, main_#t~post5=|v_main_#t~post5_790|, main_~d~0=v_main_~d~0_73, main_~st~0=v_main_~st~0_798, main_~b~0=v_main_~b~0_169, ~last~0=v_~last~0_606, main_~a~0=v_main_~a~0_173} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {86452#(< 4 ~SIZE~0)} is VALID [2022-04-28 04:04:28,778 INFO L290 TraceCheckUtils]: 13: Hoare triple {86452#(< 4 ~SIZE~0)} [339] L25-3_primed-->L42: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {86452#(< 4 ~SIZE~0)} is VALID [2022-04-28 04:04:28,778 INFO L290 TraceCheckUtils]: 12: Hoare triple {86452#(< 4 ~SIZE~0)} [338] L42-->L25-3_primed: Formula: (let ((.cse0 (= v_main_~a~0_174 v_main_~a~0_173)) (.cse1 (= v_main_~c~0_1508 v_main_~c~0_1503)) (.cse2 (= |v_main_#t~post5_794| |v_main_#t~post5_790|)) (.cse3 (= v_main_~st~0_803 v_main_~st~0_798)) (.cse5 (<= v_~last~0_606 0)) (.cse6 (= v_~SIZE~0_547 4)) (.cse7 (= v_~SIZE~0_547 v_main_~d~0_73)) (.cse4 (= v_main_~a~0_174 v_main_~b~0_170))) (or (and (= v_~SIZE~0_547 v_~SIZE~0_547) .cse0 .cse1 (= v_main_~b~0_170 v_main_~b~0_169) (= v_main_~d~0_73 v_main_~d~0_73) .cse2 (= v_~last~0_606 v_~last~0_606) .cse3) (and .cse0 (= v_main_~b~0_169 v_main_~b~0_170) .cse1 .cse2 .cse3 (or (not .cse4) (not .cse5) (not .cse6) .cse7)) (and (< 0 (div (+ (* (- 1) v_main_~b~0_169) v_main_~b~0_170) (- 2))) (= v_main_~st~0_798 0) (= v_main_~a~0_173 (+ (* 2 (div (+ v_main_~b~0_170 (- v_main_~b~0_169)) (- 2))) v_main_~a~0_174)) (= v_main_~c~0_1503 4) .cse5 .cse6 (not .cse7) .cse4 (= (mod (+ v_main_~b~0_169 v_main_~b~0_170) 2) 0)))) InVars {~SIZE~0=v_~SIZE~0_547, main_~c~0=v_main_~c~0_1508, main_#t~post5=|v_main_#t~post5_794|, main_~d~0=v_main_~d~0_73, main_~st~0=v_main_~st~0_803, main_~b~0=v_main_~b~0_170, ~last~0=v_~last~0_606, main_~a~0=v_main_~a~0_174} OutVars{~SIZE~0=v_~SIZE~0_547, main_~c~0=v_main_~c~0_1503, main_#t~post5=|v_main_#t~post5_790|, main_~d~0=v_main_~d~0_73, main_~st~0=v_main_~st~0_798, main_~b~0=v_main_~b~0_169, ~last~0=v_~last~0_606, main_~a~0=v_main_~a~0_173} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {86452#(< 4 ~SIZE~0)} is VALID [2022-04-28 04:04:28,778 INFO L290 TraceCheckUtils]: 11: Hoare triple {86452#(< 4 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {86452#(< 4 ~SIZE~0)} is VALID [2022-04-28 04:04:28,779 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {86252#true} {86452#(< 4 ~SIZE~0)} #86#return; {86452#(< 4 ~SIZE~0)} is VALID [2022-04-28 04:04:28,779 INFO L290 TraceCheckUtils]: 9: Hoare triple {86252#true} assume true; {86252#true} is VALID [2022-04-28 04:04:28,779 INFO L290 TraceCheckUtils]: 8: Hoare triple {86252#true} assume !(0 == ~cond); {86252#true} is VALID [2022-04-28 04:04:28,779 INFO L290 TraceCheckUtils]: 7: Hoare triple {86252#true} ~cond := #in~cond; {86252#true} is VALID [2022-04-28 04:04:28,779 INFO L272 TraceCheckUtils]: 6: Hoare triple {86452#(< 4 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {86252#true} is VALID [2022-04-28 04:04:28,779 INFO L290 TraceCheckUtils]: 5: Hoare triple {86452#(< 4 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {86452#(< 4 ~SIZE~0)} is VALID [2022-04-28 04:04:28,780 INFO L272 TraceCheckUtils]: 4: Hoare triple {86452#(< 4 ~SIZE~0)} call #t~ret7 := main(); {86452#(< 4 ~SIZE~0)} is VALID [2022-04-28 04:04:28,780 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {86452#(< 4 ~SIZE~0)} {86252#true} #90#return; {86452#(< 4 ~SIZE~0)} is VALID [2022-04-28 04:04:28,780 INFO L290 TraceCheckUtils]: 2: Hoare triple {86452#(< 4 ~SIZE~0)} assume true; {86452#(< 4 ~SIZE~0)} is VALID [2022-04-28 04:04:28,781 INFO L290 TraceCheckUtils]: 1: Hoare triple {86252#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {86452#(< 4 ~SIZE~0)} is VALID [2022-04-28 04:04:28,781 INFO L272 TraceCheckUtils]: 0: Hoare triple {86252#true} call ULTIMATE.init(); {86252#true} is VALID [2022-04-28 04:04:28,781 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 22 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 04:04:28,781 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1116068285] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:04:28,781 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:04:28,781 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8, 8] total 20 [2022-04-28 04:04:28,938 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:04:28,938 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [576469906] [2022-04-28 04:04:28,938 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [576469906] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:04:28,938 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:04:28,938 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 04:04:28,938 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [290782238] [2022-04-28 04:04:28,938 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:04:28,939 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 3.0) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 57 [2022-04-28 04:04:28,939 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:04:28,939 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 3.0) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:04:28,962 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:04:28,962 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 04:04:28,962 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:04:28,963 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 04:04:28,963 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=243, Invalid=407, Unknown=0, NotChecked=0, Total=650 [2022-04-28 04:04:28,963 INFO L87 Difference]: Start difference. First operand 205 states and 248 transitions. Second operand has 15 states, 15 states have (on average 3.0) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:04:30,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:30,233 INFO L93 Difference]: Finished difference Result 392 states and 478 transitions. [2022-04-28 04:04:30,233 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 04:04:30,233 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 3.0) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 57 [2022-04-28 04:04:30,233 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:04:30,233 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 3.0) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:04:30,234 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 88 transitions. [2022-04-28 04:04:30,234 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 3.0) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:04:30,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 88 transitions. [2022-04-28 04:04:30,235 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 88 transitions. [2022-04-28 04:04:30,301 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:04:30,304 INFO L225 Difference]: With dead ends: 392 [2022-04-28 04:04:30,304 INFO L226 Difference]: Without dead ends: 278 [2022-04-28 04:04:30,305 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 86 SyntacticMatches, 8 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 584 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=336, Invalid=594, Unknown=0, NotChecked=0, Total=930 [2022-04-28 04:04:30,305 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 72 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 215 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 246 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 215 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:04:30,305 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [73 Valid, 29 Invalid, 246 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 215 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:04:30,305 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 278 states. [2022-04-28 04:04:31,245 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 278 to 223. [2022-04-28 04:04:31,246 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:04:31,246 INFO L82 GeneralOperation]: Start isEquivalent. First operand 278 states. Second operand has 223 states, 208 states have (on average 1.2115384615384615) internal successors, (252), 211 states have internal predecessors, (252), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:31,246 INFO L74 IsIncluded]: Start isIncluded. First operand 278 states. Second operand has 223 states, 208 states have (on average 1.2115384615384615) internal successors, (252), 211 states have internal predecessors, (252), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:31,246 INFO L87 Difference]: Start difference. First operand 278 states. Second operand has 223 states, 208 states have (on average 1.2115384615384615) internal successors, (252), 211 states have internal predecessors, (252), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:31,249 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:31,249 INFO L93 Difference]: Finished difference Result 278 states and 327 transitions. [2022-04-28 04:04:31,249 INFO L276 IsEmpty]: Start isEmpty. Operand 278 states and 327 transitions. [2022-04-28 04:04:31,250 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:04:31,250 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:04:31,250 INFO L74 IsIncluded]: Start isIncluded. First operand has 223 states, 208 states have (on average 1.2115384615384615) internal successors, (252), 211 states have internal predecessors, (252), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 278 states. [2022-04-28 04:04:31,250 INFO L87 Difference]: Start difference. First operand has 223 states, 208 states have (on average 1.2115384615384615) internal successors, (252), 211 states have internal predecessors, (252), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 278 states. [2022-04-28 04:04:31,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:31,253 INFO L93 Difference]: Finished difference Result 278 states and 327 transitions. [2022-04-28 04:04:31,253 INFO L276 IsEmpty]: Start isEmpty. Operand 278 states and 327 transitions. [2022-04-28 04:04:31,253 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:04:31,253 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:04:31,253 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:04:31,253 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:04:31,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 223 states, 208 states have (on average 1.2115384615384615) internal successors, (252), 211 states have internal predecessors, (252), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:31,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 223 states to 223 states and 269 transitions. [2022-04-28 04:04:31,256 INFO L78 Accepts]: Start accepts. Automaton has 223 states and 269 transitions. Word has length 57 [2022-04-28 04:04:31,256 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:04:31,256 INFO L495 AbstractCegarLoop]: Abstraction has 223 states and 269 transitions. [2022-04-28 04:04:31,256 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 3.0) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 04:04:31,256 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 223 states and 269 transitions. [2022-04-28 04:04:32,183 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 269 edges. 269 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:04:32,184 INFO L276 IsEmpty]: Start isEmpty. Operand 223 states and 269 transitions. [2022-04-28 04:04:32,184 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-28 04:04:32,184 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:04:32,184 INFO L195 NwaCegarLoop]: trace histogram [12, 12, 11, 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:04:32,200 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (60)] Forceful destruction successful, exit code 0 [2022-04-28 04:04:32,393 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 60 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable66 [2022-04-28 04:04:32,394 INFO L420 AbstractCegarLoop]: === Iteration 68 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:04:32,394 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:04:32,394 INFO L85 PathProgramCache]: Analyzing trace with hash -490608740, now seen corresponding path program 56 times [2022-04-28 04:04:32,394 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:04:32,394 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2006263152] [2022-04-28 04:04:32,607 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:04:32,808 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:04:32,809 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:04:32,810 INFO L85 PathProgramCache]: Analyzing trace with hash -1819700415, now seen corresponding path program 1 times [2022-04-28 04:04:32,811 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:04:32,811 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1546226611] [2022-04-28 04:04:32,811 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:04:32,811 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:04:32,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:32,998 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:04:32,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:33,002 INFO L290 TraceCheckUtils]: 0: Hoare triple {88321#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,003 INFO L290 TraceCheckUtils]: 1: Hoare triple {88308#(<= 20 ~SIZE~0)} assume true; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,003 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {88308#(<= 20 ~SIZE~0)} {88303#true} #90#return; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,003 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:04:33,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:33,005 INFO L290 TraceCheckUtils]: 0: Hoare triple {88303#true} ~cond := #in~cond; {88303#true} is VALID [2022-04-28 04:04:33,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {88303#true} assume !(0 == ~cond); {88303#true} is VALID [2022-04-28 04:04:33,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {88303#true} assume true; {88303#true} is VALID [2022-04-28 04:04:33,006 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {88303#true} {88308#(<= 20 ~SIZE~0)} #86#return; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,006 INFO L272 TraceCheckUtils]: 0: Hoare triple {88303#true} call ULTIMATE.init(); {88321#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:04:33,007 INFO L290 TraceCheckUtils]: 1: Hoare triple {88321#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,007 INFO L290 TraceCheckUtils]: 2: Hoare triple {88308#(<= 20 ~SIZE~0)} assume true; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,007 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {88308#(<= 20 ~SIZE~0)} {88303#true} #90#return; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,008 INFO L272 TraceCheckUtils]: 4: Hoare triple {88308#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,008 INFO L290 TraceCheckUtils]: 5: Hoare triple {88308#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,008 INFO L272 TraceCheckUtils]: 6: Hoare triple {88308#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {88303#true} is VALID [2022-04-28 04:04:33,008 INFO L290 TraceCheckUtils]: 7: Hoare triple {88303#true} ~cond := #in~cond; {88303#true} is VALID [2022-04-28 04:04:33,008 INFO L290 TraceCheckUtils]: 8: Hoare triple {88303#true} assume !(0 == ~cond); {88303#true} is VALID [2022-04-28 04:04:33,008 INFO L290 TraceCheckUtils]: 9: Hoare triple {88303#true} assume true; {88303#true} is VALID [2022-04-28 04:04:33,009 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {88303#true} {88308#(<= 20 ~SIZE~0)} #86#return; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,009 INFO L290 TraceCheckUtils]: 11: Hoare triple {88308#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {88313#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:04:33,010 INFO L290 TraceCheckUtils]: 12: Hoare triple {88313#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {88314#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:04:33,010 INFO L290 TraceCheckUtils]: 13: Hoare triple {88314#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [342] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_824 v_main_~st~0_823)) (.cse1 (= v_main_~c~0_1533 v_main_~c~0_1532)) (.cse2 (<= v_~last~0_615 v_main_~c~0_1533))) (or (and (= v_~SIZE~0_555 v_~SIZE~0_555) (= v_~last~0_615 v_~last~0_615) .cse0 (= |v_main_#t~post5_810| |v_main_#t~post5_808|) .cse1) (and (or (not .cse2) (not (< v_main_~c~0_1533 v_~SIZE~0_555))) (= |v_main_#t~post5_808| |v_main_#t~post5_810|) .cse0 .cse1) (and (< v_main_~c~0_1532 (+ v_~SIZE~0_555 1)) .cse2 (< v_main_~c~0_1533 v_main_~c~0_1532) (= v_main_~st~0_823 0)))) InVars {~SIZE~0=v_~SIZE~0_555, main_~c~0=v_main_~c~0_1533, main_#t~post5=|v_main_#t~post5_810|, main_~st~0=v_main_~st~0_824, ~last~0=v_~last~0_615} OutVars{~SIZE~0=v_~SIZE~0_555, main_#t~post5=|v_main_#t~post5_808|, main_~c~0=v_main_~c~0_1532, main_~st~0=v_main_~st~0_823, ~last~0=v_~last~0_615} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {88315#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:04:33,011 INFO L290 TraceCheckUtils]: 14: Hoare triple {88315#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [343] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {88315#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:04:33,011 INFO L290 TraceCheckUtils]: 15: Hoare triple {88315#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [344] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1535 v_main_~c~0_1534))) (or (and (< v_main_~c~0_1534 (+ v_~SIZE~0_556 1)) (< v_main_~c~0_1534 (+ v_~last~0_616 1)) (< v_main_~c~0_1535 v_main_~c~0_1534)) (and (= |v_main_#t~post5_809| |v_main_#t~post5_813|) .cse0 (or (not (< v_main_~c~0_1535 v_~last~0_616)) (not (< v_main_~c~0_1535 v_~SIZE~0_556)))) (and (= v_~SIZE~0_556 v_~SIZE~0_556) (= v_~last~0_616 v_~last~0_616) (= |v_main_#t~post5_813| |v_main_#t~post5_809|) .cse0))) InVars {~SIZE~0=v_~SIZE~0_556, main_~c~0=v_main_~c~0_1535, main_#t~post5=|v_main_#t~post5_813|, ~last~0=v_~last~0_616} OutVars{~SIZE~0=v_~SIZE~0_556, main_#t~post5=|v_main_#t~post5_809|, main_~c~0=v_main_~c~0_1534, ~last~0=v_~last~0_616} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {88315#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:04:33,012 INFO L290 TraceCheckUtils]: 16: Hoare triple {88315#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [341] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {88316#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:04:33,013 INFO L290 TraceCheckUtils]: 17: Hoare triple {88316#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {88317#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:33,013 INFO L290 TraceCheckUtils]: 18: Hoare triple {88317#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {88317#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:33,014 INFO L290 TraceCheckUtils]: 19: Hoare triple {88317#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {88318#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:33,014 INFO L290 TraceCheckUtils]: 20: Hoare triple {88318#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {88318#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:33,015 INFO L272 TraceCheckUtils]: 21: Hoare triple {88318#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {88319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:04:33,015 INFO L290 TraceCheckUtils]: 22: Hoare triple {88319#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {88320#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:04:33,015 INFO L290 TraceCheckUtils]: 23: Hoare triple {88320#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {88304#false} is VALID [2022-04-28 04:04:33,015 INFO L290 TraceCheckUtils]: 24: Hoare triple {88304#false} assume !false; {88304#false} is VALID [2022-04-28 04:04:33,016 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:04:33,016 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:04:33,016 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1546226611] [2022-04-28 04:04:33,016 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1546226611] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:04:33,016 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [447013912] [2022-04-28 04:04:33,016 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:04:33,016 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:04:33,016 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:04:33,017 INFO L229 MonitoredProcess]: Starting monitored process 61 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:04:33,018 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (61)] Waiting until timeout for monitored process [2022-04-28 04:04:33,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:33,046 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:04:33,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:33,053 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:04:33,327 INFO L272 TraceCheckUtils]: 0: Hoare triple {88303#true} call ULTIMATE.init(); {88303#true} is VALID [2022-04-28 04:04:33,327 INFO L290 TraceCheckUtils]: 1: Hoare triple {88303#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,328 INFO L290 TraceCheckUtils]: 2: Hoare triple {88308#(<= 20 ~SIZE~0)} assume true; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,328 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {88308#(<= 20 ~SIZE~0)} {88303#true} #90#return; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,328 INFO L272 TraceCheckUtils]: 4: Hoare triple {88308#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,329 INFO L290 TraceCheckUtils]: 5: Hoare triple {88308#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,329 INFO L272 TraceCheckUtils]: 6: Hoare triple {88308#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,329 INFO L290 TraceCheckUtils]: 7: Hoare triple {88308#(<= 20 ~SIZE~0)} ~cond := #in~cond; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,330 INFO L290 TraceCheckUtils]: 8: Hoare triple {88308#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,330 INFO L290 TraceCheckUtils]: 9: Hoare triple {88308#(<= 20 ~SIZE~0)} assume true; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,330 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {88308#(<= 20 ~SIZE~0)} {88308#(<= 20 ~SIZE~0)} #86#return; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,330 INFO L290 TraceCheckUtils]: 11: Hoare triple {88308#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:33,331 INFO L290 TraceCheckUtils]: 12: Hoare triple {88308#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {88361#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:04:33,332 INFO L290 TraceCheckUtils]: 13: Hoare triple {88361#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [342] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_824 v_main_~st~0_823)) (.cse1 (= v_main_~c~0_1533 v_main_~c~0_1532)) (.cse2 (<= v_~last~0_615 v_main_~c~0_1533))) (or (and (= v_~SIZE~0_555 v_~SIZE~0_555) (= v_~last~0_615 v_~last~0_615) .cse0 (= |v_main_#t~post5_810| |v_main_#t~post5_808|) .cse1) (and (or (not .cse2) (not (< v_main_~c~0_1533 v_~SIZE~0_555))) (= |v_main_#t~post5_808| |v_main_#t~post5_810|) .cse0 .cse1) (and (< v_main_~c~0_1532 (+ v_~SIZE~0_555 1)) .cse2 (< v_main_~c~0_1533 v_main_~c~0_1532) (= v_main_~st~0_823 0)))) InVars {~SIZE~0=v_~SIZE~0_555, main_~c~0=v_main_~c~0_1533, main_#t~post5=|v_main_#t~post5_810|, main_~st~0=v_main_~st~0_824, ~last~0=v_~last~0_615} OutVars{~SIZE~0=v_~SIZE~0_555, main_#t~post5=|v_main_#t~post5_808|, main_~c~0=v_main_~c~0_1532, main_~st~0=v_main_~st~0_823, ~last~0=v_~last~0_615} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {88365#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:04:33,332 INFO L290 TraceCheckUtils]: 14: Hoare triple {88365#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [343] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {88365#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:04:33,333 INFO L290 TraceCheckUtils]: 15: Hoare triple {88365#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [344] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1535 v_main_~c~0_1534))) (or (and (< v_main_~c~0_1534 (+ v_~SIZE~0_556 1)) (< v_main_~c~0_1534 (+ v_~last~0_616 1)) (< v_main_~c~0_1535 v_main_~c~0_1534)) (and (= |v_main_#t~post5_809| |v_main_#t~post5_813|) .cse0 (or (not (< v_main_~c~0_1535 v_~last~0_616)) (not (< v_main_~c~0_1535 v_~SIZE~0_556)))) (and (= v_~SIZE~0_556 v_~SIZE~0_556) (= v_~last~0_616 v_~last~0_616) (= |v_main_#t~post5_813| |v_main_#t~post5_809|) .cse0))) InVars {~SIZE~0=v_~SIZE~0_556, main_~c~0=v_main_~c~0_1535, main_#t~post5=|v_main_#t~post5_813|, ~last~0=v_~last~0_616} OutVars{~SIZE~0=v_~SIZE~0_556, main_#t~post5=|v_main_#t~post5_809|, main_~c~0=v_main_~c~0_1534, ~last~0=v_~last~0_616} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {88365#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:04:33,333 INFO L290 TraceCheckUtils]: 16: Hoare triple {88365#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [341] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {88375#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:04:33,334 INFO L290 TraceCheckUtils]: 17: Hoare triple {88375#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {88304#false} is VALID [2022-04-28 04:04:33,334 INFO L290 TraceCheckUtils]: 18: Hoare triple {88304#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {88304#false} is VALID [2022-04-28 04:04:33,334 INFO L290 TraceCheckUtils]: 19: Hoare triple {88304#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {88304#false} is VALID [2022-04-28 04:04:33,334 INFO L290 TraceCheckUtils]: 20: Hoare triple {88304#false} assume !(~d~0 == ~SIZE~0); {88304#false} is VALID [2022-04-28 04:04:33,334 INFO L272 TraceCheckUtils]: 21: Hoare triple {88304#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {88304#false} is VALID [2022-04-28 04:04:33,334 INFO L290 TraceCheckUtils]: 22: Hoare triple {88304#false} ~cond := #in~cond; {88304#false} is VALID [2022-04-28 04:04:33,334 INFO L290 TraceCheckUtils]: 23: Hoare triple {88304#false} assume 0 == ~cond; {88304#false} is VALID [2022-04-28 04:04:33,334 INFO L290 TraceCheckUtils]: 24: Hoare triple {88304#false} assume !false; {88304#false} is VALID [2022-04-28 04:04:33,334 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:04:33,334 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:04:33,586 INFO L290 TraceCheckUtils]: 24: Hoare triple {88304#false} assume !false; {88304#false} is VALID [2022-04-28 04:04:33,586 INFO L290 TraceCheckUtils]: 23: Hoare triple {88304#false} assume 0 == ~cond; {88304#false} is VALID [2022-04-28 04:04:33,586 INFO L290 TraceCheckUtils]: 22: Hoare triple {88304#false} ~cond := #in~cond; {88304#false} is VALID [2022-04-28 04:04:33,586 INFO L272 TraceCheckUtils]: 21: Hoare triple {88304#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {88304#false} is VALID [2022-04-28 04:04:33,586 INFO L290 TraceCheckUtils]: 20: Hoare triple {88304#false} assume !(~d~0 == ~SIZE~0); {88304#false} is VALID [2022-04-28 04:04:33,586 INFO L290 TraceCheckUtils]: 19: Hoare triple {88304#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {88304#false} is VALID [2022-04-28 04:04:33,586 INFO L290 TraceCheckUtils]: 18: Hoare triple {88304#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {88304#false} is VALID [2022-04-28 04:04:33,586 INFO L290 TraceCheckUtils]: 17: Hoare triple {88421#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {88304#false} is VALID [2022-04-28 04:04:33,587 INFO L290 TraceCheckUtils]: 16: Hoare triple {88425#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [341] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {88421#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:04:33,587 INFO L290 TraceCheckUtils]: 15: Hoare triple {88425#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [344] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1535 v_main_~c~0_1534))) (or (and (< v_main_~c~0_1534 (+ v_~SIZE~0_556 1)) (< v_main_~c~0_1534 (+ v_~last~0_616 1)) (< v_main_~c~0_1535 v_main_~c~0_1534)) (and (= |v_main_#t~post5_809| |v_main_#t~post5_813|) .cse0 (or (not (< v_main_~c~0_1535 v_~last~0_616)) (not (< v_main_~c~0_1535 v_~SIZE~0_556)))) (and (= v_~SIZE~0_556 v_~SIZE~0_556) (= v_~last~0_616 v_~last~0_616) (= |v_main_#t~post5_813| |v_main_#t~post5_809|) .cse0))) InVars {~SIZE~0=v_~SIZE~0_556, main_~c~0=v_main_~c~0_1535, main_#t~post5=|v_main_#t~post5_813|, ~last~0=v_~last~0_616} OutVars{~SIZE~0=v_~SIZE~0_556, main_#t~post5=|v_main_#t~post5_809|, main_~c~0=v_main_~c~0_1534, ~last~0=v_~last~0_616} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {88425#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:04:33,587 INFO L290 TraceCheckUtils]: 14: Hoare triple {88425#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [343] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {88425#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:04:33,588 INFO L290 TraceCheckUtils]: 13: Hoare triple {88435#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [342] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_824 v_main_~st~0_823)) (.cse1 (= v_main_~c~0_1533 v_main_~c~0_1532)) (.cse2 (<= v_~last~0_615 v_main_~c~0_1533))) (or (and (= v_~SIZE~0_555 v_~SIZE~0_555) (= v_~last~0_615 v_~last~0_615) .cse0 (= |v_main_#t~post5_810| |v_main_#t~post5_808|) .cse1) (and (or (not .cse2) (not (< v_main_~c~0_1533 v_~SIZE~0_555))) (= |v_main_#t~post5_808| |v_main_#t~post5_810|) .cse0 .cse1) (and (< v_main_~c~0_1532 (+ v_~SIZE~0_555 1)) .cse2 (< v_main_~c~0_1533 v_main_~c~0_1532) (= v_main_~st~0_823 0)))) InVars {~SIZE~0=v_~SIZE~0_555, main_~c~0=v_main_~c~0_1533, main_#t~post5=|v_main_#t~post5_810|, main_~st~0=v_main_~st~0_824, ~last~0=v_~last~0_615} OutVars{~SIZE~0=v_~SIZE~0_555, main_#t~post5=|v_main_#t~post5_808|, main_~c~0=v_main_~c~0_1532, main_~st~0=v_main_~st~0_823, ~last~0=v_~last~0_615} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {88425#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:04:33,588 INFO L290 TraceCheckUtils]: 12: Hoare triple {88439#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {88435#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:04:33,589 INFO L290 TraceCheckUtils]: 11: Hoare triple {88439#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {88439#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:33,589 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {88303#true} {88439#(< 1 ~SIZE~0)} #86#return; {88439#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:33,589 INFO L290 TraceCheckUtils]: 9: Hoare triple {88303#true} assume true; {88303#true} is VALID [2022-04-28 04:04:33,589 INFO L290 TraceCheckUtils]: 8: Hoare triple {88303#true} assume !(0 == ~cond); {88303#true} is VALID [2022-04-28 04:04:33,589 INFO L290 TraceCheckUtils]: 7: Hoare triple {88303#true} ~cond := #in~cond; {88303#true} is VALID [2022-04-28 04:04:33,589 INFO L272 TraceCheckUtils]: 6: Hoare triple {88439#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {88303#true} is VALID [2022-04-28 04:04:33,589 INFO L290 TraceCheckUtils]: 5: Hoare triple {88439#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {88439#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:33,589 INFO L272 TraceCheckUtils]: 4: Hoare triple {88439#(< 1 ~SIZE~0)} call #t~ret7 := main(); {88439#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:33,590 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {88439#(< 1 ~SIZE~0)} {88303#true} #90#return; {88439#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:33,590 INFO L290 TraceCheckUtils]: 2: Hoare triple {88439#(< 1 ~SIZE~0)} assume true; {88439#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:33,590 INFO L290 TraceCheckUtils]: 1: Hoare triple {88303#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {88439#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:33,590 INFO L272 TraceCheckUtils]: 0: Hoare triple {88303#true} call ULTIMATE.init(); {88303#true} is VALID [2022-04-28 04:04:33,590 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:04:33,591 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [447013912] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:04:33,591 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:04:33,591 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:04:34,400 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:04:34,400 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2006263152] [2022-04-28 04:04:34,401 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2006263152] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:04:34,401 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:04:34,401 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-28 04:04:34,401 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [155298730] [2022-04-28 04:04:34,401 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:04:34,401 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:04:34,401 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:04:34,401 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:34,429 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:04:34,430 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-28 04:04:34,430 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:04:34,430 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-28 04:04:34,430 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=189, Invalid=1001, Unknown=0, NotChecked=0, Total=1190 [2022-04-28 04:04:34,430 INFO L87 Difference]: Start difference. First operand 223 states and 269 transitions. Second operand has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:36,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:36,769 INFO L93 Difference]: Finished difference Result 392 states and 471 transitions. [2022-04-28 04:04:36,769 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 04:04:36,770 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:04:36,770 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:04:36,770 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:36,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 103 transitions. [2022-04-28 04:04:36,770 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:36,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 103 transitions. [2022-04-28 04:04:36,771 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 103 transitions. [2022-04-28 04:04:36,844 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:04:36,847 INFO L225 Difference]: With dead ends: 392 [2022-04-28 04:04:36,847 INFO L226 Difference]: Without dead ends: 269 [2022-04-28 04:04:36,848 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 48 SyntacticMatches, 21 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 604 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=201, Invalid=1131, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 04:04:36,848 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 44 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 1180 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 62 SdHoareTripleChecker+Invalid, 1190 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1180 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 04:04:36,848 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [45 Valid, 62 Invalid, 1190 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1180 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 04:04:36,848 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 269 states. [2022-04-28 04:04:37,479 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 269 to 226. [2022-04-28 04:04:37,479 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:04:37,479 INFO L82 GeneralOperation]: Start isEquivalent. First operand 269 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:37,479 INFO L74 IsIncluded]: Start isIncluded. First operand 269 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:37,480 INFO L87 Difference]: Start difference. First operand 269 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:37,482 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:37,482 INFO L93 Difference]: Finished difference Result 269 states and 317 transitions. [2022-04-28 04:04:37,483 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 317 transitions. [2022-04-28 04:04:37,483 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:04:37,483 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:04:37,483 INFO L74 IsIncluded]: Start isIncluded. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 269 states. [2022-04-28 04:04:37,483 INFO L87 Difference]: Start difference. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 269 states. [2022-04-28 04:04:37,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:37,486 INFO L93 Difference]: Finished difference Result 269 states and 317 transitions. [2022-04-28 04:04:37,486 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 317 transitions. [2022-04-28 04:04:37,486 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:04:37,486 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:04:37,486 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:04:37,486 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:04:37,487 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:37,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-28 04:04:37,489 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-28 04:04:37,489 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:04:37,489 INFO L495 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-28 04:04:37,489 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:37,489 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-28 04:04:38,502 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 272 edges. 272 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:04:38,502 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-28 04:04:38,503 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-28 04:04:38,503 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:04:38,503 INFO L195 NwaCegarLoop]: trace histogram [12, 12, 10, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:04:38,519 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (61)] Forceful destruction successful, exit code 0 [2022-04-28 04:04:38,713 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable67,61 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:04:38,714 INFO L420 AbstractCegarLoop]: === Iteration 69 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:04:38,714 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:04:38,714 INFO L85 PathProgramCache]: Analyzing trace with hash -66962018, now seen corresponding path program 57 times [2022-04-28 04:04:38,714 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:04:38,714 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1902129989] [2022-04-28 04:04:38,946 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:04:41,539 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:04:41,650 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:04:41,651 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:04:41,656 INFO L85 PathProgramCache]: Analyzing trace with hash 672822337, now seen corresponding path program 1 times [2022-04-28 04:04:41,657 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:04:41,657 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [914021336] [2022-04-28 04:04:41,657 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:04:41,657 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:04:41,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:41,795 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:04:41,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:41,799 INFO L290 TraceCheckUtils]: 0: Hoare triple {90291#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:41,799 INFO L290 TraceCheckUtils]: 1: Hoare triple {90278#(<= 20 ~SIZE~0)} assume true; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:41,800 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {90278#(<= 20 ~SIZE~0)} {90273#true} #90#return; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:41,800 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:04:41,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:41,801 INFO L290 TraceCheckUtils]: 0: Hoare triple {90273#true} ~cond := #in~cond; {90273#true} is VALID [2022-04-28 04:04:41,802 INFO L290 TraceCheckUtils]: 1: Hoare triple {90273#true} assume !(0 == ~cond); {90273#true} is VALID [2022-04-28 04:04:41,802 INFO L290 TraceCheckUtils]: 2: Hoare triple {90273#true} assume true; {90273#true} is VALID [2022-04-28 04:04:41,802 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {90273#true} {90278#(<= 20 ~SIZE~0)} #86#return; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:41,802 INFO L272 TraceCheckUtils]: 0: Hoare triple {90273#true} call ULTIMATE.init(); {90291#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:04:41,803 INFO L290 TraceCheckUtils]: 1: Hoare triple {90291#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:41,803 INFO L290 TraceCheckUtils]: 2: Hoare triple {90278#(<= 20 ~SIZE~0)} assume true; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:41,803 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {90278#(<= 20 ~SIZE~0)} {90273#true} #90#return; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:41,804 INFO L272 TraceCheckUtils]: 4: Hoare triple {90278#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:41,804 INFO L290 TraceCheckUtils]: 5: Hoare triple {90278#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:41,804 INFO L272 TraceCheckUtils]: 6: Hoare triple {90278#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {90273#true} is VALID [2022-04-28 04:04:41,804 INFO L290 TraceCheckUtils]: 7: Hoare triple {90273#true} ~cond := #in~cond; {90273#true} is VALID [2022-04-28 04:04:41,804 INFO L290 TraceCheckUtils]: 8: Hoare triple {90273#true} assume !(0 == ~cond); {90273#true} is VALID [2022-04-28 04:04:41,804 INFO L290 TraceCheckUtils]: 9: Hoare triple {90273#true} assume true; {90273#true} is VALID [2022-04-28 04:04:41,804 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {90273#true} {90278#(<= 20 ~SIZE~0)} #86#return; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:41,805 INFO L290 TraceCheckUtils]: 11: Hoare triple {90278#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {90283#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:04:41,805 INFO L290 TraceCheckUtils]: 12: Hoare triple {90283#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {90284#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:04:41,806 INFO L290 TraceCheckUtils]: 13: Hoare triple {90284#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [346] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_844 v_main_~st~0_843)) (.cse1 (= v_main_~c~0_1562 v_main_~c~0_1561)) (.cse2 (= |v_main_#t~post5_823| |v_main_#t~post5_821|)) (.cse3 (<= v_~last~0_625 v_main_~c~0_1562))) (or (and .cse0 .cse1 (= v_~SIZE~0_564 v_~SIZE~0_564) (= v_~last~0_625 v_~last~0_625) .cse2) (and .cse0 .cse1 .cse2 (or (not .cse3) (not (< v_main_~c~0_1562 v_~SIZE~0_564)))) (and (< v_main_~c~0_1562 v_main_~c~0_1561) .cse3 (< v_main_~c~0_1561 (+ v_~SIZE~0_564 1)) (= v_main_~st~0_843 0)))) InVars {~SIZE~0=v_~SIZE~0_564, main_~c~0=v_main_~c~0_1562, main_#t~post5=|v_main_#t~post5_823|, main_~st~0=v_main_~st~0_844, ~last~0=v_~last~0_625} OutVars{~SIZE~0=v_~SIZE~0_564, main_#t~post5=|v_main_#t~post5_821|, main_~c~0=v_main_~c~0_1561, main_~st~0=v_main_~st~0_843, ~last~0=v_~last~0_625} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {90285#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:04:41,806 INFO L290 TraceCheckUtils]: 14: Hoare triple {90285#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [347] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {90285#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:04:41,807 INFO L290 TraceCheckUtils]: 15: Hoare triple {90285#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [348] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1564 v_main_~c~0_1563)) (.cse1 (= |v_main_#t~post5_826| |v_main_#t~post5_822|))) (or (and (< v_main_~c~0_1564 v_main_~c~0_1563) (< v_main_~c~0_1563 (+ v_~SIZE~0_565 1)) (< v_main_~c~0_1563 (+ v_~last~0_626 1))) (and .cse0 (= v_~last~0_626 v_~last~0_626) .cse1 (= v_~SIZE~0_565 v_~SIZE~0_565)) (and .cse0 (or (not (< v_main_~c~0_1564 v_~last~0_626)) (not (< v_main_~c~0_1564 v_~SIZE~0_565))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_565, main_~c~0=v_main_~c~0_1564, main_#t~post5=|v_main_#t~post5_826|, ~last~0=v_~last~0_626} OutVars{~SIZE~0=v_~SIZE~0_565, main_#t~post5=|v_main_#t~post5_822|, main_~c~0=v_main_~c~0_1563, ~last~0=v_~last~0_626} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {90285#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:04:41,807 INFO L290 TraceCheckUtils]: 16: Hoare triple {90285#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [345] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {90286#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:04:41,808 INFO L290 TraceCheckUtils]: 17: Hoare triple {90286#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {90287#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:41,808 INFO L290 TraceCheckUtils]: 18: Hoare triple {90287#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {90287#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:41,809 INFO L290 TraceCheckUtils]: 19: Hoare triple {90287#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {90288#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:41,809 INFO L290 TraceCheckUtils]: 20: Hoare triple {90288#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {90288#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:41,809 INFO L272 TraceCheckUtils]: 21: Hoare triple {90288#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {90289#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:04:41,810 INFO L290 TraceCheckUtils]: 22: Hoare triple {90289#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {90290#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:04:41,810 INFO L290 TraceCheckUtils]: 23: Hoare triple {90290#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {90274#false} is VALID [2022-04-28 04:04:41,810 INFO L290 TraceCheckUtils]: 24: Hoare triple {90274#false} assume !false; {90274#false} is VALID [2022-04-28 04:04:41,810 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:04:41,810 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:04:41,810 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [914021336] [2022-04-28 04:04:41,810 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [914021336] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:04:41,810 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1390689014] [2022-04-28 04:04:41,811 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:04:41,811 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:04:41,811 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:04:41,812 INFO L229 MonitoredProcess]: Starting monitored process 62 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:04:41,812 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (62)] Waiting until timeout for monitored process [2022-04-28 04:04:41,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:41,852 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:04:41,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:41,859 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:04:42,090 INFO L272 TraceCheckUtils]: 0: Hoare triple {90273#true} call ULTIMATE.init(); {90273#true} is VALID [2022-04-28 04:04:42,090 INFO L290 TraceCheckUtils]: 1: Hoare triple {90273#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:42,091 INFO L290 TraceCheckUtils]: 2: Hoare triple {90278#(<= 20 ~SIZE~0)} assume true; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:42,091 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {90278#(<= 20 ~SIZE~0)} {90273#true} #90#return; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:42,091 INFO L272 TraceCheckUtils]: 4: Hoare triple {90278#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:42,092 INFO L290 TraceCheckUtils]: 5: Hoare triple {90278#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:42,092 INFO L272 TraceCheckUtils]: 6: Hoare triple {90278#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:42,092 INFO L290 TraceCheckUtils]: 7: Hoare triple {90278#(<= 20 ~SIZE~0)} ~cond := #in~cond; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:42,093 INFO L290 TraceCheckUtils]: 8: Hoare triple {90278#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:42,093 INFO L290 TraceCheckUtils]: 9: Hoare triple {90278#(<= 20 ~SIZE~0)} assume true; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:42,093 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {90278#(<= 20 ~SIZE~0)} {90278#(<= 20 ~SIZE~0)} #86#return; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:42,094 INFO L290 TraceCheckUtils]: 11: Hoare triple {90278#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:42,094 INFO L290 TraceCheckUtils]: 12: Hoare triple {90278#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {90331#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:04:42,095 INFO L290 TraceCheckUtils]: 13: Hoare triple {90331#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [346] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_844 v_main_~st~0_843)) (.cse1 (= v_main_~c~0_1562 v_main_~c~0_1561)) (.cse2 (= |v_main_#t~post5_823| |v_main_#t~post5_821|)) (.cse3 (<= v_~last~0_625 v_main_~c~0_1562))) (or (and .cse0 .cse1 (= v_~SIZE~0_564 v_~SIZE~0_564) (= v_~last~0_625 v_~last~0_625) .cse2) (and .cse0 .cse1 .cse2 (or (not .cse3) (not (< v_main_~c~0_1562 v_~SIZE~0_564)))) (and (< v_main_~c~0_1562 v_main_~c~0_1561) .cse3 (< v_main_~c~0_1561 (+ v_~SIZE~0_564 1)) (= v_main_~st~0_843 0)))) InVars {~SIZE~0=v_~SIZE~0_564, main_~c~0=v_main_~c~0_1562, main_#t~post5=|v_main_#t~post5_823|, main_~st~0=v_main_~st~0_844, ~last~0=v_~last~0_625} OutVars{~SIZE~0=v_~SIZE~0_564, main_#t~post5=|v_main_#t~post5_821|, main_~c~0=v_main_~c~0_1561, main_~st~0=v_main_~st~0_843, ~last~0=v_~last~0_625} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {90335#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:04:42,095 INFO L290 TraceCheckUtils]: 14: Hoare triple {90335#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [347] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {90335#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:04:42,096 INFO L290 TraceCheckUtils]: 15: Hoare triple {90335#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [348] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1564 v_main_~c~0_1563)) (.cse1 (= |v_main_#t~post5_826| |v_main_#t~post5_822|))) (or (and (< v_main_~c~0_1564 v_main_~c~0_1563) (< v_main_~c~0_1563 (+ v_~SIZE~0_565 1)) (< v_main_~c~0_1563 (+ v_~last~0_626 1))) (and .cse0 (= v_~last~0_626 v_~last~0_626) .cse1 (= v_~SIZE~0_565 v_~SIZE~0_565)) (and .cse0 (or (not (< v_main_~c~0_1564 v_~last~0_626)) (not (< v_main_~c~0_1564 v_~SIZE~0_565))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_565, main_~c~0=v_main_~c~0_1564, main_#t~post5=|v_main_#t~post5_826|, ~last~0=v_~last~0_626} OutVars{~SIZE~0=v_~SIZE~0_565, main_#t~post5=|v_main_#t~post5_822|, main_~c~0=v_main_~c~0_1563, ~last~0=v_~last~0_626} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {90335#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:04:42,096 INFO L290 TraceCheckUtils]: 16: Hoare triple {90335#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [345] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {90345#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:04:42,097 INFO L290 TraceCheckUtils]: 17: Hoare triple {90345#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {90274#false} is VALID [2022-04-28 04:04:42,097 INFO L290 TraceCheckUtils]: 18: Hoare triple {90274#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {90274#false} is VALID [2022-04-28 04:04:42,097 INFO L290 TraceCheckUtils]: 19: Hoare triple {90274#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {90274#false} is VALID [2022-04-28 04:04:42,097 INFO L290 TraceCheckUtils]: 20: Hoare triple {90274#false} assume !(~d~0 == ~SIZE~0); {90274#false} is VALID [2022-04-28 04:04:42,097 INFO L272 TraceCheckUtils]: 21: Hoare triple {90274#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {90274#false} is VALID [2022-04-28 04:04:42,097 INFO L290 TraceCheckUtils]: 22: Hoare triple {90274#false} ~cond := #in~cond; {90274#false} is VALID [2022-04-28 04:04:42,097 INFO L290 TraceCheckUtils]: 23: Hoare triple {90274#false} assume 0 == ~cond; {90274#false} is VALID [2022-04-28 04:04:42,097 INFO L290 TraceCheckUtils]: 24: Hoare triple {90274#false} assume !false; {90274#false} is VALID [2022-04-28 04:04:42,098 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:04:42,098 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:04:42,429 INFO L290 TraceCheckUtils]: 24: Hoare triple {90274#false} assume !false; {90274#false} is VALID [2022-04-28 04:04:42,429 INFO L290 TraceCheckUtils]: 23: Hoare triple {90274#false} assume 0 == ~cond; {90274#false} is VALID [2022-04-28 04:04:42,429 INFO L290 TraceCheckUtils]: 22: Hoare triple {90274#false} ~cond := #in~cond; {90274#false} is VALID [2022-04-28 04:04:42,430 INFO L272 TraceCheckUtils]: 21: Hoare triple {90274#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {90274#false} is VALID [2022-04-28 04:04:42,430 INFO L290 TraceCheckUtils]: 20: Hoare triple {90274#false} assume !(~d~0 == ~SIZE~0); {90274#false} is VALID [2022-04-28 04:04:42,430 INFO L290 TraceCheckUtils]: 19: Hoare triple {90274#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {90274#false} is VALID [2022-04-28 04:04:42,430 INFO L290 TraceCheckUtils]: 18: Hoare triple {90274#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {90274#false} is VALID [2022-04-28 04:04:42,430 INFO L290 TraceCheckUtils]: 17: Hoare triple {90391#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {90274#false} is VALID [2022-04-28 04:04:42,431 INFO L290 TraceCheckUtils]: 16: Hoare triple {90395#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [345] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {90391#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:04:42,431 INFO L290 TraceCheckUtils]: 15: Hoare triple {90395#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [348] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1564 v_main_~c~0_1563)) (.cse1 (= |v_main_#t~post5_826| |v_main_#t~post5_822|))) (or (and (< v_main_~c~0_1564 v_main_~c~0_1563) (< v_main_~c~0_1563 (+ v_~SIZE~0_565 1)) (< v_main_~c~0_1563 (+ v_~last~0_626 1))) (and .cse0 (= v_~last~0_626 v_~last~0_626) .cse1 (= v_~SIZE~0_565 v_~SIZE~0_565)) (and .cse0 (or (not (< v_main_~c~0_1564 v_~last~0_626)) (not (< v_main_~c~0_1564 v_~SIZE~0_565))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_565, main_~c~0=v_main_~c~0_1564, main_#t~post5=|v_main_#t~post5_826|, ~last~0=v_~last~0_626} OutVars{~SIZE~0=v_~SIZE~0_565, main_#t~post5=|v_main_#t~post5_822|, main_~c~0=v_main_~c~0_1563, ~last~0=v_~last~0_626} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {90395#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:04:42,431 INFO L290 TraceCheckUtils]: 14: Hoare triple {90395#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [347] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {90395#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:04:42,432 INFO L290 TraceCheckUtils]: 13: Hoare triple {90405#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [346] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_844 v_main_~st~0_843)) (.cse1 (= v_main_~c~0_1562 v_main_~c~0_1561)) (.cse2 (= |v_main_#t~post5_823| |v_main_#t~post5_821|)) (.cse3 (<= v_~last~0_625 v_main_~c~0_1562))) (or (and .cse0 .cse1 (= v_~SIZE~0_564 v_~SIZE~0_564) (= v_~last~0_625 v_~last~0_625) .cse2) (and .cse0 .cse1 .cse2 (or (not .cse3) (not (< v_main_~c~0_1562 v_~SIZE~0_564)))) (and (< v_main_~c~0_1562 v_main_~c~0_1561) .cse3 (< v_main_~c~0_1561 (+ v_~SIZE~0_564 1)) (= v_main_~st~0_843 0)))) InVars {~SIZE~0=v_~SIZE~0_564, main_~c~0=v_main_~c~0_1562, main_#t~post5=|v_main_#t~post5_823|, main_~st~0=v_main_~st~0_844, ~last~0=v_~last~0_625} OutVars{~SIZE~0=v_~SIZE~0_564, main_#t~post5=|v_main_#t~post5_821|, main_~c~0=v_main_~c~0_1561, main_~st~0=v_main_~st~0_843, ~last~0=v_~last~0_625} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {90395#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:04:42,432 INFO L290 TraceCheckUtils]: 12: Hoare triple {90409#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {90405#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:04:42,433 INFO L290 TraceCheckUtils]: 11: Hoare triple {90409#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {90409#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:42,433 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {90273#true} {90409#(< 1 ~SIZE~0)} #86#return; {90409#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:42,433 INFO L290 TraceCheckUtils]: 9: Hoare triple {90273#true} assume true; {90273#true} is VALID [2022-04-28 04:04:42,433 INFO L290 TraceCheckUtils]: 8: Hoare triple {90273#true} assume !(0 == ~cond); {90273#true} is VALID [2022-04-28 04:04:42,433 INFO L290 TraceCheckUtils]: 7: Hoare triple {90273#true} ~cond := #in~cond; {90273#true} is VALID [2022-04-28 04:04:42,433 INFO L272 TraceCheckUtils]: 6: Hoare triple {90409#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {90273#true} is VALID [2022-04-28 04:04:42,433 INFO L290 TraceCheckUtils]: 5: Hoare triple {90409#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {90409#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:42,434 INFO L272 TraceCheckUtils]: 4: Hoare triple {90409#(< 1 ~SIZE~0)} call #t~ret7 := main(); {90409#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:42,434 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {90409#(< 1 ~SIZE~0)} {90273#true} #90#return; {90409#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:42,434 INFO L290 TraceCheckUtils]: 2: Hoare triple {90409#(< 1 ~SIZE~0)} assume true; {90409#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:42,435 INFO L290 TraceCheckUtils]: 1: Hoare triple {90273#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {90409#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:42,435 INFO L272 TraceCheckUtils]: 0: Hoare triple {90273#true} call ULTIMATE.init(); {90273#true} is VALID [2022-04-28 04:04:42,435 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:04:42,435 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1390689014] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:04:42,435 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:04:42,435 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:04:43,224 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:04:43,224 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1902129989] [2022-04-28 04:04:43,224 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1902129989] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:04:43,224 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:04:43,224 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-28 04:04:43,224 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [57774120] [2022-04-28 04:04:43,224 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:04:43,224 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 25 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:04:43,224 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:04:43,225 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 25 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:43,253 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:04:43,253 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-28 04:04:43,253 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:04:43,253 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-28 04:04:43,253 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=203, Invalid=1057, Unknown=0, NotChecked=0, Total=1260 [2022-04-28 04:04:43,253 INFO L87 Difference]: Start difference. First operand 226 states and 272 transitions. Second operand has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 25 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:45,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:45,931 INFO L93 Difference]: Finished difference Result 395 states and 474 transitions. [2022-04-28 04:04:45,931 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-28 04:04:45,931 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 25 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:04:45,931 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:04:45,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 25 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:45,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 104 transitions. [2022-04-28 04:04:45,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 25 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:45,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 104 transitions. [2022-04-28 04:04:45,933 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 104 transitions. [2022-04-28 04:04:45,981 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:04:45,985 INFO L225 Difference]: With dead ends: 395 [2022-04-28 04:04:45,985 INFO L226 Difference]: Without dead ends: 272 [2022-04-28 04:04:45,985 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 48 SyntacticMatches, 20 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 663 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=215, Invalid=1191, Unknown=0, NotChecked=0, Total=1406 [2022-04-28 04:04:45,985 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 52 mSDsluCounter, 49 mSDsCounter, 0 mSdLazyCounter, 1320 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 69 SdHoareTripleChecker+Invalid, 1331 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1320 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 04:04:45,985 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [53 Valid, 69 Invalid, 1331 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1320 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 04:04:45,986 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 272 states. [2022-04-28 04:04:46,626 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 272 to 226. [2022-04-28 04:04:46,626 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:04:46,626 INFO L82 GeneralOperation]: Start isEquivalent. First operand 272 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:46,627 INFO L74 IsIncluded]: Start isIncluded. First operand 272 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:46,627 INFO L87 Difference]: Start difference. First operand 272 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:46,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:46,630 INFO L93 Difference]: Finished difference Result 272 states and 320 transitions. [2022-04-28 04:04:46,630 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 320 transitions. [2022-04-28 04:04:46,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:04:46,630 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:04:46,630 INFO L74 IsIncluded]: Start isIncluded. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 272 states. [2022-04-28 04:04:46,630 INFO L87 Difference]: Start difference. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 272 states. [2022-04-28 04:04:46,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:04:46,633 INFO L93 Difference]: Finished difference Result 272 states and 320 transitions. [2022-04-28 04:04:46,633 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 320 transitions. [2022-04-28 04:04:46,633 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:04:46,634 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:04:46,634 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:04:46,634 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:04:46,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:04:46,636 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-28 04:04:46,636 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-28 04:04:46,637 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:04:46,637 INFO L495 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-28 04:04:46,637 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 27 states have (on average 1.9259259259259258) internal successors, (52), 25 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:46,637 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-28 04:04:47,742 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 272 edges. 272 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:04:47,742 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-28 04:04:47,743 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-28 04:04:47,743 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:04:47,743 INFO L195 NwaCegarLoop]: trace histogram [12, 12, 9, 3, 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:04:47,758 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (62)] Ended with exit code 0 [2022-04-28 04:04:47,950 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable68,62 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:04:47,951 INFO L420 AbstractCegarLoop]: === Iteration 70 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:04:47,951 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:04:47,951 INFO L85 PathProgramCache]: Analyzing trace with hash -1096321316, now seen corresponding path program 58 times [2022-04-28 04:04:47,952 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:04:47,952 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [716102024] [2022-04-28 04:04:52,070 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:04:52,195 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:04:56,298 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:04:56,387 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:04:56,388 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:04:56,390 INFO L85 PathProgramCache]: Analyzing trace with hash -1129622207, now seen corresponding path program 1 times [2022-04-28 04:04:56,390 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:04:56,390 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [672570143] [2022-04-28 04:04:56,390 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:04:56,391 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:04:56,399 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:56,573 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:04:56,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:56,578 INFO L290 TraceCheckUtils]: 0: Hoare triple {92274#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,578 INFO L290 TraceCheckUtils]: 1: Hoare triple {92261#(<= 20 ~SIZE~0)} assume true; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,578 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {92261#(<= 20 ~SIZE~0)} {92256#true} #90#return; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,579 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:04:56,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:56,580 INFO L290 TraceCheckUtils]: 0: Hoare triple {92256#true} ~cond := #in~cond; {92256#true} is VALID [2022-04-28 04:04:56,580 INFO L290 TraceCheckUtils]: 1: Hoare triple {92256#true} assume !(0 == ~cond); {92256#true} is VALID [2022-04-28 04:04:56,580 INFO L290 TraceCheckUtils]: 2: Hoare triple {92256#true} assume true; {92256#true} is VALID [2022-04-28 04:04:56,581 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {92256#true} {92261#(<= 20 ~SIZE~0)} #86#return; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,581 INFO L272 TraceCheckUtils]: 0: Hoare triple {92256#true} call ULTIMATE.init(); {92274#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:04:56,582 INFO L290 TraceCheckUtils]: 1: Hoare triple {92274#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,582 INFO L290 TraceCheckUtils]: 2: Hoare triple {92261#(<= 20 ~SIZE~0)} assume true; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,582 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {92261#(<= 20 ~SIZE~0)} {92256#true} #90#return; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,583 INFO L272 TraceCheckUtils]: 4: Hoare triple {92261#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,583 INFO L290 TraceCheckUtils]: 5: Hoare triple {92261#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,583 INFO L272 TraceCheckUtils]: 6: Hoare triple {92261#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {92256#true} is VALID [2022-04-28 04:04:56,583 INFO L290 TraceCheckUtils]: 7: Hoare triple {92256#true} ~cond := #in~cond; {92256#true} is VALID [2022-04-28 04:04:56,583 INFO L290 TraceCheckUtils]: 8: Hoare triple {92256#true} assume !(0 == ~cond); {92256#true} is VALID [2022-04-28 04:04:56,583 INFO L290 TraceCheckUtils]: 9: Hoare triple {92256#true} assume true; {92256#true} is VALID [2022-04-28 04:04:56,584 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {92256#true} {92261#(<= 20 ~SIZE~0)} #86#return; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,584 INFO L290 TraceCheckUtils]: 11: Hoare triple {92261#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {92266#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:04:56,584 INFO L290 TraceCheckUtils]: 12: Hoare triple {92266#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {92267#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:04:56,585 INFO L290 TraceCheckUtils]: 13: Hoare triple {92267#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [350] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_635 v_main_~c~0_1591)) (.cse1 (= v_main_~c~0_1591 v_main_~c~0_1590)) (.cse2 (= v_main_~st~0_863 v_main_~st~0_862))) (or (and (< v_main_~c~0_1590 (+ v_~SIZE~0_573 1)) (< v_main_~c~0_1591 v_main_~c~0_1590) .cse0 (= v_main_~st~0_862 0)) (and .cse1 .cse2 (= |v_main_#t~post5_834| |v_main_#t~post5_836|) (or (not (< v_main_~c~0_1591 v_~SIZE~0_573)) (not .cse0))) (and (= v_~last~0_635 v_~last~0_635) .cse1 .cse2 (= v_~SIZE~0_573 v_~SIZE~0_573) (= |v_main_#t~post5_836| |v_main_#t~post5_834|)))) InVars {~SIZE~0=v_~SIZE~0_573, main_~c~0=v_main_~c~0_1591, main_#t~post5=|v_main_#t~post5_836|, main_~st~0=v_main_~st~0_863, ~last~0=v_~last~0_635} OutVars{~SIZE~0=v_~SIZE~0_573, main_#t~post5=|v_main_#t~post5_834|, main_~c~0=v_main_~c~0_1590, main_~st~0=v_main_~st~0_862, ~last~0=v_~last~0_635} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {92268#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:04:56,586 INFO L290 TraceCheckUtils]: 14: Hoare triple {92268#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [351] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {92268#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:04:56,586 INFO L290 TraceCheckUtils]: 15: Hoare triple {92268#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [352] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_839| |v_main_#t~post5_835|)) (.cse1 (= v_main_~c~0_1593 v_main_~c~0_1592))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_1593 v_~last~0_636)) (not (< v_main_~c~0_1593 v_~SIZE~0_574)))) (and (< v_main_~c~0_1592 (+ v_~SIZE~0_574 1)) (< v_main_~c~0_1592 (+ v_~last~0_636 1)) (< v_main_~c~0_1593 v_main_~c~0_1592)) (and .cse0 (= v_~last~0_636 v_~last~0_636) .cse1 (= v_~SIZE~0_574 v_~SIZE~0_574)))) InVars {~SIZE~0=v_~SIZE~0_574, main_~c~0=v_main_~c~0_1593, main_#t~post5=|v_main_#t~post5_839|, ~last~0=v_~last~0_636} OutVars{~SIZE~0=v_~SIZE~0_574, main_#t~post5=|v_main_#t~post5_835|, main_~c~0=v_main_~c~0_1592, ~last~0=v_~last~0_636} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {92268#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:04:56,587 INFO L290 TraceCheckUtils]: 16: Hoare triple {92268#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [349] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {92269#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:04:56,588 INFO L290 TraceCheckUtils]: 17: Hoare triple {92269#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {92270#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:56,588 INFO L290 TraceCheckUtils]: 18: Hoare triple {92270#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {92270#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:56,589 INFO L290 TraceCheckUtils]: 19: Hoare triple {92270#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {92271#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:56,589 INFO L290 TraceCheckUtils]: 20: Hoare triple {92271#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {92271#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:04:56,590 INFO L272 TraceCheckUtils]: 21: Hoare triple {92271#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {92272#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:04:56,590 INFO L290 TraceCheckUtils]: 22: Hoare triple {92272#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {92273#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:04:56,590 INFO L290 TraceCheckUtils]: 23: Hoare triple {92273#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {92257#false} is VALID [2022-04-28 04:04:56,590 INFO L290 TraceCheckUtils]: 24: Hoare triple {92257#false} assume !false; {92257#false} is VALID [2022-04-28 04:04:56,590 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:04:56,591 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:04:56,591 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [672570143] [2022-04-28 04:04:56,591 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [672570143] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:04:56,591 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1361769063] [2022-04-28 04:04:56,591 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:04:56,591 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:04:56,591 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:04:56,592 INFO L229 MonitoredProcess]: Starting monitored process 63 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:04:56,593 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (63)] Waiting until timeout for monitored process [2022-04-28 04:04:56,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:56,621 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:04:56,628 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:04:56,628 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:04:56,912 INFO L272 TraceCheckUtils]: 0: Hoare triple {92256#true} call ULTIMATE.init(); {92256#true} is VALID [2022-04-28 04:04:56,913 INFO L290 TraceCheckUtils]: 1: Hoare triple {92256#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,913 INFO L290 TraceCheckUtils]: 2: Hoare triple {92261#(<= 20 ~SIZE~0)} assume true; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,914 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {92261#(<= 20 ~SIZE~0)} {92256#true} #90#return; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,914 INFO L272 TraceCheckUtils]: 4: Hoare triple {92261#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,914 INFO L290 TraceCheckUtils]: 5: Hoare triple {92261#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,915 INFO L272 TraceCheckUtils]: 6: Hoare triple {92261#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,915 INFO L290 TraceCheckUtils]: 7: Hoare triple {92261#(<= 20 ~SIZE~0)} ~cond := #in~cond; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,915 INFO L290 TraceCheckUtils]: 8: Hoare triple {92261#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,915 INFO L290 TraceCheckUtils]: 9: Hoare triple {92261#(<= 20 ~SIZE~0)} assume true; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,916 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {92261#(<= 20 ~SIZE~0)} {92261#(<= 20 ~SIZE~0)} #86#return; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,916 INFO L290 TraceCheckUtils]: 11: Hoare triple {92261#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:04:56,917 INFO L290 TraceCheckUtils]: 12: Hoare triple {92261#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {92314#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:04:56,917 INFO L290 TraceCheckUtils]: 13: Hoare triple {92314#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [350] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_635 v_main_~c~0_1591)) (.cse1 (= v_main_~c~0_1591 v_main_~c~0_1590)) (.cse2 (= v_main_~st~0_863 v_main_~st~0_862))) (or (and (< v_main_~c~0_1590 (+ v_~SIZE~0_573 1)) (< v_main_~c~0_1591 v_main_~c~0_1590) .cse0 (= v_main_~st~0_862 0)) (and .cse1 .cse2 (= |v_main_#t~post5_834| |v_main_#t~post5_836|) (or (not (< v_main_~c~0_1591 v_~SIZE~0_573)) (not .cse0))) (and (= v_~last~0_635 v_~last~0_635) .cse1 .cse2 (= v_~SIZE~0_573 v_~SIZE~0_573) (= |v_main_#t~post5_836| |v_main_#t~post5_834|)))) InVars {~SIZE~0=v_~SIZE~0_573, main_~c~0=v_main_~c~0_1591, main_#t~post5=|v_main_#t~post5_836|, main_~st~0=v_main_~st~0_863, ~last~0=v_~last~0_635} OutVars{~SIZE~0=v_~SIZE~0_573, main_#t~post5=|v_main_#t~post5_834|, main_~c~0=v_main_~c~0_1590, main_~st~0=v_main_~st~0_862, ~last~0=v_~last~0_635} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {92318#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:04:56,918 INFO L290 TraceCheckUtils]: 14: Hoare triple {92318#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [351] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {92318#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:04:56,918 INFO L290 TraceCheckUtils]: 15: Hoare triple {92318#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [352] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_839| |v_main_#t~post5_835|)) (.cse1 (= v_main_~c~0_1593 v_main_~c~0_1592))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_1593 v_~last~0_636)) (not (< v_main_~c~0_1593 v_~SIZE~0_574)))) (and (< v_main_~c~0_1592 (+ v_~SIZE~0_574 1)) (< v_main_~c~0_1592 (+ v_~last~0_636 1)) (< v_main_~c~0_1593 v_main_~c~0_1592)) (and .cse0 (= v_~last~0_636 v_~last~0_636) .cse1 (= v_~SIZE~0_574 v_~SIZE~0_574)))) InVars {~SIZE~0=v_~SIZE~0_574, main_~c~0=v_main_~c~0_1593, main_#t~post5=|v_main_#t~post5_839|, ~last~0=v_~last~0_636} OutVars{~SIZE~0=v_~SIZE~0_574, main_#t~post5=|v_main_#t~post5_835|, main_~c~0=v_main_~c~0_1592, ~last~0=v_~last~0_636} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {92318#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:04:56,919 INFO L290 TraceCheckUtils]: 16: Hoare triple {92318#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [349] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {92328#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:04:56,919 INFO L290 TraceCheckUtils]: 17: Hoare triple {92328#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {92257#false} is VALID [2022-04-28 04:04:56,920 INFO L290 TraceCheckUtils]: 18: Hoare triple {92257#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {92257#false} is VALID [2022-04-28 04:04:56,920 INFO L290 TraceCheckUtils]: 19: Hoare triple {92257#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {92257#false} is VALID [2022-04-28 04:04:56,920 INFO L290 TraceCheckUtils]: 20: Hoare triple {92257#false} assume !(~d~0 == ~SIZE~0); {92257#false} is VALID [2022-04-28 04:04:56,920 INFO L272 TraceCheckUtils]: 21: Hoare triple {92257#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {92257#false} is VALID [2022-04-28 04:04:56,920 INFO L290 TraceCheckUtils]: 22: Hoare triple {92257#false} ~cond := #in~cond; {92257#false} is VALID [2022-04-28 04:04:56,920 INFO L290 TraceCheckUtils]: 23: Hoare triple {92257#false} assume 0 == ~cond; {92257#false} is VALID [2022-04-28 04:04:56,920 INFO L290 TraceCheckUtils]: 24: Hoare triple {92257#false} assume !false; {92257#false} is VALID [2022-04-28 04:04:56,920 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:04:56,920 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:04:57,261 INFO L290 TraceCheckUtils]: 24: Hoare triple {92257#false} assume !false; {92257#false} is VALID [2022-04-28 04:04:57,262 INFO L290 TraceCheckUtils]: 23: Hoare triple {92257#false} assume 0 == ~cond; {92257#false} is VALID [2022-04-28 04:04:57,262 INFO L290 TraceCheckUtils]: 22: Hoare triple {92257#false} ~cond := #in~cond; {92257#false} is VALID [2022-04-28 04:04:57,262 INFO L272 TraceCheckUtils]: 21: Hoare triple {92257#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {92257#false} is VALID [2022-04-28 04:04:57,262 INFO L290 TraceCheckUtils]: 20: Hoare triple {92257#false} assume !(~d~0 == ~SIZE~0); {92257#false} is VALID [2022-04-28 04:04:57,262 INFO L290 TraceCheckUtils]: 19: Hoare triple {92257#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {92257#false} is VALID [2022-04-28 04:04:57,262 INFO L290 TraceCheckUtils]: 18: Hoare triple {92257#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {92257#false} is VALID [2022-04-28 04:04:57,262 INFO L290 TraceCheckUtils]: 17: Hoare triple {92374#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {92257#false} is VALID [2022-04-28 04:04:57,263 INFO L290 TraceCheckUtils]: 16: Hoare triple {92378#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [349] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {92374#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:04:57,263 INFO L290 TraceCheckUtils]: 15: Hoare triple {92378#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [352] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_839| |v_main_#t~post5_835|)) (.cse1 (= v_main_~c~0_1593 v_main_~c~0_1592))) (or (and .cse0 .cse1 (or (not (< v_main_~c~0_1593 v_~last~0_636)) (not (< v_main_~c~0_1593 v_~SIZE~0_574)))) (and (< v_main_~c~0_1592 (+ v_~SIZE~0_574 1)) (< v_main_~c~0_1592 (+ v_~last~0_636 1)) (< v_main_~c~0_1593 v_main_~c~0_1592)) (and .cse0 (= v_~last~0_636 v_~last~0_636) .cse1 (= v_~SIZE~0_574 v_~SIZE~0_574)))) InVars {~SIZE~0=v_~SIZE~0_574, main_~c~0=v_main_~c~0_1593, main_#t~post5=|v_main_#t~post5_839|, ~last~0=v_~last~0_636} OutVars{~SIZE~0=v_~SIZE~0_574, main_#t~post5=|v_main_#t~post5_835|, main_~c~0=v_main_~c~0_1592, ~last~0=v_~last~0_636} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {92378#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:04:57,264 INFO L290 TraceCheckUtils]: 14: Hoare triple {92378#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [351] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {92378#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:04:57,264 INFO L290 TraceCheckUtils]: 13: Hoare triple {92388#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [350] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_635 v_main_~c~0_1591)) (.cse1 (= v_main_~c~0_1591 v_main_~c~0_1590)) (.cse2 (= v_main_~st~0_863 v_main_~st~0_862))) (or (and (< v_main_~c~0_1590 (+ v_~SIZE~0_573 1)) (< v_main_~c~0_1591 v_main_~c~0_1590) .cse0 (= v_main_~st~0_862 0)) (and .cse1 .cse2 (= |v_main_#t~post5_834| |v_main_#t~post5_836|) (or (not (< v_main_~c~0_1591 v_~SIZE~0_573)) (not .cse0))) (and (= v_~last~0_635 v_~last~0_635) .cse1 .cse2 (= v_~SIZE~0_573 v_~SIZE~0_573) (= |v_main_#t~post5_836| |v_main_#t~post5_834|)))) InVars {~SIZE~0=v_~SIZE~0_573, main_~c~0=v_main_~c~0_1591, main_#t~post5=|v_main_#t~post5_836|, main_~st~0=v_main_~st~0_863, ~last~0=v_~last~0_635} OutVars{~SIZE~0=v_~SIZE~0_573, main_#t~post5=|v_main_#t~post5_834|, main_~c~0=v_main_~c~0_1590, main_~st~0=v_main_~st~0_862, ~last~0=v_~last~0_635} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {92378#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:04:57,265 INFO L290 TraceCheckUtils]: 12: Hoare triple {92392#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {92388#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:04:57,265 INFO L290 TraceCheckUtils]: 11: Hoare triple {92392#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {92392#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:57,265 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {92256#true} {92392#(< 1 ~SIZE~0)} #86#return; {92392#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:57,265 INFO L290 TraceCheckUtils]: 9: Hoare triple {92256#true} assume true; {92256#true} is VALID [2022-04-28 04:04:57,266 INFO L290 TraceCheckUtils]: 8: Hoare triple {92256#true} assume !(0 == ~cond); {92256#true} is VALID [2022-04-28 04:04:57,266 INFO L290 TraceCheckUtils]: 7: Hoare triple {92256#true} ~cond := #in~cond; {92256#true} is VALID [2022-04-28 04:04:57,266 INFO L272 TraceCheckUtils]: 6: Hoare triple {92392#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {92256#true} is VALID [2022-04-28 04:04:57,266 INFO L290 TraceCheckUtils]: 5: Hoare triple {92392#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {92392#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:57,266 INFO L272 TraceCheckUtils]: 4: Hoare triple {92392#(< 1 ~SIZE~0)} call #t~ret7 := main(); {92392#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:57,267 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {92392#(< 1 ~SIZE~0)} {92256#true} #90#return; {92392#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:57,267 INFO L290 TraceCheckUtils]: 2: Hoare triple {92392#(< 1 ~SIZE~0)} assume true; {92392#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:57,267 INFO L290 TraceCheckUtils]: 1: Hoare triple {92256#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {92392#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:04:57,267 INFO L272 TraceCheckUtils]: 0: Hoare triple {92256#true} call ULTIMATE.init(); {92256#true} is VALID [2022-04-28 04:04:57,267 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:04:57,268 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1361769063] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:04:57,268 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:04:57,268 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:04:58,159 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:04:58,159 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [716102024] [2022-04-28 04:04:58,159 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [716102024] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:04:58,159 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:04:58,159 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [28] imperfect sequences [] total 28 [2022-04-28 04:04:58,160 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1610743718] [2022-04-28 04:04:58,160 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:04:58,160 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 1.8571428571428572) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:04:58,160 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:04:58,160 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 28 states, 28 states have (on average 1.8571428571428572) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:04:58,188 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:04:58,188 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-28 04:04:58,188 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:04:58,188 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-28 04:04:58,189 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=217, Invalid=1115, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 04:04:58,189 INFO L87 Difference]: Start difference. First operand 226 states and 272 transitions. Second operand has 28 states, 28 states have (on average 1.8571428571428572) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:00,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:05:00,926 INFO L93 Difference]: Finished difference Result 392 states and 471 transitions. [2022-04-28 04:05:00,926 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 04:05:00,926 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 1.8571428571428572) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:05:00,926 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:05:00,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 1.8571428571428572) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:00,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 105 transitions. [2022-04-28 04:05:00,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 1.8571428571428572) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:00,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 105 transitions. [2022-04-28 04:05:00,934 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 105 transitions. [2022-04-28 04:05:01,011 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:05:01,014 INFO L225 Difference]: With dead ends: 392 [2022-04-28 04:05:01,014 INFO L226 Difference]: Without dead ends: 269 [2022-04-28 04:05:01,015 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 48 SyntacticMatches, 19 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 713 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=229, Invalid=1253, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 04:05:01,015 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 45 mSDsluCounter, 60 mSDsCounter, 0 mSdLazyCounter, 1481 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 80 SdHoareTripleChecker+Invalid, 1491 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1481 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 04:05:01,015 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [46 Valid, 80 Invalid, 1491 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1481 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 04:05:01,015 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 269 states. [2022-04-28 04:05:01,838 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 269 to 226. [2022-04-28 04:05:01,838 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:05:01,839 INFO L82 GeneralOperation]: Start isEquivalent. First operand 269 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:01,839 INFO L74 IsIncluded]: Start isIncluded. First operand 269 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:01,839 INFO L87 Difference]: Start difference. First operand 269 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:01,842 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:05:01,842 INFO L93 Difference]: Finished difference Result 269 states and 317 transitions. [2022-04-28 04:05:01,842 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 317 transitions. [2022-04-28 04:05:01,842 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:05:01,842 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:05:01,842 INFO L74 IsIncluded]: Start isIncluded. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 269 states. [2022-04-28 04:05:01,843 INFO L87 Difference]: Start difference. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 269 states. [2022-04-28 04:05:01,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:05:01,845 INFO L93 Difference]: Finished difference Result 269 states and 317 transitions. [2022-04-28 04:05:01,845 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 317 transitions. [2022-04-28 04:05:01,846 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:05:01,846 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:05:01,846 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:05:01,846 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:05:01,846 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:01,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-28 04:05:01,849 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-28 04:05:01,849 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:05:01,849 INFO L495 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-28 04:05:01,849 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 28 states, 28 states have (on average 1.8571428571428572) internal successors, (52), 26 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:01,849 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-28 04:05:03,027 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 272 edges. 272 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:05:03,027 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-28 04:05:03,028 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-28 04:05:03,028 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:05:03,028 INFO L195 NwaCegarLoop]: trace histogram [12, 12, 8, 4, 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:05:03,044 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (63)] Forceful destruction successful, exit code 0 [2022-04-28 04:05:03,244 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 63 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable69 [2022-04-28 04:05:03,244 INFO L420 AbstractCegarLoop]: === Iteration 71 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:05:03,244 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:05:03,244 INFO L85 PathProgramCache]: Analyzing trace with hash -1940326818, now seen corresponding path program 59 times [2022-04-28 04:05:03,244 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:05:03,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [502600420] [2022-04-28 04:05:03,431 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:05:07,528 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:05:07,625 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:05:07,627 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:05:07,630 INFO L85 PathProgramCache]: Analyzing trace with hash 1362900545, now seen corresponding path program 1 times [2022-04-28 04:05:07,630 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:05:07,630 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1490145308] [2022-04-28 04:05:07,630 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:05:07,630 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:05:07,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:07,798 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:05:07,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:07,802 INFO L290 TraceCheckUtils]: 0: Hoare triple {94246#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:07,803 INFO L290 TraceCheckUtils]: 1: Hoare triple {94233#(<= 20 ~SIZE~0)} assume true; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:07,803 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {94233#(<= 20 ~SIZE~0)} {94228#true} #90#return; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:07,803 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:05:07,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:07,805 INFO L290 TraceCheckUtils]: 0: Hoare triple {94228#true} ~cond := #in~cond; {94228#true} is VALID [2022-04-28 04:05:07,805 INFO L290 TraceCheckUtils]: 1: Hoare triple {94228#true} assume !(0 == ~cond); {94228#true} is VALID [2022-04-28 04:05:07,805 INFO L290 TraceCheckUtils]: 2: Hoare triple {94228#true} assume true; {94228#true} is VALID [2022-04-28 04:05:07,806 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {94228#true} {94233#(<= 20 ~SIZE~0)} #86#return; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:07,806 INFO L272 TraceCheckUtils]: 0: Hoare triple {94228#true} call ULTIMATE.init(); {94246#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:05:07,807 INFO L290 TraceCheckUtils]: 1: Hoare triple {94246#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:07,807 INFO L290 TraceCheckUtils]: 2: Hoare triple {94233#(<= 20 ~SIZE~0)} assume true; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:07,807 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {94233#(<= 20 ~SIZE~0)} {94228#true} #90#return; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:07,808 INFO L272 TraceCheckUtils]: 4: Hoare triple {94233#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:07,808 INFO L290 TraceCheckUtils]: 5: Hoare triple {94233#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:07,808 INFO L272 TraceCheckUtils]: 6: Hoare triple {94233#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {94228#true} is VALID [2022-04-28 04:05:07,808 INFO L290 TraceCheckUtils]: 7: Hoare triple {94228#true} ~cond := #in~cond; {94228#true} is VALID [2022-04-28 04:05:07,808 INFO L290 TraceCheckUtils]: 8: Hoare triple {94228#true} assume !(0 == ~cond); {94228#true} is VALID [2022-04-28 04:05:07,808 INFO L290 TraceCheckUtils]: 9: Hoare triple {94228#true} assume true; {94228#true} is VALID [2022-04-28 04:05:07,808 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {94228#true} {94233#(<= 20 ~SIZE~0)} #86#return; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:07,809 INFO L290 TraceCheckUtils]: 11: Hoare triple {94233#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {94238#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:05:07,809 INFO L290 TraceCheckUtils]: 12: Hoare triple {94238#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {94239#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:05:07,810 INFO L290 TraceCheckUtils]: 13: Hoare triple {94239#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [354] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_645 v_main_~c~0_1620)) (.cse1 (= v_main_~st~0_881 v_main_~st~0_880)) (.cse2 (= |v_main_#t~post5_849| |v_main_#t~post5_847|))) (or (and (< v_main_~c~0_1620 v_main_~c~0_1619) (= v_main_~st~0_880 0) (< v_main_~c~0_1619 (+ v_~SIZE~0_582 1)) .cse0) (and (= v_main_~c~0_1619 v_main_~c~0_1620) .cse1 (or (not (< v_main_~c~0_1620 v_~SIZE~0_582)) (not .cse0)) .cse2) (and .cse1 (= v_main_~c~0_1620 v_main_~c~0_1619) (= v_~last~0_645 v_~last~0_645) .cse2 (= v_~SIZE~0_582 v_~SIZE~0_582)))) InVars {~SIZE~0=v_~SIZE~0_582, main_~c~0=v_main_~c~0_1620, main_#t~post5=|v_main_#t~post5_849|, main_~st~0=v_main_~st~0_881, ~last~0=v_~last~0_645} OutVars{~SIZE~0=v_~SIZE~0_582, main_#t~post5=|v_main_#t~post5_847|, main_~c~0=v_main_~c~0_1619, main_~st~0=v_main_~st~0_880, ~last~0=v_~last~0_645} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {94240#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:05:07,810 INFO L290 TraceCheckUtils]: 14: Hoare triple {94240#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [355] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {94240#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:05:07,811 INFO L290 TraceCheckUtils]: 15: Hoare triple {94240#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [356] L25-3-->L25-4_primed: Formula: (or (and (= v_main_~c~0_1622 v_main_~c~0_1621) (= v_~last~0_646 v_~last~0_646) (= v_~SIZE~0_583 v_~SIZE~0_583) (= |v_main_#t~post5_852| |v_main_#t~post5_848|)) (and (or (not (< v_main_~c~0_1622 v_~last~0_646)) (not (< v_main_~c~0_1622 v_~SIZE~0_583))) (= v_main_~c~0_1621 v_main_~c~0_1622) (= |v_main_#t~post5_848| |v_main_#t~post5_852|)) (and (< v_main_~c~0_1621 (+ v_~last~0_646 1)) (< v_main_~c~0_1621 (+ v_~SIZE~0_583 1)) (< v_main_~c~0_1622 v_main_~c~0_1621))) InVars {~SIZE~0=v_~SIZE~0_583, main_~c~0=v_main_~c~0_1622, main_#t~post5=|v_main_#t~post5_852|, ~last~0=v_~last~0_646} OutVars{~SIZE~0=v_~SIZE~0_583, main_#t~post5=|v_main_#t~post5_848|, main_~c~0=v_main_~c~0_1621, ~last~0=v_~last~0_646} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {94240#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:05:07,812 INFO L290 TraceCheckUtils]: 16: Hoare triple {94240#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [353] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {94241#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:05:07,812 INFO L290 TraceCheckUtils]: 17: Hoare triple {94241#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {94242#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:07,813 INFO L290 TraceCheckUtils]: 18: Hoare triple {94242#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {94242#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:07,813 INFO L290 TraceCheckUtils]: 19: Hoare triple {94242#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {94243#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:07,814 INFO L290 TraceCheckUtils]: 20: Hoare triple {94243#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {94243#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:07,814 INFO L272 TraceCheckUtils]: 21: Hoare triple {94243#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {94244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:05:07,815 INFO L290 TraceCheckUtils]: 22: Hoare triple {94244#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {94245#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:05:07,815 INFO L290 TraceCheckUtils]: 23: Hoare triple {94245#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {94229#false} is VALID [2022-04-28 04:05:07,815 INFO L290 TraceCheckUtils]: 24: Hoare triple {94229#false} assume !false; {94229#false} is VALID [2022-04-28 04:05:07,815 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:05:07,815 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:05:07,815 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1490145308] [2022-04-28 04:05:07,816 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1490145308] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:05:07,816 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1899945995] [2022-04-28 04:05:07,816 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:05:07,816 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:05:07,816 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:05:07,818 INFO L229 MonitoredProcess]: Starting monitored process 64 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:05:07,818 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (64)] Waiting until timeout for monitored process [2022-04-28 04:05:07,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:07,849 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:05:07,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:07,858 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:05:08,125 INFO L272 TraceCheckUtils]: 0: Hoare triple {94228#true} call ULTIMATE.init(); {94228#true} is VALID [2022-04-28 04:05:08,126 INFO L290 TraceCheckUtils]: 1: Hoare triple {94228#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:08,126 INFO L290 TraceCheckUtils]: 2: Hoare triple {94233#(<= 20 ~SIZE~0)} assume true; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:08,126 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {94233#(<= 20 ~SIZE~0)} {94228#true} #90#return; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:08,126 INFO L272 TraceCheckUtils]: 4: Hoare triple {94233#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:08,127 INFO L290 TraceCheckUtils]: 5: Hoare triple {94233#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:08,127 INFO L272 TraceCheckUtils]: 6: Hoare triple {94233#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:08,127 INFO L290 TraceCheckUtils]: 7: Hoare triple {94233#(<= 20 ~SIZE~0)} ~cond := #in~cond; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:08,128 INFO L290 TraceCheckUtils]: 8: Hoare triple {94233#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:08,128 INFO L290 TraceCheckUtils]: 9: Hoare triple {94233#(<= 20 ~SIZE~0)} assume true; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:08,128 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {94233#(<= 20 ~SIZE~0)} {94233#(<= 20 ~SIZE~0)} #86#return; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:08,129 INFO L290 TraceCheckUtils]: 11: Hoare triple {94233#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:08,129 INFO L290 TraceCheckUtils]: 12: Hoare triple {94233#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {94286#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:05:08,130 INFO L290 TraceCheckUtils]: 13: Hoare triple {94286#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [354] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_645 v_main_~c~0_1620)) (.cse1 (= v_main_~st~0_881 v_main_~st~0_880)) (.cse2 (= |v_main_#t~post5_849| |v_main_#t~post5_847|))) (or (and (< v_main_~c~0_1620 v_main_~c~0_1619) (= v_main_~st~0_880 0) (< v_main_~c~0_1619 (+ v_~SIZE~0_582 1)) .cse0) (and (= v_main_~c~0_1619 v_main_~c~0_1620) .cse1 (or (not (< v_main_~c~0_1620 v_~SIZE~0_582)) (not .cse0)) .cse2) (and .cse1 (= v_main_~c~0_1620 v_main_~c~0_1619) (= v_~last~0_645 v_~last~0_645) .cse2 (= v_~SIZE~0_582 v_~SIZE~0_582)))) InVars {~SIZE~0=v_~SIZE~0_582, main_~c~0=v_main_~c~0_1620, main_#t~post5=|v_main_#t~post5_849|, main_~st~0=v_main_~st~0_881, ~last~0=v_~last~0_645} OutVars{~SIZE~0=v_~SIZE~0_582, main_#t~post5=|v_main_#t~post5_847|, main_~c~0=v_main_~c~0_1619, main_~st~0=v_main_~st~0_880, ~last~0=v_~last~0_645} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {94290#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:05:08,130 INFO L290 TraceCheckUtils]: 14: Hoare triple {94290#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [355] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {94290#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:05:08,131 INFO L290 TraceCheckUtils]: 15: Hoare triple {94290#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [356] L25-3-->L25-4_primed: Formula: (or (and (= v_main_~c~0_1622 v_main_~c~0_1621) (= v_~last~0_646 v_~last~0_646) (= v_~SIZE~0_583 v_~SIZE~0_583) (= |v_main_#t~post5_852| |v_main_#t~post5_848|)) (and (or (not (< v_main_~c~0_1622 v_~last~0_646)) (not (< v_main_~c~0_1622 v_~SIZE~0_583))) (= v_main_~c~0_1621 v_main_~c~0_1622) (= |v_main_#t~post5_848| |v_main_#t~post5_852|)) (and (< v_main_~c~0_1621 (+ v_~last~0_646 1)) (< v_main_~c~0_1621 (+ v_~SIZE~0_583 1)) (< v_main_~c~0_1622 v_main_~c~0_1621))) InVars {~SIZE~0=v_~SIZE~0_583, main_~c~0=v_main_~c~0_1622, main_#t~post5=|v_main_#t~post5_852|, ~last~0=v_~last~0_646} OutVars{~SIZE~0=v_~SIZE~0_583, main_#t~post5=|v_main_#t~post5_848|, main_~c~0=v_main_~c~0_1621, ~last~0=v_~last~0_646} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {94290#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:05:08,131 INFO L290 TraceCheckUtils]: 16: Hoare triple {94290#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [353] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {94300#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:05:08,132 INFO L290 TraceCheckUtils]: 17: Hoare triple {94300#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {94229#false} is VALID [2022-04-28 04:05:08,132 INFO L290 TraceCheckUtils]: 18: Hoare triple {94229#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {94229#false} is VALID [2022-04-28 04:05:08,132 INFO L290 TraceCheckUtils]: 19: Hoare triple {94229#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {94229#false} is VALID [2022-04-28 04:05:08,132 INFO L290 TraceCheckUtils]: 20: Hoare triple {94229#false} assume !(~d~0 == ~SIZE~0); {94229#false} is VALID [2022-04-28 04:05:08,132 INFO L272 TraceCheckUtils]: 21: Hoare triple {94229#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {94229#false} is VALID [2022-04-28 04:05:08,132 INFO L290 TraceCheckUtils]: 22: Hoare triple {94229#false} ~cond := #in~cond; {94229#false} is VALID [2022-04-28 04:05:08,132 INFO L290 TraceCheckUtils]: 23: Hoare triple {94229#false} assume 0 == ~cond; {94229#false} is VALID [2022-04-28 04:05:08,132 INFO L290 TraceCheckUtils]: 24: Hoare triple {94229#false} assume !false; {94229#false} is VALID [2022-04-28 04:05:08,133 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:05:08,133 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:05:08,417 INFO L290 TraceCheckUtils]: 24: Hoare triple {94229#false} assume !false; {94229#false} is VALID [2022-04-28 04:05:08,417 INFO L290 TraceCheckUtils]: 23: Hoare triple {94229#false} assume 0 == ~cond; {94229#false} is VALID [2022-04-28 04:05:08,417 INFO L290 TraceCheckUtils]: 22: Hoare triple {94229#false} ~cond := #in~cond; {94229#false} is VALID [2022-04-28 04:05:08,417 INFO L272 TraceCheckUtils]: 21: Hoare triple {94229#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {94229#false} is VALID [2022-04-28 04:05:08,417 INFO L290 TraceCheckUtils]: 20: Hoare triple {94229#false} assume !(~d~0 == ~SIZE~0); {94229#false} is VALID [2022-04-28 04:05:08,417 INFO L290 TraceCheckUtils]: 19: Hoare triple {94229#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {94229#false} is VALID [2022-04-28 04:05:08,417 INFO L290 TraceCheckUtils]: 18: Hoare triple {94229#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {94229#false} is VALID [2022-04-28 04:05:08,418 INFO L290 TraceCheckUtils]: 17: Hoare triple {94346#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {94229#false} is VALID [2022-04-28 04:05:08,418 INFO L290 TraceCheckUtils]: 16: Hoare triple {94350#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [353] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {94346#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:05:08,418 INFO L290 TraceCheckUtils]: 15: Hoare triple {94350#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [356] L25-3-->L25-4_primed: Formula: (or (and (= v_main_~c~0_1622 v_main_~c~0_1621) (= v_~last~0_646 v_~last~0_646) (= v_~SIZE~0_583 v_~SIZE~0_583) (= |v_main_#t~post5_852| |v_main_#t~post5_848|)) (and (or (not (< v_main_~c~0_1622 v_~last~0_646)) (not (< v_main_~c~0_1622 v_~SIZE~0_583))) (= v_main_~c~0_1621 v_main_~c~0_1622) (= |v_main_#t~post5_848| |v_main_#t~post5_852|)) (and (< v_main_~c~0_1621 (+ v_~last~0_646 1)) (< v_main_~c~0_1621 (+ v_~SIZE~0_583 1)) (< v_main_~c~0_1622 v_main_~c~0_1621))) InVars {~SIZE~0=v_~SIZE~0_583, main_~c~0=v_main_~c~0_1622, main_#t~post5=|v_main_#t~post5_852|, ~last~0=v_~last~0_646} OutVars{~SIZE~0=v_~SIZE~0_583, main_#t~post5=|v_main_#t~post5_848|, main_~c~0=v_main_~c~0_1621, ~last~0=v_~last~0_646} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {94350#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:05:08,419 INFO L290 TraceCheckUtils]: 14: Hoare triple {94350#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [355] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {94350#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:05:08,419 INFO L290 TraceCheckUtils]: 13: Hoare triple {94360#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [354] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_645 v_main_~c~0_1620)) (.cse1 (= v_main_~st~0_881 v_main_~st~0_880)) (.cse2 (= |v_main_#t~post5_849| |v_main_#t~post5_847|))) (or (and (< v_main_~c~0_1620 v_main_~c~0_1619) (= v_main_~st~0_880 0) (< v_main_~c~0_1619 (+ v_~SIZE~0_582 1)) .cse0) (and (= v_main_~c~0_1619 v_main_~c~0_1620) .cse1 (or (not (< v_main_~c~0_1620 v_~SIZE~0_582)) (not .cse0)) .cse2) (and .cse1 (= v_main_~c~0_1620 v_main_~c~0_1619) (= v_~last~0_645 v_~last~0_645) .cse2 (= v_~SIZE~0_582 v_~SIZE~0_582)))) InVars {~SIZE~0=v_~SIZE~0_582, main_~c~0=v_main_~c~0_1620, main_#t~post5=|v_main_#t~post5_849|, main_~st~0=v_main_~st~0_881, ~last~0=v_~last~0_645} OutVars{~SIZE~0=v_~SIZE~0_582, main_#t~post5=|v_main_#t~post5_847|, main_~c~0=v_main_~c~0_1619, main_~st~0=v_main_~st~0_880, ~last~0=v_~last~0_645} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {94350#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:05:08,420 INFO L290 TraceCheckUtils]: 12: Hoare triple {94364#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {94360#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:05:08,420 INFO L290 TraceCheckUtils]: 11: Hoare triple {94364#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {94364#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:08,420 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {94228#true} {94364#(< 1 ~SIZE~0)} #86#return; {94364#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:08,420 INFO L290 TraceCheckUtils]: 9: Hoare triple {94228#true} assume true; {94228#true} is VALID [2022-04-28 04:05:08,420 INFO L290 TraceCheckUtils]: 8: Hoare triple {94228#true} assume !(0 == ~cond); {94228#true} is VALID [2022-04-28 04:05:08,420 INFO L290 TraceCheckUtils]: 7: Hoare triple {94228#true} ~cond := #in~cond; {94228#true} is VALID [2022-04-28 04:05:08,420 INFO L272 TraceCheckUtils]: 6: Hoare triple {94364#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {94228#true} is VALID [2022-04-28 04:05:08,421 INFO L290 TraceCheckUtils]: 5: Hoare triple {94364#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {94364#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:08,421 INFO L272 TraceCheckUtils]: 4: Hoare triple {94364#(< 1 ~SIZE~0)} call #t~ret7 := main(); {94364#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:08,421 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {94364#(< 1 ~SIZE~0)} {94228#true} #90#return; {94364#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:08,421 INFO L290 TraceCheckUtils]: 2: Hoare triple {94364#(< 1 ~SIZE~0)} assume true; {94364#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:08,422 INFO L290 TraceCheckUtils]: 1: Hoare triple {94228#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {94364#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:08,422 INFO L272 TraceCheckUtils]: 0: Hoare triple {94228#true} call ULTIMATE.init(); {94228#true} is VALID [2022-04-28 04:05:08,422 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:05:08,422 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1899945995] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:05:08,422 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:05:08,422 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:05:09,280 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:05:09,280 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [502600420] [2022-04-28 04:05:09,280 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [502600420] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:05:09,280 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:05:09,280 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-28 04:05:09,280 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2025479235] [2022-04-28 04:05:09,280 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:05:09,281 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 1.793103448275862) internal successors, (52), 27 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:05:09,281 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:05:09,281 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 29 states, 29 states have (on average 1.793103448275862) internal successors, (52), 27 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:09,312 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:05:09,312 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-28 04:05:09,313 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:05:09,313 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-28 04:05:09,313 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=231, Invalid=1175, Unknown=0, NotChecked=0, Total=1406 [2022-04-28 04:05:09,313 INFO L87 Difference]: Start difference. First operand 226 states and 272 transitions. Second operand has 29 states, 29 states have (on average 1.793103448275862) internal successors, (52), 27 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:12,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:05:12,006 INFO L93 Difference]: Finished difference Result 389 states and 468 transitions. [2022-04-28 04:05:12,006 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-28 04:05:12,006 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 1.793103448275862) internal successors, (52), 27 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:05:12,006 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:05:12,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 1.793103448275862) internal successors, (52), 27 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:12,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 106 transitions. [2022-04-28 04:05:12,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 1.793103448275862) internal successors, (52), 27 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:12,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 106 transitions. [2022-04-28 04:05:12,008 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 106 transitions. [2022-04-28 04:05:12,072 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:05:12,075 INFO L225 Difference]: With dead ends: 389 [2022-04-28 04:05:12,076 INFO L226 Difference]: Without dead ends: 266 [2022-04-28 04:05:12,076 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 48 SyntacticMatches, 18 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 754 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=243, Invalid=1317, Unknown=0, NotChecked=0, Total=1560 [2022-04-28 04:05:12,076 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 47 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 1435 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 74 SdHoareTripleChecker+Invalid, 1445 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1435 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 04:05:12,076 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 74 Invalid, 1445 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1435 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 04:05:12,077 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 266 states. [2022-04-28 04:05:12,702 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 266 to 226. [2022-04-28 04:05:12,702 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:05:12,703 INFO L82 GeneralOperation]: Start isEquivalent. First operand 266 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:12,703 INFO L74 IsIncluded]: Start isIncluded. First operand 266 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:12,703 INFO L87 Difference]: Start difference. First operand 266 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:12,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:05:12,706 INFO L93 Difference]: Finished difference Result 266 states and 314 transitions. [2022-04-28 04:05:12,706 INFO L276 IsEmpty]: Start isEmpty. Operand 266 states and 314 transitions. [2022-04-28 04:05:12,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:05:12,706 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:05:12,706 INFO L74 IsIncluded]: Start isIncluded. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 266 states. [2022-04-28 04:05:12,706 INFO L87 Difference]: Start difference. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 266 states. [2022-04-28 04:05:12,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:05:12,709 INFO L93 Difference]: Finished difference Result 266 states and 314 transitions. [2022-04-28 04:05:12,709 INFO L276 IsEmpty]: Start isEmpty. Operand 266 states and 314 transitions. [2022-04-28 04:05:12,709 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:05:12,709 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:05:12,709 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:05:12,709 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:05:12,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:12,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-28 04:05:12,712 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-28 04:05:12,712 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:05:12,712 INFO L495 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-28 04:05:12,713 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 29 states have (on average 1.793103448275862) internal successors, (52), 27 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:12,713 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-28 04:05:13,902 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 272 edges. 272 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:05:13,902 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-28 04:05:13,903 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-28 04:05:13,903 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:05:13,903 INFO L195 NwaCegarLoop]: trace histogram [12, 12, 7, 5, 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:05:13,918 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (64)] Forceful destruction successful, exit code 0 [2022-04-28 04:05:14,119 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable70,64 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:05:14,119 INFO L420 AbstractCegarLoop]: === Iteration 72 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:05:14,119 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:05:14,119 INFO L85 PathProgramCache]: Analyzing trace with hash -1665567204, now seen corresponding path program 60 times [2022-04-28 04:05:14,120 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:05:14,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [949199402] [2022-04-28 04:05:18,205 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:05:18,313 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:05:18,506 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:05:18,508 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:05:18,510 INFO L85 PathProgramCache]: Analyzing trace with hash -439543999, now seen corresponding path program 1 times [2022-04-28 04:05:18,510 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:05:18,510 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1185356276] [2022-04-28 04:05:18,511 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:05:18,511 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:05:18,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:18,623 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:05:18,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:18,627 INFO L290 TraceCheckUtils]: 0: Hoare triple {96207#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {96194#(<= 20 ~SIZE~0)} assume true; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,627 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {96194#(<= 20 ~SIZE~0)} {96189#true} #90#return; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,627 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:05:18,628 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:18,629 INFO L290 TraceCheckUtils]: 0: Hoare triple {96189#true} ~cond := #in~cond; {96189#true} is VALID [2022-04-28 04:05:18,629 INFO L290 TraceCheckUtils]: 1: Hoare triple {96189#true} assume !(0 == ~cond); {96189#true} is VALID [2022-04-28 04:05:18,629 INFO L290 TraceCheckUtils]: 2: Hoare triple {96189#true} assume true; {96189#true} is VALID [2022-04-28 04:05:18,629 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {96189#true} {96194#(<= 20 ~SIZE~0)} #86#return; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,629 INFO L272 TraceCheckUtils]: 0: Hoare triple {96189#true} call ULTIMATE.init(); {96207#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:05:18,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {96207#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {96194#(<= 20 ~SIZE~0)} assume true; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,636 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {96194#(<= 20 ~SIZE~0)} {96189#true} #90#return; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,636 INFO L272 TraceCheckUtils]: 4: Hoare triple {96194#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,636 INFO L290 TraceCheckUtils]: 5: Hoare triple {96194#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,636 INFO L272 TraceCheckUtils]: 6: Hoare triple {96194#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {96189#true} is VALID [2022-04-28 04:05:18,636 INFO L290 TraceCheckUtils]: 7: Hoare triple {96189#true} ~cond := #in~cond; {96189#true} is VALID [2022-04-28 04:05:18,636 INFO L290 TraceCheckUtils]: 8: Hoare triple {96189#true} assume !(0 == ~cond); {96189#true} is VALID [2022-04-28 04:05:18,636 INFO L290 TraceCheckUtils]: 9: Hoare triple {96189#true} assume true; {96189#true} is VALID [2022-04-28 04:05:18,637 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {96189#true} {96194#(<= 20 ~SIZE~0)} #86#return; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,637 INFO L290 TraceCheckUtils]: 11: Hoare triple {96194#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {96199#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:05:18,637 INFO L290 TraceCheckUtils]: 12: Hoare triple {96199#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {96200#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:05:18,638 INFO L290 TraceCheckUtils]: 13: Hoare triple {96200#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [358] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1649 v_main_~c~0_1648)) (.cse1 (= v_main_~st~0_898 v_main_~st~0_897)) (.cse2 (= |v_main_#t~post5_862| |v_main_#t~post5_860|)) (.cse3 (<= v_~last~0_655 v_main_~c~0_1649))) (or (and (= v_~SIZE~0_591 v_~SIZE~0_591) .cse0 .cse1 (= v_~last~0_655 v_~last~0_655) .cse2) (and (or (not .cse3) (not (< v_main_~c~0_1649 v_~SIZE~0_591))) .cse0 .cse1 .cse2) (and .cse3 (= v_main_~st~0_897 0) (< v_main_~c~0_1648 (+ v_~SIZE~0_591 1)) (< v_main_~c~0_1649 v_main_~c~0_1648)))) InVars {~SIZE~0=v_~SIZE~0_591, main_~c~0=v_main_~c~0_1649, main_#t~post5=|v_main_#t~post5_862|, main_~st~0=v_main_~st~0_898, ~last~0=v_~last~0_655} OutVars{~SIZE~0=v_~SIZE~0_591, main_#t~post5=|v_main_#t~post5_860|, main_~c~0=v_main_~c~0_1648, main_~st~0=v_main_~st~0_897, ~last~0=v_~last~0_655} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {96201#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:05:18,638 INFO L290 TraceCheckUtils]: 14: Hoare triple {96201#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [359] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {96201#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:05:18,639 INFO L290 TraceCheckUtils]: 15: Hoare triple {96201#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [360] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_865| |v_main_#t~post5_861|)) (.cse1 (= v_main_~c~0_1651 v_main_~c~0_1650))) (or (and (or (not (< v_main_~c~0_1651 v_~SIZE~0_592)) (not (< v_main_~c~0_1651 v_~last~0_656))) .cse0 .cse1) (and (= v_~SIZE~0_592 v_~SIZE~0_592) .cse0 (= v_~last~0_656 v_~last~0_656) .cse1) (and (< v_main_~c~0_1651 v_main_~c~0_1650) (< v_main_~c~0_1650 (+ v_~last~0_656 1)) (< v_main_~c~0_1650 (+ v_~SIZE~0_592 1))))) InVars {~SIZE~0=v_~SIZE~0_592, main_~c~0=v_main_~c~0_1651, main_#t~post5=|v_main_#t~post5_865|, ~last~0=v_~last~0_656} OutVars{~SIZE~0=v_~SIZE~0_592, main_#t~post5=|v_main_#t~post5_861|, main_~c~0=v_main_~c~0_1650, ~last~0=v_~last~0_656} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {96201#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:05:18,639 INFO L290 TraceCheckUtils]: 16: Hoare triple {96201#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [357] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {96202#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:05:18,640 INFO L290 TraceCheckUtils]: 17: Hoare triple {96202#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {96203#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:18,640 INFO L290 TraceCheckUtils]: 18: Hoare triple {96203#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {96203#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:18,641 INFO L290 TraceCheckUtils]: 19: Hoare triple {96203#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {96204#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:18,641 INFO L290 TraceCheckUtils]: 20: Hoare triple {96204#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {96204#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:18,641 INFO L272 TraceCheckUtils]: 21: Hoare triple {96204#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {96205#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:05:18,642 INFO L290 TraceCheckUtils]: 22: Hoare triple {96205#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {96206#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:05:18,642 INFO L290 TraceCheckUtils]: 23: Hoare triple {96206#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {96190#false} is VALID [2022-04-28 04:05:18,642 INFO L290 TraceCheckUtils]: 24: Hoare triple {96190#false} assume !false; {96190#false} is VALID [2022-04-28 04:05:18,642 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:05:18,642 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:05:18,642 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1185356276] [2022-04-28 04:05:18,642 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1185356276] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:05:18,642 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1929027406] [2022-04-28 04:05:18,642 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:05:18,643 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:05:18,643 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:05:18,643 INFO L229 MonitoredProcess]: Starting monitored process 65 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:05:18,644 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (65)] Waiting until timeout for monitored process [2022-04-28 04:05:18,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:18,673 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:05:18,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:18,679 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:05:18,954 INFO L272 TraceCheckUtils]: 0: Hoare triple {96189#true} call ULTIMATE.init(); {96189#true} is VALID [2022-04-28 04:05:18,955 INFO L290 TraceCheckUtils]: 1: Hoare triple {96189#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,955 INFO L290 TraceCheckUtils]: 2: Hoare triple {96194#(<= 20 ~SIZE~0)} assume true; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {96194#(<= 20 ~SIZE~0)} {96189#true} #90#return; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,956 INFO L272 TraceCheckUtils]: 4: Hoare triple {96194#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,956 INFO L290 TraceCheckUtils]: 5: Hoare triple {96194#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,956 INFO L272 TraceCheckUtils]: 6: Hoare triple {96194#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,957 INFO L290 TraceCheckUtils]: 7: Hoare triple {96194#(<= 20 ~SIZE~0)} ~cond := #in~cond; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,957 INFO L290 TraceCheckUtils]: 8: Hoare triple {96194#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,957 INFO L290 TraceCheckUtils]: 9: Hoare triple {96194#(<= 20 ~SIZE~0)} assume true; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,958 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {96194#(<= 20 ~SIZE~0)} {96194#(<= 20 ~SIZE~0)} #86#return; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,958 INFO L290 TraceCheckUtils]: 11: Hoare triple {96194#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:18,958 INFO L290 TraceCheckUtils]: 12: Hoare triple {96194#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {96247#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:05:18,959 INFO L290 TraceCheckUtils]: 13: Hoare triple {96247#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [358] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1649 v_main_~c~0_1648)) (.cse1 (= v_main_~st~0_898 v_main_~st~0_897)) (.cse2 (= |v_main_#t~post5_862| |v_main_#t~post5_860|)) (.cse3 (<= v_~last~0_655 v_main_~c~0_1649))) (or (and (= v_~SIZE~0_591 v_~SIZE~0_591) .cse0 .cse1 (= v_~last~0_655 v_~last~0_655) .cse2) (and (or (not .cse3) (not (< v_main_~c~0_1649 v_~SIZE~0_591))) .cse0 .cse1 .cse2) (and .cse3 (= v_main_~st~0_897 0) (< v_main_~c~0_1648 (+ v_~SIZE~0_591 1)) (< v_main_~c~0_1649 v_main_~c~0_1648)))) InVars {~SIZE~0=v_~SIZE~0_591, main_~c~0=v_main_~c~0_1649, main_#t~post5=|v_main_#t~post5_862|, main_~st~0=v_main_~st~0_898, ~last~0=v_~last~0_655} OutVars{~SIZE~0=v_~SIZE~0_591, main_#t~post5=|v_main_#t~post5_860|, main_~c~0=v_main_~c~0_1648, main_~st~0=v_main_~st~0_897, ~last~0=v_~last~0_655} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {96251#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:05:18,959 INFO L290 TraceCheckUtils]: 14: Hoare triple {96251#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [359] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {96251#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:05:18,960 INFO L290 TraceCheckUtils]: 15: Hoare triple {96251#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [360] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_865| |v_main_#t~post5_861|)) (.cse1 (= v_main_~c~0_1651 v_main_~c~0_1650))) (or (and (or (not (< v_main_~c~0_1651 v_~SIZE~0_592)) (not (< v_main_~c~0_1651 v_~last~0_656))) .cse0 .cse1) (and (= v_~SIZE~0_592 v_~SIZE~0_592) .cse0 (= v_~last~0_656 v_~last~0_656) .cse1) (and (< v_main_~c~0_1651 v_main_~c~0_1650) (< v_main_~c~0_1650 (+ v_~last~0_656 1)) (< v_main_~c~0_1650 (+ v_~SIZE~0_592 1))))) InVars {~SIZE~0=v_~SIZE~0_592, main_~c~0=v_main_~c~0_1651, main_#t~post5=|v_main_#t~post5_865|, ~last~0=v_~last~0_656} OutVars{~SIZE~0=v_~SIZE~0_592, main_#t~post5=|v_main_#t~post5_861|, main_~c~0=v_main_~c~0_1650, ~last~0=v_~last~0_656} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {96251#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:05:18,961 INFO L290 TraceCheckUtils]: 16: Hoare triple {96251#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [357] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {96261#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:05:18,961 INFO L290 TraceCheckUtils]: 17: Hoare triple {96261#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {96190#false} is VALID [2022-04-28 04:05:18,961 INFO L290 TraceCheckUtils]: 18: Hoare triple {96190#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {96190#false} is VALID [2022-04-28 04:05:18,961 INFO L290 TraceCheckUtils]: 19: Hoare triple {96190#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {96190#false} is VALID [2022-04-28 04:05:18,961 INFO L290 TraceCheckUtils]: 20: Hoare triple {96190#false} assume !(~d~0 == ~SIZE~0); {96190#false} is VALID [2022-04-28 04:05:18,961 INFO L272 TraceCheckUtils]: 21: Hoare triple {96190#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {96190#false} is VALID [2022-04-28 04:05:18,961 INFO L290 TraceCheckUtils]: 22: Hoare triple {96190#false} ~cond := #in~cond; {96190#false} is VALID [2022-04-28 04:05:18,962 INFO L290 TraceCheckUtils]: 23: Hoare triple {96190#false} assume 0 == ~cond; {96190#false} is VALID [2022-04-28 04:05:18,962 INFO L290 TraceCheckUtils]: 24: Hoare triple {96190#false} assume !false; {96190#false} is VALID [2022-04-28 04:05:18,962 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:05:18,962 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:05:19,240 INFO L290 TraceCheckUtils]: 24: Hoare triple {96190#false} assume !false; {96190#false} is VALID [2022-04-28 04:05:19,240 INFO L290 TraceCheckUtils]: 23: Hoare triple {96190#false} assume 0 == ~cond; {96190#false} is VALID [2022-04-28 04:05:19,240 INFO L290 TraceCheckUtils]: 22: Hoare triple {96190#false} ~cond := #in~cond; {96190#false} is VALID [2022-04-28 04:05:19,240 INFO L272 TraceCheckUtils]: 21: Hoare triple {96190#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {96190#false} is VALID [2022-04-28 04:05:19,240 INFO L290 TraceCheckUtils]: 20: Hoare triple {96190#false} assume !(~d~0 == ~SIZE~0); {96190#false} is VALID [2022-04-28 04:05:19,240 INFO L290 TraceCheckUtils]: 19: Hoare triple {96190#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {96190#false} is VALID [2022-04-28 04:05:19,240 INFO L290 TraceCheckUtils]: 18: Hoare triple {96190#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {96190#false} is VALID [2022-04-28 04:05:19,241 INFO L290 TraceCheckUtils]: 17: Hoare triple {96307#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {96190#false} is VALID [2022-04-28 04:05:19,241 INFO L290 TraceCheckUtils]: 16: Hoare triple {96311#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [357] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {96307#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:05:19,241 INFO L290 TraceCheckUtils]: 15: Hoare triple {96311#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [360] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_865| |v_main_#t~post5_861|)) (.cse1 (= v_main_~c~0_1651 v_main_~c~0_1650))) (or (and (or (not (< v_main_~c~0_1651 v_~SIZE~0_592)) (not (< v_main_~c~0_1651 v_~last~0_656))) .cse0 .cse1) (and (= v_~SIZE~0_592 v_~SIZE~0_592) .cse0 (= v_~last~0_656 v_~last~0_656) .cse1) (and (< v_main_~c~0_1651 v_main_~c~0_1650) (< v_main_~c~0_1650 (+ v_~last~0_656 1)) (< v_main_~c~0_1650 (+ v_~SIZE~0_592 1))))) InVars {~SIZE~0=v_~SIZE~0_592, main_~c~0=v_main_~c~0_1651, main_#t~post5=|v_main_#t~post5_865|, ~last~0=v_~last~0_656} OutVars{~SIZE~0=v_~SIZE~0_592, main_#t~post5=|v_main_#t~post5_861|, main_~c~0=v_main_~c~0_1650, ~last~0=v_~last~0_656} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {96311#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:05:19,242 INFO L290 TraceCheckUtils]: 14: Hoare triple {96311#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [359] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {96311#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:05:19,242 INFO L290 TraceCheckUtils]: 13: Hoare triple {96321#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [358] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1649 v_main_~c~0_1648)) (.cse1 (= v_main_~st~0_898 v_main_~st~0_897)) (.cse2 (= |v_main_#t~post5_862| |v_main_#t~post5_860|)) (.cse3 (<= v_~last~0_655 v_main_~c~0_1649))) (or (and (= v_~SIZE~0_591 v_~SIZE~0_591) .cse0 .cse1 (= v_~last~0_655 v_~last~0_655) .cse2) (and (or (not .cse3) (not (< v_main_~c~0_1649 v_~SIZE~0_591))) .cse0 .cse1 .cse2) (and .cse3 (= v_main_~st~0_897 0) (< v_main_~c~0_1648 (+ v_~SIZE~0_591 1)) (< v_main_~c~0_1649 v_main_~c~0_1648)))) InVars {~SIZE~0=v_~SIZE~0_591, main_~c~0=v_main_~c~0_1649, main_#t~post5=|v_main_#t~post5_862|, main_~st~0=v_main_~st~0_898, ~last~0=v_~last~0_655} OutVars{~SIZE~0=v_~SIZE~0_591, main_#t~post5=|v_main_#t~post5_860|, main_~c~0=v_main_~c~0_1648, main_~st~0=v_main_~st~0_897, ~last~0=v_~last~0_655} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {96311#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:05:19,242 INFO L290 TraceCheckUtils]: 12: Hoare triple {96325#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {96321#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:05:19,243 INFO L290 TraceCheckUtils]: 11: Hoare triple {96325#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {96325#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:19,243 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {96189#true} {96325#(< 1 ~SIZE~0)} #86#return; {96325#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:19,243 INFO L290 TraceCheckUtils]: 9: Hoare triple {96189#true} assume true; {96189#true} is VALID [2022-04-28 04:05:19,243 INFO L290 TraceCheckUtils]: 8: Hoare triple {96189#true} assume !(0 == ~cond); {96189#true} is VALID [2022-04-28 04:05:19,243 INFO L290 TraceCheckUtils]: 7: Hoare triple {96189#true} ~cond := #in~cond; {96189#true} is VALID [2022-04-28 04:05:19,243 INFO L272 TraceCheckUtils]: 6: Hoare triple {96325#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {96189#true} is VALID [2022-04-28 04:05:19,243 INFO L290 TraceCheckUtils]: 5: Hoare triple {96325#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {96325#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:19,244 INFO L272 TraceCheckUtils]: 4: Hoare triple {96325#(< 1 ~SIZE~0)} call #t~ret7 := main(); {96325#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:19,244 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {96325#(< 1 ~SIZE~0)} {96189#true} #90#return; {96325#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:19,244 INFO L290 TraceCheckUtils]: 2: Hoare triple {96325#(< 1 ~SIZE~0)} assume true; {96325#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:19,244 INFO L290 TraceCheckUtils]: 1: Hoare triple {96189#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {96325#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:19,244 INFO L272 TraceCheckUtils]: 0: Hoare triple {96189#true} call ULTIMATE.init(); {96189#true} is VALID [2022-04-28 04:05:19,245 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:05:19,245 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1929027406] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:05:19,245 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:05:19,245 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:05:20,035 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:05:20,035 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [949199402] [2022-04-28 04:05:20,035 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [949199402] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:05:20,035 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:05:20,035 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [30] imperfect sequences [] total 30 [2022-04-28 04:05:20,035 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1744805894] [2022-04-28 04:05:20,035 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:05:20,036 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 30 states have (on average 1.7333333333333334) internal successors, (52), 28 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:05:20,036 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:05:20,036 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 30 states, 30 states have (on average 1.7333333333333334) internal successors, (52), 28 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:20,066 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:05:20,066 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-28 04:05:20,066 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:05:20,066 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-28 04:05:20,066 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=245, Invalid=1237, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 04:05:20,066 INFO L87 Difference]: Start difference. First operand 226 states and 272 transitions. Second operand has 30 states, 30 states have (on average 1.7333333333333334) internal successors, (52), 28 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:22,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:05:22,852 INFO L93 Difference]: Finished difference Result 386 states and 465 transitions. [2022-04-28 04:05:22,852 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-28 04:05:22,852 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 30 states have (on average 1.7333333333333334) internal successors, (52), 28 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:05:22,852 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:05:22,852 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 1.7333333333333334) internal successors, (52), 28 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:22,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 107 transitions. [2022-04-28 04:05:22,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 1.7333333333333334) internal successors, (52), 28 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:22,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 107 transitions. [2022-04-28 04:05:22,854 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 107 transitions. [2022-04-28 04:05:22,904 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:05:22,907 INFO L225 Difference]: With dead ends: 386 [2022-04-28 04:05:22,907 INFO L226 Difference]: Without dead ends: 263 [2022-04-28 04:05:22,907 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 48 SyntacticMatches, 17 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 786 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=257, Invalid=1383, Unknown=0, NotChecked=0, Total=1640 [2022-04-28 04:05:22,908 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 50 mSDsluCounter, 48 mSDsCounter, 0 mSdLazyCounter, 1392 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 68 SdHoareTripleChecker+Invalid, 1402 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1392 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 04:05:22,908 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [51 Valid, 68 Invalid, 1402 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1392 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 04:05:22,908 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 263 states. [2022-04-28 04:05:23,553 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 263 to 226. [2022-04-28 04:05:23,553 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:05:23,553 INFO L82 GeneralOperation]: Start isEquivalent. First operand 263 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:23,554 INFO L74 IsIncluded]: Start isIncluded. First operand 263 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:23,554 INFO L87 Difference]: Start difference. First operand 263 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:23,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:05:23,557 INFO L93 Difference]: Finished difference Result 263 states and 311 transitions. [2022-04-28 04:05:23,557 INFO L276 IsEmpty]: Start isEmpty. Operand 263 states and 311 transitions. [2022-04-28 04:05:23,557 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:05:23,557 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:05:23,557 INFO L74 IsIncluded]: Start isIncluded. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 263 states. [2022-04-28 04:05:23,557 INFO L87 Difference]: Start difference. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 263 states. [2022-04-28 04:05:23,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:05:23,560 INFO L93 Difference]: Finished difference Result 263 states and 311 transitions. [2022-04-28 04:05:23,560 INFO L276 IsEmpty]: Start isEmpty. Operand 263 states and 311 transitions. [2022-04-28 04:05:23,561 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:05:23,561 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:05:23,561 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:05:23,561 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:05:23,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:23,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-28 04:05:23,564 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-28 04:05:23,564 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:05:23,564 INFO L495 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-28 04:05:23,564 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 30 states, 30 states have (on average 1.7333333333333334) internal successors, (52), 28 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:23,564 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-28 04:05:24,895 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 272 edges. 272 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:05:24,895 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-28 04:05:24,895 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-28 04:05:24,895 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:05:24,895 INFO L195 NwaCegarLoop]: trace histogram [12, 12, 6, 6, 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:05:24,913 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (65)] Forceful destruction successful, exit code 0 [2022-04-28 04:05:25,106 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable71,65 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:05:25,106 INFO L420 AbstractCegarLoop]: === Iteration 73 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:05:25,107 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:05:25,107 INFO L85 PathProgramCache]: Analyzing trace with hash -279363810, now seen corresponding path program 61 times [2022-04-28 04:05:25,107 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:05:25,107 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [208404410] [2022-04-28 04:05:25,258 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:05:29,350 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:05:29,448 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:05:29,449 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:05:29,451 INFO L85 PathProgramCache]: Analyzing trace with hash 2052978753, now seen corresponding path program 1 times [2022-04-28 04:05:29,452 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:05:29,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [30506183] [2022-04-28 04:05:29,452 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:05:29,452 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:05:29,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:29,636 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:05:29,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:29,642 INFO L290 TraceCheckUtils]: 0: Hoare triple {98157#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,642 INFO L290 TraceCheckUtils]: 1: Hoare triple {98144#(<= 20 ~SIZE~0)} assume true; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,642 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {98144#(<= 20 ~SIZE~0)} {98139#true} #90#return; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,643 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:05:29,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:29,648 INFO L290 TraceCheckUtils]: 0: Hoare triple {98139#true} ~cond := #in~cond; {98139#true} is VALID [2022-04-28 04:05:29,648 INFO L290 TraceCheckUtils]: 1: Hoare triple {98139#true} assume !(0 == ~cond); {98139#true} is VALID [2022-04-28 04:05:29,648 INFO L290 TraceCheckUtils]: 2: Hoare triple {98139#true} assume true; {98139#true} is VALID [2022-04-28 04:05:29,648 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {98139#true} {98144#(<= 20 ~SIZE~0)} #86#return; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,649 INFO L272 TraceCheckUtils]: 0: Hoare triple {98139#true} call ULTIMATE.init(); {98157#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:05:29,649 INFO L290 TraceCheckUtils]: 1: Hoare triple {98157#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,650 INFO L290 TraceCheckUtils]: 2: Hoare triple {98144#(<= 20 ~SIZE~0)} assume true; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,650 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {98144#(<= 20 ~SIZE~0)} {98139#true} #90#return; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,650 INFO L272 TraceCheckUtils]: 4: Hoare triple {98144#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,651 INFO L290 TraceCheckUtils]: 5: Hoare triple {98144#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,651 INFO L272 TraceCheckUtils]: 6: Hoare triple {98144#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {98139#true} is VALID [2022-04-28 04:05:29,651 INFO L290 TraceCheckUtils]: 7: Hoare triple {98139#true} ~cond := #in~cond; {98139#true} is VALID [2022-04-28 04:05:29,651 INFO L290 TraceCheckUtils]: 8: Hoare triple {98139#true} assume !(0 == ~cond); {98139#true} is VALID [2022-04-28 04:05:29,651 INFO L290 TraceCheckUtils]: 9: Hoare triple {98139#true} assume true; {98139#true} is VALID [2022-04-28 04:05:29,651 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {98139#true} {98144#(<= 20 ~SIZE~0)} #86#return; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,652 INFO L290 TraceCheckUtils]: 11: Hoare triple {98144#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {98149#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:05:29,652 INFO L290 TraceCheckUtils]: 12: Hoare triple {98149#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {98150#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:05:29,653 INFO L290 TraceCheckUtils]: 13: Hoare triple {98150#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [362] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_665 v_main_~c~0_1678)) (.cse1 (= |v_main_#t~post5_875| |v_main_#t~post5_873|)) (.cse2 (= v_main_~c~0_1678 v_main_~c~0_1677)) (.cse3 (= v_main_~st~0_914 v_main_~st~0_913))) (or (and (or (not (< v_main_~c~0_1678 v_~SIZE~0_600)) (not .cse0)) .cse1 .cse2 .cse3) (and (= v_main_~st~0_913 0) .cse0 (< v_main_~c~0_1677 (+ v_~SIZE~0_600 1)) (< v_main_~c~0_1678 v_main_~c~0_1677)) (and .cse1 (= v_~SIZE~0_600 v_~SIZE~0_600) .cse2 (= v_~last~0_665 v_~last~0_665) .cse3))) InVars {~SIZE~0=v_~SIZE~0_600, main_~c~0=v_main_~c~0_1678, main_#t~post5=|v_main_#t~post5_875|, main_~st~0=v_main_~st~0_914, ~last~0=v_~last~0_665} OutVars{~SIZE~0=v_~SIZE~0_600, main_#t~post5=|v_main_#t~post5_873|, main_~c~0=v_main_~c~0_1677, main_~st~0=v_main_~st~0_913, ~last~0=v_~last~0_665} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {98151#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:05:29,653 INFO L290 TraceCheckUtils]: 14: Hoare triple {98151#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [363] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {98151#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:05:29,654 INFO L290 TraceCheckUtils]: 15: Hoare triple {98151#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [364] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_878| |v_main_#t~post5_874|))) (or (and (= v_main_~c~0_1679 v_main_~c~0_1680) (or (not (< v_main_~c~0_1680 v_~last~0_666)) (not (< v_main_~c~0_1680 v_~SIZE~0_601))) .cse0) (and (< v_main_~c~0_1679 (+ v_~last~0_666 1)) (< v_main_~c~0_1679 (+ v_~SIZE~0_601 1)) (< v_main_~c~0_1680 v_main_~c~0_1679)) (and .cse0 (= v_main_~c~0_1680 v_main_~c~0_1679) (= v_~last~0_666 v_~last~0_666) (= v_~SIZE~0_601 v_~SIZE~0_601)))) InVars {~SIZE~0=v_~SIZE~0_601, main_~c~0=v_main_~c~0_1680, main_#t~post5=|v_main_#t~post5_878|, ~last~0=v_~last~0_666} OutVars{~SIZE~0=v_~SIZE~0_601, main_#t~post5=|v_main_#t~post5_874|, main_~c~0=v_main_~c~0_1679, ~last~0=v_~last~0_666} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {98151#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:05:29,655 INFO L290 TraceCheckUtils]: 16: Hoare triple {98151#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [361] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {98152#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:05:29,656 INFO L290 TraceCheckUtils]: 17: Hoare triple {98152#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {98153#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:29,657 INFO L290 TraceCheckUtils]: 18: Hoare triple {98153#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {98153#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:29,657 INFO L290 TraceCheckUtils]: 19: Hoare triple {98153#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {98154#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:29,658 INFO L290 TraceCheckUtils]: 20: Hoare triple {98154#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {98154#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:29,658 INFO L272 TraceCheckUtils]: 21: Hoare triple {98154#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {98155#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:05:29,659 INFO L290 TraceCheckUtils]: 22: Hoare triple {98155#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {98156#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:05:29,659 INFO L290 TraceCheckUtils]: 23: Hoare triple {98156#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {98140#false} is VALID [2022-04-28 04:05:29,659 INFO L290 TraceCheckUtils]: 24: Hoare triple {98140#false} assume !false; {98140#false} is VALID [2022-04-28 04:05:29,659 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:05:29,659 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:05:29,659 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [30506183] [2022-04-28 04:05:29,659 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [30506183] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:05:29,659 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [798156699] [2022-04-28 04:05:29,659 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:05:29,660 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:05:29,660 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:05:29,665 INFO L229 MonitoredProcess]: Starting monitored process 66 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:05:29,668 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (66)] Waiting until timeout for monitored process [2022-04-28 04:05:29,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:29,696 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:05:29,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:29,703 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:05:29,967 INFO L272 TraceCheckUtils]: 0: Hoare triple {98139#true} call ULTIMATE.init(); {98139#true} is VALID [2022-04-28 04:05:29,968 INFO L290 TraceCheckUtils]: 1: Hoare triple {98139#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,968 INFO L290 TraceCheckUtils]: 2: Hoare triple {98144#(<= 20 ~SIZE~0)} assume true; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,968 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {98144#(<= 20 ~SIZE~0)} {98139#true} #90#return; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,969 INFO L272 TraceCheckUtils]: 4: Hoare triple {98144#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,969 INFO L290 TraceCheckUtils]: 5: Hoare triple {98144#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,969 INFO L272 TraceCheckUtils]: 6: Hoare triple {98144#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,969 INFO L290 TraceCheckUtils]: 7: Hoare triple {98144#(<= 20 ~SIZE~0)} ~cond := #in~cond; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,970 INFO L290 TraceCheckUtils]: 8: Hoare triple {98144#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,970 INFO L290 TraceCheckUtils]: 9: Hoare triple {98144#(<= 20 ~SIZE~0)} assume true; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,970 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {98144#(<= 20 ~SIZE~0)} {98144#(<= 20 ~SIZE~0)} #86#return; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,970 INFO L290 TraceCheckUtils]: 11: Hoare triple {98144#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:29,971 INFO L290 TraceCheckUtils]: 12: Hoare triple {98144#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {98197#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:05:29,971 INFO L290 TraceCheckUtils]: 13: Hoare triple {98197#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [362] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_665 v_main_~c~0_1678)) (.cse1 (= |v_main_#t~post5_875| |v_main_#t~post5_873|)) (.cse2 (= v_main_~c~0_1678 v_main_~c~0_1677)) (.cse3 (= v_main_~st~0_914 v_main_~st~0_913))) (or (and (or (not (< v_main_~c~0_1678 v_~SIZE~0_600)) (not .cse0)) .cse1 .cse2 .cse3) (and (= v_main_~st~0_913 0) .cse0 (< v_main_~c~0_1677 (+ v_~SIZE~0_600 1)) (< v_main_~c~0_1678 v_main_~c~0_1677)) (and .cse1 (= v_~SIZE~0_600 v_~SIZE~0_600) .cse2 (= v_~last~0_665 v_~last~0_665) .cse3))) InVars {~SIZE~0=v_~SIZE~0_600, main_~c~0=v_main_~c~0_1678, main_#t~post5=|v_main_#t~post5_875|, main_~st~0=v_main_~st~0_914, ~last~0=v_~last~0_665} OutVars{~SIZE~0=v_~SIZE~0_600, main_#t~post5=|v_main_#t~post5_873|, main_~c~0=v_main_~c~0_1677, main_~st~0=v_main_~st~0_913, ~last~0=v_~last~0_665} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {98201#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:05:29,972 INFO L290 TraceCheckUtils]: 14: Hoare triple {98201#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [363] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {98201#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:05:29,972 INFO L290 TraceCheckUtils]: 15: Hoare triple {98201#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [364] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_878| |v_main_#t~post5_874|))) (or (and (= v_main_~c~0_1679 v_main_~c~0_1680) (or (not (< v_main_~c~0_1680 v_~last~0_666)) (not (< v_main_~c~0_1680 v_~SIZE~0_601))) .cse0) (and (< v_main_~c~0_1679 (+ v_~last~0_666 1)) (< v_main_~c~0_1679 (+ v_~SIZE~0_601 1)) (< v_main_~c~0_1680 v_main_~c~0_1679)) (and .cse0 (= v_main_~c~0_1680 v_main_~c~0_1679) (= v_~last~0_666 v_~last~0_666) (= v_~SIZE~0_601 v_~SIZE~0_601)))) InVars {~SIZE~0=v_~SIZE~0_601, main_~c~0=v_main_~c~0_1680, main_#t~post5=|v_main_#t~post5_878|, ~last~0=v_~last~0_666} OutVars{~SIZE~0=v_~SIZE~0_601, main_#t~post5=|v_main_#t~post5_874|, main_~c~0=v_main_~c~0_1679, ~last~0=v_~last~0_666} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {98201#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:05:29,973 INFO L290 TraceCheckUtils]: 16: Hoare triple {98201#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [361] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {98211#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:05:29,973 INFO L290 TraceCheckUtils]: 17: Hoare triple {98211#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {98140#false} is VALID [2022-04-28 04:05:29,973 INFO L290 TraceCheckUtils]: 18: Hoare triple {98140#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {98140#false} is VALID [2022-04-28 04:05:29,973 INFO L290 TraceCheckUtils]: 19: Hoare triple {98140#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {98140#false} is VALID [2022-04-28 04:05:29,976 INFO L290 TraceCheckUtils]: 20: Hoare triple {98140#false} assume !(~d~0 == ~SIZE~0); {98140#false} is VALID [2022-04-28 04:05:29,987 INFO L272 TraceCheckUtils]: 21: Hoare triple {98140#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {98140#false} is VALID [2022-04-28 04:05:29,987 INFO L290 TraceCheckUtils]: 22: Hoare triple {98140#false} ~cond := #in~cond; {98140#false} is VALID [2022-04-28 04:05:29,987 INFO L290 TraceCheckUtils]: 23: Hoare triple {98140#false} assume 0 == ~cond; {98140#false} is VALID [2022-04-28 04:05:29,987 INFO L290 TraceCheckUtils]: 24: Hoare triple {98140#false} assume !false; {98140#false} is VALID [2022-04-28 04:05:29,988 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:05:29,988 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:05:30,210 INFO L290 TraceCheckUtils]: 24: Hoare triple {98140#false} assume !false; {98140#false} is VALID [2022-04-28 04:05:30,211 INFO L290 TraceCheckUtils]: 23: Hoare triple {98140#false} assume 0 == ~cond; {98140#false} is VALID [2022-04-28 04:05:30,211 INFO L290 TraceCheckUtils]: 22: Hoare triple {98140#false} ~cond := #in~cond; {98140#false} is VALID [2022-04-28 04:05:30,211 INFO L272 TraceCheckUtils]: 21: Hoare triple {98140#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {98140#false} is VALID [2022-04-28 04:05:30,211 INFO L290 TraceCheckUtils]: 20: Hoare triple {98140#false} assume !(~d~0 == ~SIZE~0); {98140#false} is VALID [2022-04-28 04:05:30,211 INFO L290 TraceCheckUtils]: 19: Hoare triple {98140#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {98140#false} is VALID [2022-04-28 04:05:30,211 INFO L290 TraceCheckUtils]: 18: Hoare triple {98140#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {98140#false} is VALID [2022-04-28 04:05:30,211 INFO L290 TraceCheckUtils]: 17: Hoare triple {98257#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {98140#false} is VALID [2022-04-28 04:05:30,212 INFO L290 TraceCheckUtils]: 16: Hoare triple {98261#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [361] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {98257#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:05:30,212 INFO L290 TraceCheckUtils]: 15: Hoare triple {98261#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [364] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_878| |v_main_#t~post5_874|))) (or (and (= v_main_~c~0_1679 v_main_~c~0_1680) (or (not (< v_main_~c~0_1680 v_~last~0_666)) (not (< v_main_~c~0_1680 v_~SIZE~0_601))) .cse0) (and (< v_main_~c~0_1679 (+ v_~last~0_666 1)) (< v_main_~c~0_1679 (+ v_~SIZE~0_601 1)) (< v_main_~c~0_1680 v_main_~c~0_1679)) (and .cse0 (= v_main_~c~0_1680 v_main_~c~0_1679) (= v_~last~0_666 v_~last~0_666) (= v_~SIZE~0_601 v_~SIZE~0_601)))) InVars {~SIZE~0=v_~SIZE~0_601, main_~c~0=v_main_~c~0_1680, main_#t~post5=|v_main_#t~post5_878|, ~last~0=v_~last~0_666} OutVars{~SIZE~0=v_~SIZE~0_601, main_#t~post5=|v_main_#t~post5_874|, main_~c~0=v_main_~c~0_1679, ~last~0=v_~last~0_666} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {98261#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:05:30,212 INFO L290 TraceCheckUtils]: 14: Hoare triple {98261#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [363] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {98261#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:05:30,213 INFO L290 TraceCheckUtils]: 13: Hoare triple {98271#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [362] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_665 v_main_~c~0_1678)) (.cse1 (= |v_main_#t~post5_875| |v_main_#t~post5_873|)) (.cse2 (= v_main_~c~0_1678 v_main_~c~0_1677)) (.cse3 (= v_main_~st~0_914 v_main_~st~0_913))) (or (and (or (not (< v_main_~c~0_1678 v_~SIZE~0_600)) (not .cse0)) .cse1 .cse2 .cse3) (and (= v_main_~st~0_913 0) .cse0 (< v_main_~c~0_1677 (+ v_~SIZE~0_600 1)) (< v_main_~c~0_1678 v_main_~c~0_1677)) (and .cse1 (= v_~SIZE~0_600 v_~SIZE~0_600) .cse2 (= v_~last~0_665 v_~last~0_665) .cse3))) InVars {~SIZE~0=v_~SIZE~0_600, main_~c~0=v_main_~c~0_1678, main_#t~post5=|v_main_#t~post5_875|, main_~st~0=v_main_~st~0_914, ~last~0=v_~last~0_665} OutVars{~SIZE~0=v_~SIZE~0_600, main_#t~post5=|v_main_#t~post5_873|, main_~c~0=v_main_~c~0_1677, main_~st~0=v_main_~st~0_913, ~last~0=v_~last~0_665} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {98261#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:05:30,225 INFO L290 TraceCheckUtils]: 12: Hoare triple {98275#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {98271#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:05:30,239 INFO L290 TraceCheckUtils]: 11: Hoare triple {98275#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {98275#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:30,239 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {98139#true} {98275#(< 1 ~SIZE~0)} #86#return; {98275#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:30,240 INFO L290 TraceCheckUtils]: 9: Hoare triple {98139#true} assume true; {98139#true} is VALID [2022-04-28 04:05:30,240 INFO L290 TraceCheckUtils]: 8: Hoare triple {98139#true} assume !(0 == ~cond); {98139#true} is VALID [2022-04-28 04:05:30,240 INFO L290 TraceCheckUtils]: 7: Hoare triple {98139#true} ~cond := #in~cond; {98139#true} is VALID [2022-04-28 04:05:30,240 INFO L272 TraceCheckUtils]: 6: Hoare triple {98275#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {98139#true} is VALID [2022-04-28 04:05:30,240 INFO L290 TraceCheckUtils]: 5: Hoare triple {98275#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {98275#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:30,240 INFO L272 TraceCheckUtils]: 4: Hoare triple {98275#(< 1 ~SIZE~0)} call #t~ret7 := main(); {98275#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:30,240 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {98275#(< 1 ~SIZE~0)} {98139#true} #90#return; {98275#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:30,241 INFO L290 TraceCheckUtils]: 2: Hoare triple {98275#(< 1 ~SIZE~0)} assume true; {98275#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:30,241 INFO L290 TraceCheckUtils]: 1: Hoare triple {98139#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {98275#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:30,241 INFO L272 TraceCheckUtils]: 0: Hoare triple {98139#true} call ULTIMATE.init(); {98139#true} is VALID [2022-04-28 04:05:30,241 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:05:30,241 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [798156699] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:05:30,241 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:05:30,241 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:05:31,031 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:05:31,031 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [208404410] [2022-04-28 04:05:31,031 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [208404410] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:05:31,032 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:05:31,032 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [31] imperfect sequences [] total 31 [2022-04-28 04:05:31,032 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1507982317] [2022-04-28 04:05:31,032 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:05:31,038 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 1.6774193548387097) internal successors, (52), 29 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:05:31,038 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:05:31,038 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 31 states, 31 states have (on average 1.6774193548387097) internal successors, (52), 29 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:31,067 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:05:31,068 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-28 04:05:31,068 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:05:31,068 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-28 04:05:31,068 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=259, Invalid=1301, Unknown=0, NotChecked=0, Total=1560 [2022-04-28 04:05:31,068 INFO L87 Difference]: Start difference. First operand 226 states and 272 transitions. Second operand has 31 states, 31 states have (on average 1.6774193548387097) internal successors, (52), 29 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:33,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:05:33,523 INFO L93 Difference]: Finished difference Result 383 states and 462 transitions. [2022-04-28 04:05:33,523 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-28 04:05:33,523 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 1.6774193548387097) internal successors, (52), 29 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:05:33,523 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:05:33,523 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 1.6774193548387097) internal successors, (52), 29 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:33,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 108 transitions. [2022-04-28 04:05:33,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 1.6774193548387097) internal successors, (52), 29 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:33,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 108 transitions. [2022-04-28 04:05:33,525 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 108 transitions. [2022-04-28 04:05:33,573 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:05:33,576 INFO L225 Difference]: With dead ends: 383 [2022-04-28 04:05:33,576 INFO L226 Difference]: Without dead ends: 260 [2022-04-28 04:05:33,576 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 48 SyntacticMatches, 16 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 809 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=271, Invalid=1451, Unknown=0, NotChecked=0, Total=1722 [2022-04-28 04:05:33,580 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 54 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 1420 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 1430 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1420 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 04:05:33,580 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [55 Valid, 60 Invalid, 1430 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1420 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 04:05:33,581 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 260 states. [2022-04-28 04:05:34,211 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 260 to 226. [2022-04-28 04:05:34,211 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:05:34,211 INFO L82 GeneralOperation]: Start isEquivalent. First operand 260 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:34,211 INFO L74 IsIncluded]: Start isIncluded. First operand 260 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:34,212 INFO L87 Difference]: Start difference. First operand 260 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:34,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:05:34,214 INFO L93 Difference]: Finished difference Result 260 states and 308 transitions. [2022-04-28 04:05:34,214 INFO L276 IsEmpty]: Start isEmpty. Operand 260 states and 308 transitions. [2022-04-28 04:05:34,215 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:05:34,215 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:05:34,215 INFO L74 IsIncluded]: Start isIncluded. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 260 states. [2022-04-28 04:05:34,215 INFO L87 Difference]: Start difference. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 260 states. [2022-04-28 04:05:34,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:05:34,218 INFO L93 Difference]: Finished difference Result 260 states and 308 transitions. [2022-04-28 04:05:34,218 INFO L276 IsEmpty]: Start isEmpty. Operand 260 states and 308 transitions. [2022-04-28 04:05:34,218 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:05:34,218 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:05:34,218 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:05:34,218 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:05:34,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:34,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-28 04:05:34,221 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-28 04:05:34,221 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:05:34,221 INFO L495 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-28 04:05:34,221 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 31 states have (on average 1.6774193548387097) internal successors, (52), 29 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:34,221 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-28 04:05:35,469 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 272 edges. 272 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:05:35,469 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-28 04:05:35,470 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-28 04:05:35,470 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:05:35,470 INFO L195 NwaCegarLoop]: trace histogram [12, 12, 7, 5, 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:05:35,486 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (66)] Forceful destruction successful, exit code 0 [2022-04-28 04:05:35,683 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 66 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable72 [2022-04-28 04:05:35,683 INFO L420 AbstractCegarLoop]: === Iteration 74 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:05:35,683 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:05:35,684 INFO L85 PathProgramCache]: Analyzing trace with hash -217324196, now seen corresponding path program 62 times [2022-04-28 04:05:35,684 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:05:35,684 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [582685481] [2022-04-28 04:05:39,769 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:05:39,871 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:05:43,991 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:05:44,091 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:05:44,092 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:05:44,095 INFO L85 PathProgramCache]: Analyzing trace with hash 250534209, now seen corresponding path program 1 times [2022-04-28 04:05:44,095 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:05:44,095 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [554218728] [2022-04-28 04:05:44,095 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:05:44,095 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:05:44,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:44,238 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:05:44,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:44,248 INFO L290 TraceCheckUtils]: 0: Hoare triple {100096#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,249 INFO L290 TraceCheckUtils]: 1: Hoare triple {100083#(<= 20 ~SIZE~0)} assume true; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,249 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {100083#(<= 20 ~SIZE~0)} {100078#true} #90#return; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,249 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:05:44,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:44,251 INFO L290 TraceCheckUtils]: 0: Hoare triple {100078#true} ~cond := #in~cond; {100078#true} is VALID [2022-04-28 04:05:44,251 INFO L290 TraceCheckUtils]: 1: Hoare triple {100078#true} assume !(0 == ~cond); {100078#true} is VALID [2022-04-28 04:05:44,251 INFO L290 TraceCheckUtils]: 2: Hoare triple {100078#true} assume true; {100078#true} is VALID [2022-04-28 04:05:44,252 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {100078#true} {100083#(<= 20 ~SIZE~0)} #86#return; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,252 INFO L272 TraceCheckUtils]: 0: Hoare triple {100078#true} call ULTIMATE.init(); {100096#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:05:44,253 INFO L290 TraceCheckUtils]: 1: Hoare triple {100096#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,253 INFO L290 TraceCheckUtils]: 2: Hoare triple {100083#(<= 20 ~SIZE~0)} assume true; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,253 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {100083#(<= 20 ~SIZE~0)} {100078#true} #90#return; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,253 INFO L272 TraceCheckUtils]: 4: Hoare triple {100083#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,254 INFO L290 TraceCheckUtils]: 5: Hoare triple {100083#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,254 INFO L272 TraceCheckUtils]: 6: Hoare triple {100083#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {100078#true} is VALID [2022-04-28 04:05:44,254 INFO L290 TraceCheckUtils]: 7: Hoare triple {100078#true} ~cond := #in~cond; {100078#true} is VALID [2022-04-28 04:05:44,254 INFO L290 TraceCheckUtils]: 8: Hoare triple {100078#true} assume !(0 == ~cond); {100078#true} is VALID [2022-04-28 04:05:44,254 INFO L290 TraceCheckUtils]: 9: Hoare triple {100078#true} assume true; {100078#true} is VALID [2022-04-28 04:05:44,254 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {100078#true} {100083#(<= 20 ~SIZE~0)} #86#return; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,256 INFO L290 TraceCheckUtils]: 11: Hoare triple {100083#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {100088#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:05:44,256 INFO L290 TraceCheckUtils]: 12: Hoare triple {100088#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {100089#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:05:44,257 INFO L290 TraceCheckUtils]: 13: Hoare triple {100089#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [366] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_929 v_main_~st~0_928)) (.cse2 (= |v_main_#t~post5_888| |v_main_#t~post5_886|)) (.cse3 (= v_main_~c~0_1707 v_main_~c~0_1706)) (.cse0 (<= v_~last~0_675 v_main_~c~0_1707))) (or (and (< v_main_~c~0_1706 (+ v_~SIZE~0_609 1)) (< v_main_~c~0_1707 v_main_~c~0_1706) .cse0 (= v_main_~st~0_928 0)) (and (= v_~SIZE~0_609 v_~SIZE~0_609) .cse1 (= v_~last~0_675 v_~last~0_675) .cse2 .cse3) (and .cse1 .cse2 .cse3 (or (not .cse0) (not (< v_main_~c~0_1707 v_~SIZE~0_609)))))) InVars {~SIZE~0=v_~SIZE~0_609, main_~c~0=v_main_~c~0_1707, main_#t~post5=|v_main_#t~post5_888|, main_~st~0=v_main_~st~0_929, ~last~0=v_~last~0_675} OutVars{~SIZE~0=v_~SIZE~0_609, main_#t~post5=|v_main_#t~post5_886|, main_~c~0=v_main_~c~0_1706, main_~st~0=v_main_~st~0_928, ~last~0=v_~last~0_675} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {100090#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:05:44,257 INFO L290 TraceCheckUtils]: 14: Hoare triple {100090#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [367] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {100090#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:05:44,258 INFO L290 TraceCheckUtils]: 15: Hoare triple {100090#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [368] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1709 v_main_~c~0_1708)) (.cse1 (= |v_main_#t~post5_891| |v_main_#t~post5_887|))) (or (and .cse0 (= v_~SIZE~0_610 v_~SIZE~0_610) (= v_~last~0_676 v_~last~0_676) .cse1) (and .cse0 (or (not (< v_main_~c~0_1709 v_~SIZE~0_610)) (not (< v_main_~c~0_1709 v_~last~0_676))) .cse1) (and (< v_main_~c~0_1708 (+ v_~last~0_676 1)) (< v_main_~c~0_1708 (+ v_~SIZE~0_610 1)) (< v_main_~c~0_1709 v_main_~c~0_1708)))) InVars {~SIZE~0=v_~SIZE~0_610, main_~c~0=v_main_~c~0_1709, main_#t~post5=|v_main_#t~post5_891|, ~last~0=v_~last~0_676} OutVars{~SIZE~0=v_~SIZE~0_610, main_#t~post5=|v_main_#t~post5_887|, main_~c~0=v_main_~c~0_1708, ~last~0=v_~last~0_676} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {100090#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:05:44,258 INFO L290 TraceCheckUtils]: 16: Hoare triple {100090#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [365] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {100091#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:05:44,259 INFO L290 TraceCheckUtils]: 17: Hoare triple {100091#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {100092#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:44,259 INFO L290 TraceCheckUtils]: 18: Hoare triple {100092#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {100092#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:44,259 INFO L290 TraceCheckUtils]: 19: Hoare triple {100092#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {100093#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:44,260 INFO L290 TraceCheckUtils]: 20: Hoare triple {100093#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {100093#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:44,260 INFO L272 TraceCheckUtils]: 21: Hoare triple {100093#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {100094#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:05:44,260 INFO L290 TraceCheckUtils]: 22: Hoare triple {100094#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {100095#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:05:44,261 INFO L290 TraceCheckUtils]: 23: Hoare triple {100095#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {100079#false} is VALID [2022-04-28 04:05:44,261 INFO L290 TraceCheckUtils]: 24: Hoare triple {100079#false} assume !false; {100079#false} is VALID [2022-04-28 04:05:44,261 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:05:44,261 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:05:44,261 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [554218728] [2022-04-28 04:05:44,261 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [554218728] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:05:44,261 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [812381975] [2022-04-28 04:05:44,261 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:05:44,261 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:05:44,261 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:05:44,262 INFO L229 MonitoredProcess]: Starting monitored process 67 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:05:44,264 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (67)] Waiting until timeout for monitored process [2022-04-28 04:05:44,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:44,300 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:05:44,304 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:44,304 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:05:44,472 INFO L272 TraceCheckUtils]: 0: Hoare triple {100078#true} call ULTIMATE.init(); {100078#true} is VALID [2022-04-28 04:05:44,473 INFO L290 TraceCheckUtils]: 1: Hoare triple {100078#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,473 INFO L290 TraceCheckUtils]: 2: Hoare triple {100083#(<= 20 ~SIZE~0)} assume true; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,473 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {100083#(<= 20 ~SIZE~0)} {100078#true} #90#return; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,474 INFO L272 TraceCheckUtils]: 4: Hoare triple {100083#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,474 INFO L290 TraceCheckUtils]: 5: Hoare triple {100083#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,474 INFO L272 TraceCheckUtils]: 6: Hoare triple {100083#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,475 INFO L290 TraceCheckUtils]: 7: Hoare triple {100083#(<= 20 ~SIZE~0)} ~cond := #in~cond; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,475 INFO L290 TraceCheckUtils]: 8: Hoare triple {100083#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,475 INFO L290 TraceCheckUtils]: 9: Hoare triple {100083#(<= 20 ~SIZE~0)} assume true; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,476 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {100083#(<= 20 ~SIZE~0)} {100083#(<= 20 ~SIZE~0)} #86#return; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,476 INFO L290 TraceCheckUtils]: 11: Hoare triple {100083#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:44,476 INFO L290 TraceCheckUtils]: 12: Hoare triple {100083#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {100136#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:05:44,477 INFO L290 TraceCheckUtils]: 13: Hoare triple {100136#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [366] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_929 v_main_~st~0_928)) (.cse2 (= |v_main_#t~post5_888| |v_main_#t~post5_886|)) (.cse3 (= v_main_~c~0_1707 v_main_~c~0_1706)) (.cse0 (<= v_~last~0_675 v_main_~c~0_1707))) (or (and (< v_main_~c~0_1706 (+ v_~SIZE~0_609 1)) (< v_main_~c~0_1707 v_main_~c~0_1706) .cse0 (= v_main_~st~0_928 0)) (and (= v_~SIZE~0_609 v_~SIZE~0_609) .cse1 (= v_~last~0_675 v_~last~0_675) .cse2 .cse3) (and .cse1 .cse2 .cse3 (or (not .cse0) (not (< v_main_~c~0_1707 v_~SIZE~0_609)))))) InVars {~SIZE~0=v_~SIZE~0_609, main_~c~0=v_main_~c~0_1707, main_#t~post5=|v_main_#t~post5_888|, main_~st~0=v_main_~st~0_929, ~last~0=v_~last~0_675} OutVars{~SIZE~0=v_~SIZE~0_609, main_#t~post5=|v_main_#t~post5_886|, main_~c~0=v_main_~c~0_1706, main_~st~0=v_main_~st~0_928, ~last~0=v_~last~0_675} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {100140#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:05:44,478 INFO L290 TraceCheckUtils]: 14: Hoare triple {100140#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [367] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {100140#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:05:44,478 INFO L290 TraceCheckUtils]: 15: Hoare triple {100140#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [368] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1709 v_main_~c~0_1708)) (.cse1 (= |v_main_#t~post5_891| |v_main_#t~post5_887|))) (or (and .cse0 (= v_~SIZE~0_610 v_~SIZE~0_610) (= v_~last~0_676 v_~last~0_676) .cse1) (and .cse0 (or (not (< v_main_~c~0_1709 v_~SIZE~0_610)) (not (< v_main_~c~0_1709 v_~last~0_676))) .cse1) (and (< v_main_~c~0_1708 (+ v_~last~0_676 1)) (< v_main_~c~0_1708 (+ v_~SIZE~0_610 1)) (< v_main_~c~0_1709 v_main_~c~0_1708)))) InVars {~SIZE~0=v_~SIZE~0_610, main_~c~0=v_main_~c~0_1709, main_#t~post5=|v_main_#t~post5_891|, ~last~0=v_~last~0_676} OutVars{~SIZE~0=v_~SIZE~0_610, main_#t~post5=|v_main_#t~post5_887|, main_~c~0=v_main_~c~0_1708, ~last~0=v_~last~0_676} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {100140#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:05:44,479 INFO L290 TraceCheckUtils]: 16: Hoare triple {100140#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [365] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {100150#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:05:44,480 INFO L290 TraceCheckUtils]: 17: Hoare triple {100150#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {100079#false} is VALID [2022-04-28 04:05:44,480 INFO L290 TraceCheckUtils]: 18: Hoare triple {100079#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {100079#false} is VALID [2022-04-28 04:05:44,480 INFO L290 TraceCheckUtils]: 19: Hoare triple {100079#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {100079#false} is VALID [2022-04-28 04:05:44,480 INFO L290 TraceCheckUtils]: 20: Hoare triple {100079#false} assume !(~d~0 == ~SIZE~0); {100079#false} is VALID [2022-04-28 04:05:44,480 INFO L272 TraceCheckUtils]: 21: Hoare triple {100079#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {100079#false} is VALID [2022-04-28 04:05:44,480 INFO L290 TraceCheckUtils]: 22: Hoare triple {100079#false} ~cond := #in~cond; {100079#false} is VALID [2022-04-28 04:05:44,480 INFO L290 TraceCheckUtils]: 23: Hoare triple {100079#false} assume 0 == ~cond; {100079#false} is VALID [2022-04-28 04:05:44,480 INFO L290 TraceCheckUtils]: 24: Hoare triple {100079#false} assume !false; {100079#false} is VALID [2022-04-28 04:05:44,480 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:05:44,480 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:05:44,822 INFO L290 TraceCheckUtils]: 24: Hoare triple {100079#false} assume !false; {100079#false} is VALID [2022-04-28 04:05:44,822 INFO L290 TraceCheckUtils]: 23: Hoare triple {100079#false} assume 0 == ~cond; {100079#false} is VALID [2022-04-28 04:05:44,823 INFO L290 TraceCheckUtils]: 22: Hoare triple {100079#false} ~cond := #in~cond; {100079#false} is VALID [2022-04-28 04:05:44,823 INFO L272 TraceCheckUtils]: 21: Hoare triple {100079#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {100079#false} is VALID [2022-04-28 04:05:44,823 INFO L290 TraceCheckUtils]: 20: Hoare triple {100079#false} assume !(~d~0 == ~SIZE~0); {100079#false} is VALID [2022-04-28 04:05:44,823 INFO L290 TraceCheckUtils]: 19: Hoare triple {100079#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {100079#false} is VALID [2022-04-28 04:05:44,823 INFO L290 TraceCheckUtils]: 18: Hoare triple {100079#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {100079#false} is VALID [2022-04-28 04:05:44,823 INFO L290 TraceCheckUtils]: 17: Hoare triple {100196#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {100079#false} is VALID [2022-04-28 04:05:44,824 INFO L290 TraceCheckUtils]: 16: Hoare triple {100200#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [365] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {100196#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:05:44,824 INFO L290 TraceCheckUtils]: 15: Hoare triple {100200#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [368] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1709 v_main_~c~0_1708)) (.cse1 (= |v_main_#t~post5_891| |v_main_#t~post5_887|))) (or (and .cse0 (= v_~SIZE~0_610 v_~SIZE~0_610) (= v_~last~0_676 v_~last~0_676) .cse1) (and .cse0 (or (not (< v_main_~c~0_1709 v_~SIZE~0_610)) (not (< v_main_~c~0_1709 v_~last~0_676))) .cse1) (and (< v_main_~c~0_1708 (+ v_~last~0_676 1)) (< v_main_~c~0_1708 (+ v_~SIZE~0_610 1)) (< v_main_~c~0_1709 v_main_~c~0_1708)))) InVars {~SIZE~0=v_~SIZE~0_610, main_~c~0=v_main_~c~0_1709, main_#t~post5=|v_main_#t~post5_891|, ~last~0=v_~last~0_676} OutVars{~SIZE~0=v_~SIZE~0_610, main_#t~post5=|v_main_#t~post5_887|, main_~c~0=v_main_~c~0_1708, ~last~0=v_~last~0_676} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {100200#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:05:44,825 INFO L290 TraceCheckUtils]: 14: Hoare triple {100200#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [367] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {100200#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:05:44,825 INFO L290 TraceCheckUtils]: 13: Hoare triple {100210#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [366] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_929 v_main_~st~0_928)) (.cse2 (= |v_main_#t~post5_888| |v_main_#t~post5_886|)) (.cse3 (= v_main_~c~0_1707 v_main_~c~0_1706)) (.cse0 (<= v_~last~0_675 v_main_~c~0_1707))) (or (and (< v_main_~c~0_1706 (+ v_~SIZE~0_609 1)) (< v_main_~c~0_1707 v_main_~c~0_1706) .cse0 (= v_main_~st~0_928 0)) (and (= v_~SIZE~0_609 v_~SIZE~0_609) .cse1 (= v_~last~0_675 v_~last~0_675) .cse2 .cse3) (and .cse1 .cse2 .cse3 (or (not .cse0) (not (< v_main_~c~0_1707 v_~SIZE~0_609)))))) InVars {~SIZE~0=v_~SIZE~0_609, main_~c~0=v_main_~c~0_1707, main_#t~post5=|v_main_#t~post5_888|, main_~st~0=v_main_~st~0_929, ~last~0=v_~last~0_675} OutVars{~SIZE~0=v_~SIZE~0_609, main_#t~post5=|v_main_#t~post5_886|, main_~c~0=v_main_~c~0_1706, main_~st~0=v_main_~st~0_928, ~last~0=v_~last~0_675} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {100200#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:05:44,826 INFO L290 TraceCheckUtils]: 12: Hoare triple {100214#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {100210#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:05:44,826 INFO L290 TraceCheckUtils]: 11: Hoare triple {100214#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {100214#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:44,826 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {100078#true} {100214#(< 1 ~SIZE~0)} #86#return; {100214#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:44,826 INFO L290 TraceCheckUtils]: 9: Hoare triple {100078#true} assume true; {100078#true} is VALID [2022-04-28 04:05:44,827 INFO L290 TraceCheckUtils]: 8: Hoare triple {100078#true} assume !(0 == ~cond); {100078#true} is VALID [2022-04-28 04:05:44,827 INFO L290 TraceCheckUtils]: 7: Hoare triple {100078#true} ~cond := #in~cond; {100078#true} is VALID [2022-04-28 04:05:44,827 INFO L272 TraceCheckUtils]: 6: Hoare triple {100214#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {100078#true} is VALID [2022-04-28 04:05:44,827 INFO L290 TraceCheckUtils]: 5: Hoare triple {100214#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {100214#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:44,827 INFO L272 TraceCheckUtils]: 4: Hoare triple {100214#(< 1 ~SIZE~0)} call #t~ret7 := main(); {100214#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:44,828 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {100214#(< 1 ~SIZE~0)} {100078#true} #90#return; {100214#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:44,828 INFO L290 TraceCheckUtils]: 2: Hoare triple {100214#(< 1 ~SIZE~0)} assume true; {100214#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:44,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {100078#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {100214#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:44,828 INFO L272 TraceCheckUtils]: 0: Hoare triple {100078#true} call ULTIMATE.init(); {100078#true} is VALID [2022-04-28 04:05:44,828 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:05:44,829 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [812381975] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:05:44,829 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:05:44,829 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:05:45,672 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:05:45,672 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [582685481] [2022-04-28 04:05:45,672 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [582685481] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:05:45,672 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:05:45,672 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [32] imperfect sequences [] total 32 [2022-04-28 04:05:45,672 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2038920075] [2022-04-28 04:05:45,672 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:05:45,673 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 1.625) internal successors, (52), 30 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:05:45,673 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:05:45,673 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 32 states, 32 states have (on average 1.625) internal successors, (52), 30 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:45,702 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:05:45,702 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2022-04-28 04:05:45,702 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:05:45,702 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-04-28 04:05:45,703 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=273, Invalid=1367, Unknown=0, NotChecked=0, Total=1640 [2022-04-28 04:05:45,703 INFO L87 Difference]: Start difference. First operand 226 states and 272 transitions. Second operand has 32 states, 32 states have (on average 1.625) internal successors, (52), 30 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:48,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:05:48,627 INFO L93 Difference]: Finished difference Result 380 states and 459 transitions. [2022-04-28 04:05:48,627 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-28 04:05:48,627 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 1.625) internal successors, (52), 30 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:05:48,627 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:05:48,627 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 1.625) internal successors, (52), 30 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:48,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 109 transitions. [2022-04-28 04:05:48,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 1.625) internal successors, (52), 30 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:48,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 109 transitions. [2022-04-28 04:05:48,628 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 109 transitions. [2022-04-28 04:05:48,687 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:05:48,690 INFO L225 Difference]: With dead ends: 380 [2022-04-28 04:05:48,690 INFO L226 Difference]: Without dead ends: 257 [2022-04-28 04:05:48,690 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 48 SyntacticMatches, 15 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 823 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=285, Invalid=1521, Unknown=0, NotChecked=0, Total=1806 [2022-04-28 04:05:48,690 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 62 mSDsluCounter, 58 mSDsCounter, 0 mSdLazyCounter, 1697 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 63 SdHoareTripleChecker+Valid, 78 SdHoareTripleChecker+Invalid, 1708 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1697 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 04:05:48,691 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [63 Valid, 78 Invalid, 1708 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1697 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 04:05:48,691 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 257 states. [2022-04-28 04:05:49,315 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 257 to 226. [2022-04-28 04:05:49,315 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:05:49,316 INFO L82 GeneralOperation]: Start isEquivalent. First operand 257 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:49,316 INFO L74 IsIncluded]: Start isIncluded. First operand 257 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:49,316 INFO L87 Difference]: Start difference. First operand 257 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:49,319 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:05:49,319 INFO L93 Difference]: Finished difference Result 257 states and 305 transitions. [2022-04-28 04:05:49,319 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 305 transitions. [2022-04-28 04:05:49,319 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:05:49,319 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:05:49,319 INFO L74 IsIncluded]: Start isIncluded. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 257 states. [2022-04-28 04:05:49,319 INFO L87 Difference]: Start difference. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 257 states. [2022-04-28 04:05:49,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:05:49,322 INFO L93 Difference]: Finished difference Result 257 states and 305 transitions. [2022-04-28 04:05:49,322 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 305 transitions. [2022-04-28 04:05:49,322 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:05:49,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:05:49,322 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:05:49,322 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:05:49,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:05:49,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-28 04:05:49,325 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-28 04:05:49,325 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:05:49,325 INFO L495 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-28 04:05:49,325 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 32 states, 32 states have (on average 1.625) internal successors, (52), 30 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:49,325 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-28 04:05:51,031 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 272 edges. 272 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:05:51,032 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-28 04:05:51,032 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-28 04:05:51,032 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:05:51,032 INFO L195 NwaCegarLoop]: trace histogram [12, 12, 8, 4, 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:05:51,050 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (67)] Forceful destruction successful, exit code 0 [2022-04-28 04:05:51,243 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable73,67 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:05:51,244 INFO L420 AbstractCegarLoop]: === Iteration 75 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:05:51,244 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:05:51,244 INFO L85 PathProgramCache]: Analyzing trace with hash -2022762530, now seen corresponding path program 63 times [2022-04-28 04:05:51,244 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:05:51,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2142716623] [2022-04-28 04:05:55,379 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:05:55,491 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:05:55,709 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:05:55,710 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:05:55,713 INFO L85 PathProgramCache]: Analyzing trace with hash -1551910335, now seen corresponding path program 1 times [2022-04-28 04:05:55,713 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:05:55,713 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2010910877] [2022-04-28 04:05:55,713 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:05:55,714 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:05:55,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:55,890 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:05:55,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:55,895 INFO L290 TraceCheckUtils]: 0: Hoare triple {102024#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:55,895 INFO L290 TraceCheckUtils]: 1: Hoare triple {102011#(<= 20 ~SIZE~0)} assume true; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:55,899 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {102011#(<= 20 ~SIZE~0)} {102006#true} #90#return; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:55,899 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:05:55,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:55,918 INFO L290 TraceCheckUtils]: 0: Hoare triple {102006#true} ~cond := #in~cond; {102006#true} is VALID [2022-04-28 04:05:55,918 INFO L290 TraceCheckUtils]: 1: Hoare triple {102006#true} assume !(0 == ~cond); {102006#true} is VALID [2022-04-28 04:05:55,918 INFO L290 TraceCheckUtils]: 2: Hoare triple {102006#true} assume true; {102006#true} is VALID [2022-04-28 04:05:55,919 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {102006#true} {102011#(<= 20 ~SIZE~0)} #86#return; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:55,920 INFO L272 TraceCheckUtils]: 0: Hoare triple {102006#true} call ULTIMATE.init(); {102024#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:05:55,920 INFO L290 TraceCheckUtils]: 1: Hoare triple {102024#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:55,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {102011#(<= 20 ~SIZE~0)} assume true; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:55,921 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {102011#(<= 20 ~SIZE~0)} {102006#true} #90#return; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:55,921 INFO L272 TraceCheckUtils]: 4: Hoare triple {102011#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:55,921 INFO L290 TraceCheckUtils]: 5: Hoare triple {102011#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:55,922 INFO L272 TraceCheckUtils]: 6: Hoare triple {102011#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {102006#true} is VALID [2022-04-28 04:05:55,922 INFO L290 TraceCheckUtils]: 7: Hoare triple {102006#true} ~cond := #in~cond; {102006#true} is VALID [2022-04-28 04:05:55,922 INFO L290 TraceCheckUtils]: 8: Hoare triple {102006#true} assume !(0 == ~cond); {102006#true} is VALID [2022-04-28 04:05:55,922 INFO L290 TraceCheckUtils]: 9: Hoare triple {102006#true} assume true; {102006#true} is VALID [2022-04-28 04:05:55,922 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {102006#true} {102011#(<= 20 ~SIZE~0)} #86#return; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:55,923 INFO L290 TraceCheckUtils]: 11: Hoare triple {102011#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {102016#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:05:55,924 INFO L290 TraceCheckUtils]: 12: Hoare triple {102016#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {102017#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:05:55,925 INFO L290 TraceCheckUtils]: 13: Hoare triple {102017#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [370] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_685 v_main_~c~0_1736)) (.cse1 (= v_main_~st~0_943 v_main_~st~0_942)) (.cse2 (= |v_main_#t~post5_901| |v_main_#t~post5_899|)) (.cse3 (= v_main_~c~0_1736 v_main_~c~0_1735))) (or (and (< v_main_~c~0_1735 (+ v_~SIZE~0_618 1)) (= v_main_~st~0_942 0) .cse0 (< v_main_~c~0_1736 v_main_~c~0_1735)) (and (or (not .cse0) (not (< v_main_~c~0_1736 v_~SIZE~0_618))) .cse1 .cse2 .cse3) (and .cse1 (= v_~last~0_685 v_~last~0_685) .cse2 .cse3 (= v_~SIZE~0_618 v_~SIZE~0_618)))) InVars {~SIZE~0=v_~SIZE~0_618, main_~c~0=v_main_~c~0_1736, main_#t~post5=|v_main_#t~post5_901|, main_~st~0=v_main_~st~0_943, ~last~0=v_~last~0_685} OutVars{~SIZE~0=v_~SIZE~0_618, main_#t~post5=|v_main_#t~post5_899|, main_~c~0=v_main_~c~0_1735, main_~st~0=v_main_~st~0_942, ~last~0=v_~last~0_685} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {102018#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:05:55,926 INFO L290 TraceCheckUtils]: 14: Hoare triple {102018#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [371] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {102018#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:05:55,926 INFO L290 TraceCheckUtils]: 15: Hoare triple {102018#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [372] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_904| |v_main_#t~post5_900|)) (.cse1 (= v_main_~c~0_1738 v_main_~c~0_1737))) (or (and .cse0 .cse1 (= v_~SIZE~0_619 v_~SIZE~0_619) (= v_~last~0_686 v_~last~0_686)) (and (< v_main_~c~0_1737 (+ v_~last~0_686 1)) (< v_main_~c~0_1737 (+ v_~SIZE~0_619 1)) (< v_main_~c~0_1738 v_main_~c~0_1737)) (and (or (not (< v_main_~c~0_1738 v_~SIZE~0_619)) (not (< v_main_~c~0_1738 v_~last~0_686))) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_619, main_~c~0=v_main_~c~0_1738, main_#t~post5=|v_main_#t~post5_904|, ~last~0=v_~last~0_686} OutVars{~SIZE~0=v_~SIZE~0_619, main_#t~post5=|v_main_#t~post5_900|, main_~c~0=v_main_~c~0_1737, ~last~0=v_~last~0_686} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {102018#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:05:55,927 INFO L290 TraceCheckUtils]: 16: Hoare triple {102018#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [369] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {102019#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:05:55,927 INFO L290 TraceCheckUtils]: 17: Hoare triple {102019#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {102020#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:55,928 INFO L290 TraceCheckUtils]: 18: Hoare triple {102020#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {102020#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:55,928 INFO L290 TraceCheckUtils]: 19: Hoare triple {102020#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {102021#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:55,929 INFO L290 TraceCheckUtils]: 20: Hoare triple {102021#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {102021#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:05:55,930 INFO L272 TraceCheckUtils]: 21: Hoare triple {102021#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {102022#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:05:55,930 INFO L290 TraceCheckUtils]: 22: Hoare triple {102022#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {102023#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:05:55,930 INFO L290 TraceCheckUtils]: 23: Hoare triple {102023#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {102007#false} is VALID [2022-04-28 04:05:55,930 INFO L290 TraceCheckUtils]: 24: Hoare triple {102007#false} assume !false; {102007#false} is VALID [2022-04-28 04:05:55,930 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:05:55,931 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:05:55,931 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2010910877] [2022-04-28 04:05:55,931 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2010910877] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:05:55,931 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [465873737] [2022-04-28 04:05:55,931 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:05:55,931 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:05:55,931 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:05:55,932 INFO L229 MonitoredProcess]: Starting monitored process 68 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:05:55,932 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (68)] Waiting until timeout for monitored process [2022-04-28 04:05:55,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:55,966 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:05:55,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:05:55,970 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:05:56,138 INFO L272 TraceCheckUtils]: 0: Hoare triple {102006#true} call ULTIMATE.init(); {102006#true} is VALID [2022-04-28 04:05:56,138 INFO L290 TraceCheckUtils]: 1: Hoare triple {102006#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:56,138 INFO L290 TraceCheckUtils]: 2: Hoare triple {102011#(<= 20 ~SIZE~0)} assume true; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:56,139 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {102011#(<= 20 ~SIZE~0)} {102006#true} #90#return; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:56,139 INFO L272 TraceCheckUtils]: 4: Hoare triple {102011#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:56,139 INFO L290 TraceCheckUtils]: 5: Hoare triple {102011#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:56,139 INFO L272 TraceCheckUtils]: 6: Hoare triple {102011#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:56,139 INFO L290 TraceCheckUtils]: 7: Hoare triple {102011#(<= 20 ~SIZE~0)} ~cond := #in~cond; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:56,140 INFO L290 TraceCheckUtils]: 8: Hoare triple {102011#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:56,140 INFO L290 TraceCheckUtils]: 9: Hoare triple {102011#(<= 20 ~SIZE~0)} assume true; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:56,140 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {102011#(<= 20 ~SIZE~0)} {102011#(<= 20 ~SIZE~0)} #86#return; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:56,140 INFO L290 TraceCheckUtils]: 11: Hoare triple {102011#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:05:56,140 INFO L290 TraceCheckUtils]: 12: Hoare triple {102011#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {102064#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:05:56,141 INFO L290 TraceCheckUtils]: 13: Hoare triple {102064#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [370] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_685 v_main_~c~0_1736)) (.cse1 (= v_main_~st~0_943 v_main_~st~0_942)) (.cse2 (= |v_main_#t~post5_901| |v_main_#t~post5_899|)) (.cse3 (= v_main_~c~0_1736 v_main_~c~0_1735))) (or (and (< v_main_~c~0_1735 (+ v_~SIZE~0_618 1)) (= v_main_~st~0_942 0) .cse0 (< v_main_~c~0_1736 v_main_~c~0_1735)) (and (or (not .cse0) (not (< v_main_~c~0_1736 v_~SIZE~0_618))) .cse1 .cse2 .cse3) (and .cse1 (= v_~last~0_685 v_~last~0_685) .cse2 .cse3 (= v_~SIZE~0_618 v_~SIZE~0_618)))) InVars {~SIZE~0=v_~SIZE~0_618, main_~c~0=v_main_~c~0_1736, main_#t~post5=|v_main_#t~post5_901|, main_~st~0=v_main_~st~0_943, ~last~0=v_~last~0_685} OutVars{~SIZE~0=v_~SIZE~0_618, main_#t~post5=|v_main_#t~post5_899|, main_~c~0=v_main_~c~0_1735, main_~st~0=v_main_~st~0_942, ~last~0=v_~last~0_685} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {102068#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:05:56,141 INFO L290 TraceCheckUtils]: 14: Hoare triple {102068#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [371] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {102068#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:05:56,142 INFO L290 TraceCheckUtils]: 15: Hoare triple {102068#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [372] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_904| |v_main_#t~post5_900|)) (.cse1 (= v_main_~c~0_1738 v_main_~c~0_1737))) (or (and .cse0 .cse1 (= v_~SIZE~0_619 v_~SIZE~0_619) (= v_~last~0_686 v_~last~0_686)) (and (< v_main_~c~0_1737 (+ v_~last~0_686 1)) (< v_main_~c~0_1737 (+ v_~SIZE~0_619 1)) (< v_main_~c~0_1738 v_main_~c~0_1737)) (and (or (not (< v_main_~c~0_1738 v_~SIZE~0_619)) (not (< v_main_~c~0_1738 v_~last~0_686))) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_619, main_~c~0=v_main_~c~0_1738, main_#t~post5=|v_main_#t~post5_904|, ~last~0=v_~last~0_686} OutVars{~SIZE~0=v_~SIZE~0_619, main_#t~post5=|v_main_#t~post5_900|, main_~c~0=v_main_~c~0_1737, ~last~0=v_~last~0_686} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {102068#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:05:56,142 INFO L290 TraceCheckUtils]: 16: Hoare triple {102068#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [369] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {102078#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:05:56,143 INFO L290 TraceCheckUtils]: 17: Hoare triple {102078#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {102007#false} is VALID [2022-04-28 04:05:56,143 INFO L290 TraceCheckUtils]: 18: Hoare triple {102007#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {102007#false} is VALID [2022-04-28 04:05:56,143 INFO L290 TraceCheckUtils]: 19: Hoare triple {102007#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {102007#false} is VALID [2022-04-28 04:05:56,143 INFO L290 TraceCheckUtils]: 20: Hoare triple {102007#false} assume !(~d~0 == ~SIZE~0); {102007#false} is VALID [2022-04-28 04:05:56,143 INFO L272 TraceCheckUtils]: 21: Hoare triple {102007#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {102007#false} is VALID [2022-04-28 04:05:56,143 INFO L290 TraceCheckUtils]: 22: Hoare triple {102007#false} ~cond := #in~cond; {102007#false} is VALID [2022-04-28 04:05:56,143 INFO L290 TraceCheckUtils]: 23: Hoare triple {102007#false} assume 0 == ~cond; {102007#false} is VALID [2022-04-28 04:05:56,143 INFO L290 TraceCheckUtils]: 24: Hoare triple {102007#false} assume !false; {102007#false} is VALID [2022-04-28 04:05:56,143 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:05:56,143 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:05:56,365 INFO L290 TraceCheckUtils]: 24: Hoare triple {102007#false} assume !false; {102007#false} is VALID [2022-04-28 04:05:56,365 INFO L290 TraceCheckUtils]: 23: Hoare triple {102007#false} assume 0 == ~cond; {102007#false} is VALID [2022-04-28 04:05:56,366 INFO L290 TraceCheckUtils]: 22: Hoare triple {102007#false} ~cond := #in~cond; {102007#false} is VALID [2022-04-28 04:05:56,366 INFO L272 TraceCheckUtils]: 21: Hoare triple {102007#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {102007#false} is VALID [2022-04-28 04:05:56,366 INFO L290 TraceCheckUtils]: 20: Hoare triple {102007#false} assume !(~d~0 == ~SIZE~0); {102007#false} is VALID [2022-04-28 04:05:56,366 INFO L290 TraceCheckUtils]: 19: Hoare triple {102007#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {102007#false} is VALID [2022-04-28 04:05:56,366 INFO L290 TraceCheckUtils]: 18: Hoare triple {102007#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {102007#false} is VALID [2022-04-28 04:05:56,366 INFO L290 TraceCheckUtils]: 17: Hoare triple {102124#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {102007#false} is VALID [2022-04-28 04:05:56,366 INFO L290 TraceCheckUtils]: 16: Hoare triple {102128#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [369] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {102124#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:05:56,367 INFO L290 TraceCheckUtils]: 15: Hoare triple {102128#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [372] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_904| |v_main_#t~post5_900|)) (.cse1 (= v_main_~c~0_1738 v_main_~c~0_1737))) (or (and .cse0 .cse1 (= v_~SIZE~0_619 v_~SIZE~0_619) (= v_~last~0_686 v_~last~0_686)) (and (< v_main_~c~0_1737 (+ v_~last~0_686 1)) (< v_main_~c~0_1737 (+ v_~SIZE~0_619 1)) (< v_main_~c~0_1738 v_main_~c~0_1737)) (and (or (not (< v_main_~c~0_1738 v_~SIZE~0_619)) (not (< v_main_~c~0_1738 v_~last~0_686))) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_619, main_~c~0=v_main_~c~0_1738, main_#t~post5=|v_main_#t~post5_904|, ~last~0=v_~last~0_686} OutVars{~SIZE~0=v_~SIZE~0_619, main_#t~post5=|v_main_#t~post5_900|, main_~c~0=v_main_~c~0_1737, ~last~0=v_~last~0_686} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {102128#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:05:56,367 INFO L290 TraceCheckUtils]: 14: Hoare triple {102128#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [371] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {102128#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:05:56,368 INFO L290 TraceCheckUtils]: 13: Hoare triple {102138#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [370] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_685 v_main_~c~0_1736)) (.cse1 (= v_main_~st~0_943 v_main_~st~0_942)) (.cse2 (= |v_main_#t~post5_901| |v_main_#t~post5_899|)) (.cse3 (= v_main_~c~0_1736 v_main_~c~0_1735))) (or (and (< v_main_~c~0_1735 (+ v_~SIZE~0_618 1)) (= v_main_~st~0_942 0) .cse0 (< v_main_~c~0_1736 v_main_~c~0_1735)) (and (or (not .cse0) (not (< v_main_~c~0_1736 v_~SIZE~0_618))) .cse1 .cse2 .cse3) (and .cse1 (= v_~last~0_685 v_~last~0_685) .cse2 .cse3 (= v_~SIZE~0_618 v_~SIZE~0_618)))) InVars {~SIZE~0=v_~SIZE~0_618, main_~c~0=v_main_~c~0_1736, main_#t~post5=|v_main_#t~post5_901|, main_~st~0=v_main_~st~0_943, ~last~0=v_~last~0_685} OutVars{~SIZE~0=v_~SIZE~0_618, main_#t~post5=|v_main_#t~post5_899|, main_~c~0=v_main_~c~0_1735, main_~st~0=v_main_~st~0_942, ~last~0=v_~last~0_685} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {102128#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:05:56,368 INFO L290 TraceCheckUtils]: 12: Hoare triple {102142#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {102138#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:05:56,368 INFO L290 TraceCheckUtils]: 11: Hoare triple {102142#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {102142#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:56,368 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {102006#true} {102142#(< 1 ~SIZE~0)} #86#return; {102142#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:56,369 INFO L290 TraceCheckUtils]: 9: Hoare triple {102006#true} assume true; {102006#true} is VALID [2022-04-28 04:05:56,369 INFO L290 TraceCheckUtils]: 8: Hoare triple {102006#true} assume !(0 == ~cond); {102006#true} is VALID [2022-04-28 04:05:56,369 INFO L290 TraceCheckUtils]: 7: Hoare triple {102006#true} ~cond := #in~cond; {102006#true} is VALID [2022-04-28 04:05:56,369 INFO L272 TraceCheckUtils]: 6: Hoare triple {102142#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {102006#true} is VALID [2022-04-28 04:05:56,369 INFO L290 TraceCheckUtils]: 5: Hoare triple {102142#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {102142#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:56,369 INFO L272 TraceCheckUtils]: 4: Hoare triple {102142#(< 1 ~SIZE~0)} call #t~ret7 := main(); {102142#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:56,369 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {102142#(< 1 ~SIZE~0)} {102006#true} #90#return; {102142#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:56,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {102142#(< 1 ~SIZE~0)} assume true; {102142#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:56,370 INFO L290 TraceCheckUtils]: 1: Hoare triple {102006#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {102142#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:05:56,370 INFO L272 TraceCheckUtils]: 0: Hoare triple {102006#true} call ULTIMATE.init(); {102006#true} is VALID [2022-04-28 04:05:56,370 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:05:56,370 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [465873737] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:05:56,370 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:05:56,370 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:05:57,481 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:05:57,482 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2142716623] [2022-04-28 04:05:57,482 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2142716623] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:05:57,482 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:05:57,482 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [33] imperfect sequences [] total 33 [2022-04-28 04:05:57,482 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1586069116] [2022-04-28 04:05:57,482 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:05:57,482 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.5757575757575757) internal successors, (52), 31 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:05:57,482 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:05:57,482 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 33 states, 33 states have (on average 1.5757575757575757) internal successors, (52), 31 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:05:57,510 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:05:57,510 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-28 04:05:57,510 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:05:57,510 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-28 04:05:57,511 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=287, Invalid=1435, Unknown=0, NotChecked=0, Total=1722 [2022-04-28 04:05:57,511 INFO L87 Difference]: Start difference. First operand 226 states and 272 transitions. Second operand has 33 states, 33 states have (on average 1.5757575757575757) internal successors, (52), 31 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:00,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:06:00,314 INFO L93 Difference]: Finished difference Result 377 states and 456 transitions. [2022-04-28 04:06:00,315 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-04-28 04:06:00,315 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.5757575757575757) internal successors, (52), 31 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:06:00,315 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:06:00,315 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.5757575757575757) internal successors, (52), 31 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:00,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 110 transitions. [2022-04-28 04:06:00,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.5757575757575757) internal successors, (52), 31 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:00,316 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 110 transitions. [2022-04-28 04:06:00,316 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 110 transitions. [2022-04-28 04:06:00,365 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:06:00,369 INFO L225 Difference]: With dead ends: 377 [2022-04-28 04:06:00,369 INFO L226 Difference]: Without dead ends: 254 [2022-04-28 04:06:00,369 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 48 SyntacticMatches, 14 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 828 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=299, Invalid=1593, Unknown=0, NotChecked=0, Total=1892 [2022-04-28 04:06:00,372 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 56 mSDsluCounter, 60 mSDsCounter, 0 mSdLazyCounter, 1704 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 57 SdHoareTripleChecker+Valid, 80 SdHoareTripleChecker+Invalid, 1714 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1704 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 04:06:00,372 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [57 Valid, 80 Invalid, 1714 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1704 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 04:06:00,372 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 254 states. [2022-04-28 04:06:01,271 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 254 to 226. [2022-04-28 04:06:01,272 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:06:01,272 INFO L82 GeneralOperation]: Start isEquivalent. First operand 254 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:01,272 INFO L74 IsIncluded]: Start isIncluded. First operand 254 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:01,272 INFO L87 Difference]: Start difference. First operand 254 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:01,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:06:01,275 INFO L93 Difference]: Finished difference Result 254 states and 302 transitions. [2022-04-28 04:06:01,275 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 302 transitions. [2022-04-28 04:06:01,275 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:06:01,276 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:06:01,276 INFO L74 IsIncluded]: Start isIncluded. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 254 states. [2022-04-28 04:06:01,276 INFO L87 Difference]: Start difference. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 254 states. [2022-04-28 04:06:01,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:06:01,280 INFO L93 Difference]: Finished difference Result 254 states and 302 transitions. [2022-04-28 04:06:01,280 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 302 transitions. [2022-04-28 04:06:01,281 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:06:01,281 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:06:01,281 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:06:01,281 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:06:01,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:01,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-28 04:06:01,284 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-28 04:06:01,284 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:06:01,284 INFO L495 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-28 04:06:01,284 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 33 states have (on average 1.5757575757575757) internal successors, (52), 31 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:01,284 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-28 04:06:02,514 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 272 edges. 272 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:06:02,514 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-28 04:06:02,514 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-28 04:06:02,514 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:06:02,514 INFO L195 NwaCegarLoop]: trace histogram [12, 12, 9, 3, 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:06:02,530 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (68)] Ended with exit code 0 [2022-04-28 04:06:02,727 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 68 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable74 [2022-04-28 04:06:02,727 INFO L420 AbstractCegarLoop]: === Iteration 76 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:06:02,728 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:06:02,728 INFO L85 PathProgramCache]: Analyzing trace with hash 1454556316, now seen corresponding path program 64 times [2022-04-28 04:06:02,728 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:06:02,728 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [6305587] [2022-04-28 04:06:05,028 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:06:07,538 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:06:07,612 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:06:07,613 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:06:07,615 INFO L85 PathProgramCache]: Analyzing trace with hash 940612417, now seen corresponding path program 1 times [2022-04-28 04:06:07,615 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:06:07,615 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1767521291] [2022-04-28 04:06:07,615 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:06:07,615 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:06:07,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:07,812 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:06:07,813 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:07,816 INFO L290 TraceCheckUtils]: 0: Hoare triple {103941#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:07,816 INFO L290 TraceCheckUtils]: 1: Hoare triple {103928#(<= 20 ~SIZE~0)} assume true; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:07,817 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {103928#(<= 20 ~SIZE~0)} {103923#true} #90#return; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:07,817 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:06:07,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:07,820 INFO L290 TraceCheckUtils]: 0: Hoare triple {103923#true} ~cond := #in~cond; {103923#true} is VALID [2022-04-28 04:06:07,820 INFO L290 TraceCheckUtils]: 1: Hoare triple {103923#true} assume !(0 == ~cond); {103923#true} is VALID [2022-04-28 04:06:07,820 INFO L290 TraceCheckUtils]: 2: Hoare triple {103923#true} assume true; {103923#true} is VALID [2022-04-28 04:06:07,821 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {103923#true} {103928#(<= 20 ~SIZE~0)} #86#return; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:07,821 INFO L272 TraceCheckUtils]: 0: Hoare triple {103923#true} call ULTIMATE.init(); {103941#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:06:07,821 INFO L290 TraceCheckUtils]: 1: Hoare triple {103941#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:07,822 INFO L290 TraceCheckUtils]: 2: Hoare triple {103928#(<= 20 ~SIZE~0)} assume true; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:07,822 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {103928#(<= 20 ~SIZE~0)} {103923#true} #90#return; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:07,822 INFO L272 TraceCheckUtils]: 4: Hoare triple {103928#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:07,822 INFO L290 TraceCheckUtils]: 5: Hoare triple {103928#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:07,822 INFO L272 TraceCheckUtils]: 6: Hoare triple {103928#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {103923#true} is VALID [2022-04-28 04:06:07,823 INFO L290 TraceCheckUtils]: 7: Hoare triple {103923#true} ~cond := #in~cond; {103923#true} is VALID [2022-04-28 04:06:07,823 INFO L290 TraceCheckUtils]: 8: Hoare triple {103923#true} assume !(0 == ~cond); {103923#true} is VALID [2022-04-28 04:06:07,823 INFO L290 TraceCheckUtils]: 9: Hoare triple {103923#true} assume true; {103923#true} is VALID [2022-04-28 04:06:07,823 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {103923#true} {103928#(<= 20 ~SIZE~0)} #86#return; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:07,823 INFO L290 TraceCheckUtils]: 11: Hoare triple {103928#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {103933#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:06:07,824 INFO L290 TraceCheckUtils]: 12: Hoare triple {103933#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {103934#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:06:07,824 INFO L290 TraceCheckUtils]: 13: Hoare triple {103934#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [374] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= |v_main_#t~post5_914| |v_main_#t~post5_912|)) (.cse0 (<= v_~last~0_695 v_main_~c~0_1765)) (.cse2 (= v_main_~st~0_956 v_main_~st~0_955))) (or (and .cse0 (< v_main_~c~0_1765 v_main_~c~0_1764) (< v_main_~c~0_1764 (+ v_~SIZE~0_627 1)) (= v_main_~st~0_955 0)) (and (= v_main_~c~0_1765 v_main_~c~0_1764) (= v_~SIZE~0_627 v_~SIZE~0_627) .cse1 .cse2 (= v_~last~0_695 v_~last~0_695)) (and (= v_main_~c~0_1764 v_main_~c~0_1765) .cse1 (or (not .cse0) (not (< v_main_~c~0_1765 v_~SIZE~0_627))) .cse2))) InVars {~SIZE~0=v_~SIZE~0_627, main_~c~0=v_main_~c~0_1765, main_#t~post5=|v_main_#t~post5_914|, main_~st~0=v_main_~st~0_956, ~last~0=v_~last~0_695} OutVars{~SIZE~0=v_~SIZE~0_627, main_#t~post5=|v_main_#t~post5_912|, main_~c~0=v_main_~c~0_1764, main_~st~0=v_main_~st~0_955, ~last~0=v_~last~0_695} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {103935#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:06:07,825 INFO L290 TraceCheckUtils]: 14: Hoare triple {103935#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [375] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {103935#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:06:07,825 INFO L290 TraceCheckUtils]: 15: Hoare triple {103935#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [376] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1767 v_main_~c~0_1766)) (.cse1 (= |v_main_#t~post5_917| |v_main_#t~post5_913|))) (or (and (or (not (< v_main_~c~0_1767 v_~last~0_696)) (not (< v_main_~c~0_1767 v_~SIZE~0_628))) .cse0 .cse1) (and (= v_~last~0_696 v_~last~0_696) .cse0 (= v_~SIZE~0_628 v_~SIZE~0_628) .cse1) (and (< v_main_~c~0_1766 (+ v_~last~0_696 1)) (< v_main_~c~0_1767 v_main_~c~0_1766) (< v_main_~c~0_1766 (+ v_~SIZE~0_628 1))))) InVars {~SIZE~0=v_~SIZE~0_628, main_~c~0=v_main_~c~0_1767, main_#t~post5=|v_main_#t~post5_917|, ~last~0=v_~last~0_696} OutVars{~SIZE~0=v_~SIZE~0_628, main_#t~post5=|v_main_#t~post5_913|, main_~c~0=v_main_~c~0_1766, ~last~0=v_~last~0_696} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {103935#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:06:07,826 INFO L290 TraceCheckUtils]: 16: Hoare triple {103935#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [373] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {103936#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:06:07,826 INFO L290 TraceCheckUtils]: 17: Hoare triple {103936#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {103937#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:07,827 INFO L290 TraceCheckUtils]: 18: Hoare triple {103937#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {103937#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:07,827 INFO L290 TraceCheckUtils]: 19: Hoare triple {103937#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {103938#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:07,827 INFO L290 TraceCheckUtils]: 20: Hoare triple {103938#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {103938#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:07,828 INFO L272 TraceCheckUtils]: 21: Hoare triple {103938#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {103939#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:06:07,828 INFO L290 TraceCheckUtils]: 22: Hoare triple {103939#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {103940#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:06:07,829 INFO L290 TraceCheckUtils]: 23: Hoare triple {103940#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {103924#false} is VALID [2022-04-28 04:06:07,829 INFO L290 TraceCheckUtils]: 24: Hoare triple {103924#false} assume !false; {103924#false} is VALID [2022-04-28 04:06:07,829 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:06:07,829 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:06:07,829 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1767521291] [2022-04-28 04:06:07,829 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1767521291] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:06:07,829 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [601055788] [2022-04-28 04:06:07,829 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:06:07,829 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:06:07,829 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:06:07,830 INFO L229 MonitoredProcess]: Starting monitored process 69 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:06:07,831 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (69)] Waiting until timeout for monitored process [2022-04-28 04:06:07,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:07,860 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:06:07,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:07,866 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:06:08,042 INFO L272 TraceCheckUtils]: 0: Hoare triple {103923#true} call ULTIMATE.init(); {103923#true} is VALID [2022-04-28 04:06:08,056 INFO L290 TraceCheckUtils]: 1: Hoare triple {103923#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:08,056 INFO L290 TraceCheckUtils]: 2: Hoare triple {103928#(<= 20 ~SIZE~0)} assume true; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:08,056 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {103928#(<= 20 ~SIZE~0)} {103923#true} #90#return; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:08,056 INFO L272 TraceCheckUtils]: 4: Hoare triple {103928#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:08,056 INFO L290 TraceCheckUtils]: 5: Hoare triple {103928#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:08,057 INFO L272 TraceCheckUtils]: 6: Hoare triple {103928#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:08,057 INFO L290 TraceCheckUtils]: 7: Hoare triple {103928#(<= 20 ~SIZE~0)} ~cond := #in~cond; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:08,057 INFO L290 TraceCheckUtils]: 8: Hoare triple {103928#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:08,057 INFO L290 TraceCheckUtils]: 9: Hoare triple {103928#(<= 20 ~SIZE~0)} assume true; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:08,057 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {103928#(<= 20 ~SIZE~0)} {103928#(<= 20 ~SIZE~0)} #86#return; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:08,058 INFO L290 TraceCheckUtils]: 11: Hoare triple {103928#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:08,058 INFO L290 TraceCheckUtils]: 12: Hoare triple {103928#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {103981#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:06:08,059 INFO L290 TraceCheckUtils]: 13: Hoare triple {103981#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [374] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= |v_main_#t~post5_914| |v_main_#t~post5_912|)) (.cse0 (<= v_~last~0_695 v_main_~c~0_1765)) (.cse2 (= v_main_~st~0_956 v_main_~st~0_955))) (or (and .cse0 (< v_main_~c~0_1765 v_main_~c~0_1764) (< v_main_~c~0_1764 (+ v_~SIZE~0_627 1)) (= v_main_~st~0_955 0)) (and (= v_main_~c~0_1765 v_main_~c~0_1764) (= v_~SIZE~0_627 v_~SIZE~0_627) .cse1 .cse2 (= v_~last~0_695 v_~last~0_695)) (and (= v_main_~c~0_1764 v_main_~c~0_1765) .cse1 (or (not .cse0) (not (< v_main_~c~0_1765 v_~SIZE~0_627))) .cse2))) InVars {~SIZE~0=v_~SIZE~0_627, main_~c~0=v_main_~c~0_1765, main_#t~post5=|v_main_#t~post5_914|, main_~st~0=v_main_~st~0_956, ~last~0=v_~last~0_695} OutVars{~SIZE~0=v_~SIZE~0_627, main_#t~post5=|v_main_#t~post5_912|, main_~c~0=v_main_~c~0_1764, main_~st~0=v_main_~st~0_955, ~last~0=v_~last~0_695} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {103985#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:06:08,059 INFO L290 TraceCheckUtils]: 14: Hoare triple {103985#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [375] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {103985#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:06:08,059 INFO L290 TraceCheckUtils]: 15: Hoare triple {103985#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [376] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1767 v_main_~c~0_1766)) (.cse1 (= |v_main_#t~post5_917| |v_main_#t~post5_913|))) (or (and (or (not (< v_main_~c~0_1767 v_~last~0_696)) (not (< v_main_~c~0_1767 v_~SIZE~0_628))) .cse0 .cse1) (and (= v_~last~0_696 v_~last~0_696) .cse0 (= v_~SIZE~0_628 v_~SIZE~0_628) .cse1) (and (< v_main_~c~0_1766 (+ v_~last~0_696 1)) (< v_main_~c~0_1767 v_main_~c~0_1766) (< v_main_~c~0_1766 (+ v_~SIZE~0_628 1))))) InVars {~SIZE~0=v_~SIZE~0_628, main_~c~0=v_main_~c~0_1767, main_#t~post5=|v_main_#t~post5_917|, ~last~0=v_~last~0_696} OutVars{~SIZE~0=v_~SIZE~0_628, main_#t~post5=|v_main_#t~post5_913|, main_~c~0=v_main_~c~0_1766, ~last~0=v_~last~0_696} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {103985#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:06:08,060 INFO L290 TraceCheckUtils]: 16: Hoare triple {103985#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [373] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {103995#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:06:08,060 INFO L290 TraceCheckUtils]: 17: Hoare triple {103995#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {103924#false} is VALID [2022-04-28 04:06:08,060 INFO L290 TraceCheckUtils]: 18: Hoare triple {103924#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {103924#false} is VALID [2022-04-28 04:06:08,060 INFO L290 TraceCheckUtils]: 19: Hoare triple {103924#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {103924#false} is VALID [2022-04-28 04:06:08,060 INFO L290 TraceCheckUtils]: 20: Hoare triple {103924#false} assume !(~d~0 == ~SIZE~0); {103924#false} is VALID [2022-04-28 04:06:08,061 INFO L272 TraceCheckUtils]: 21: Hoare triple {103924#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {103924#false} is VALID [2022-04-28 04:06:08,061 INFO L290 TraceCheckUtils]: 22: Hoare triple {103924#false} ~cond := #in~cond; {103924#false} is VALID [2022-04-28 04:06:08,061 INFO L290 TraceCheckUtils]: 23: Hoare triple {103924#false} assume 0 == ~cond; {103924#false} is VALID [2022-04-28 04:06:08,061 INFO L290 TraceCheckUtils]: 24: Hoare triple {103924#false} assume !false; {103924#false} is VALID [2022-04-28 04:06:08,061 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:06:08,061 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:06:08,337 INFO L290 TraceCheckUtils]: 24: Hoare triple {103924#false} assume !false; {103924#false} is VALID [2022-04-28 04:06:08,337 INFO L290 TraceCheckUtils]: 23: Hoare triple {103924#false} assume 0 == ~cond; {103924#false} is VALID [2022-04-28 04:06:08,337 INFO L290 TraceCheckUtils]: 22: Hoare triple {103924#false} ~cond := #in~cond; {103924#false} is VALID [2022-04-28 04:06:08,337 INFO L272 TraceCheckUtils]: 21: Hoare triple {103924#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {103924#false} is VALID [2022-04-28 04:06:08,337 INFO L290 TraceCheckUtils]: 20: Hoare triple {103924#false} assume !(~d~0 == ~SIZE~0); {103924#false} is VALID [2022-04-28 04:06:08,337 INFO L290 TraceCheckUtils]: 19: Hoare triple {103924#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {103924#false} is VALID [2022-04-28 04:06:08,338 INFO L290 TraceCheckUtils]: 18: Hoare triple {103924#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {103924#false} is VALID [2022-04-28 04:06:08,338 INFO L290 TraceCheckUtils]: 17: Hoare triple {104041#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {103924#false} is VALID [2022-04-28 04:06:08,338 INFO L290 TraceCheckUtils]: 16: Hoare triple {104045#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [373] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {104041#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:06:08,339 INFO L290 TraceCheckUtils]: 15: Hoare triple {104045#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [376] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1767 v_main_~c~0_1766)) (.cse1 (= |v_main_#t~post5_917| |v_main_#t~post5_913|))) (or (and (or (not (< v_main_~c~0_1767 v_~last~0_696)) (not (< v_main_~c~0_1767 v_~SIZE~0_628))) .cse0 .cse1) (and (= v_~last~0_696 v_~last~0_696) .cse0 (= v_~SIZE~0_628 v_~SIZE~0_628) .cse1) (and (< v_main_~c~0_1766 (+ v_~last~0_696 1)) (< v_main_~c~0_1767 v_main_~c~0_1766) (< v_main_~c~0_1766 (+ v_~SIZE~0_628 1))))) InVars {~SIZE~0=v_~SIZE~0_628, main_~c~0=v_main_~c~0_1767, main_#t~post5=|v_main_#t~post5_917|, ~last~0=v_~last~0_696} OutVars{~SIZE~0=v_~SIZE~0_628, main_#t~post5=|v_main_#t~post5_913|, main_~c~0=v_main_~c~0_1766, ~last~0=v_~last~0_696} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {104045#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:06:08,339 INFO L290 TraceCheckUtils]: 14: Hoare triple {104045#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [375] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {104045#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:06:08,339 INFO L290 TraceCheckUtils]: 13: Hoare triple {104055#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [374] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= |v_main_#t~post5_914| |v_main_#t~post5_912|)) (.cse0 (<= v_~last~0_695 v_main_~c~0_1765)) (.cse2 (= v_main_~st~0_956 v_main_~st~0_955))) (or (and .cse0 (< v_main_~c~0_1765 v_main_~c~0_1764) (< v_main_~c~0_1764 (+ v_~SIZE~0_627 1)) (= v_main_~st~0_955 0)) (and (= v_main_~c~0_1765 v_main_~c~0_1764) (= v_~SIZE~0_627 v_~SIZE~0_627) .cse1 .cse2 (= v_~last~0_695 v_~last~0_695)) (and (= v_main_~c~0_1764 v_main_~c~0_1765) .cse1 (or (not .cse0) (not (< v_main_~c~0_1765 v_~SIZE~0_627))) .cse2))) InVars {~SIZE~0=v_~SIZE~0_627, main_~c~0=v_main_~c~0_1765, main_#t~post5=|v_main_#t~post5_914|, main_~st~0=v_main_~st~0_956, ~last~0=v_~last~0_695} OutVars{~SIZE~0=v_~SIZE~0_627, main_#t~post5=|v_main_#t~post5_912|, main_~c~0=v_main_~c~0_1764, main_~st~0=v_main_~st~0_955, ~last~0=v_~last~0_695} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {104045#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:06:08,340 INFO L290 TraceCheckUtils]: 12: Hoare triple {104059#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {104055#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:06:08,340 INFO L290 TraceCheckUtils]: 11: Hoare triple {104059#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {104059#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:08,340 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {103923#true} {104059#(< 1 ~SIZE~0)} #86#return; {104059#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:08,340 INFO L290 TraceCheckUtils]: 9: Hoare triple {103923#true} assume true; {103923#true} is VALID [2022-04-28 04:06:08,340 INFO L290 TraceCheckUtils]: 8: Hoare triple {103923#true} assume !(0 == ~cond); {103923#true} is VALID [2022-04-28 04:06:08,340 INFO L290 TraceCheckUtils]: 7: Hoare triple {103923#true} ~cond := #in~cond; {103923#true} is VALID [2022-04-28 04:06:08,340 INFO L272 TraceCheckUtils]: 6: Hoare triple {104059#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {103923#true} is VALID [2022-04-28 04:06:08,341 INFO L290 TraceCheckUtils]: 5: Hoare triple {104059#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {104059#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:08,341 INFO L272 TraceCheckUtils]: 4: Hoare triple {104059#(< 1 ~SIZE~0)} call #t~ret7 := main(); {104059#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:08,341 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {104059#(< 1 ~SIZE~0)} {103923#true} #90#return; {104059#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:08,341 INFO L290 TraceCheckUtils]: 2: Hoare triple {104059#(< 1 ~SIZE~0)} assume true; {104059#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:08,342 INFO L290 TraceCheckUtils]: 1: Hoare triple {103923#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {104059#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:08,342 INFO L272 TraceCheckUtils]: 0: Hoare triple {103923#true} call ULTIMATE.init(); {103923#true} is VALID [2022-04-28 04:06:08,342 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:06:08,342 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [601055788] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:06:08,342 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:06:08,342 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:06:09,194 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:06:09,194 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [6305587] [2022-04-28 04:06:09,194 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [6305587] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:06:09,194 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:06:09,194 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-28 04:06:09,194 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2059170114] [2022-04-28 04:06:09,194 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:06:09,195 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 32 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:06:09,195 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:06:09,195 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 34 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 32 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:09,223 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:06:09,223 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-28 04:06:09,223 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:06:09,223 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-28 04:06:09,224 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=301, Invalid=1505, Unknown=0, NotChecked=0, Total=1806 [2022-04-28 04:06:09,224 INFO L87 Difference]: Start difference. First operand 226 states and 272 transitions. Second operand has 34 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 32 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:11,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:06:11,927 INFO L93 Difference]: Finished difference Result 374 states and 453 transitions. [2022-04-28 04:06:11,927 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-28 04:06:11,927 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 32 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:06:11,927 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:06:11,927 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 32 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:11,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 111 transitions. [2022-04-28 04:06:11,928 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 32 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:11,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 111 transitions. [2022-04-28 04:06:11,929 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 111 transitions. [2022-04-28 04:06:11,985 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:06:11,988 INFO L225 Difference]: With dead ends: 374 [2022-04-28 04:06:11,988 INFO L226 Difference]: Without dead ends: 251 [2022-04-28 04:06:11,988 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 48 SyntacticMatches, 13 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 824 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=313, Invalid=1667, Unknown=0, NotChecked=0, Total=1980 [2022-04-28 04:06:11,988 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 77 mSDsluCounter, 43 mSDsCounter, 0 mSdLazyCounter, 1598 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 78 SdHoareTripleChecker+Valid, 63 SdHoareTripleChecker+Invalid, 1609 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1598 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 04:06:11,988 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [78 Valid, 63 Invalid, 1609 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1598 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 04:06:11,989 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 251 states. [2022-04-28 04:06:12,642 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 251 to 226. [2022-04-28 04:06:12,642 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:06:12,643 INFO L82 GeneralOperation]: Start isEquivalent. First operand 251 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:12,643 INFO L74 IsIncluded]: Start isIncluded. First operand 251 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:12,643 INFO L87 Difference]: Start difference. First operand 251 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:12,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:06:12,646 INFO L93 Difference]: Finished difference Result 251 states and 299 transitions. [2022-04-28 04:06:12,646 INFO L276 IsEmpty]: Start isEmpty. Operand 251 states and 299 transitions. [2022-04-28 04:06:12,646 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:06:12,646 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:06:12,646 INFO L74 IsIncluded]: Start isIncluded. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 251 states. [2022-04-28 04:06:12,646 INFO L87 Difference]: Start difference. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 251 states. [2022-04-28 04:06:12,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:06:12,649 INFO L93 Difference]: Finished difference Result 251 states and 299 transitions. [2022-04-28 04:06:12,649 INFO L276 IsEmpty]: Start isEmpty. Operand 251 states and 299 transitions. [2022-04-28 04:06:12,649 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:06:12,649 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:06:12,649 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:06:12,649 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:06:12,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:12,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-28 04:06:12,652 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-28 04:06:12,652 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:06:12,652 INFO L495 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-28 04:06:12,652 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 34 states, 34 states have (on average 1.5294117647058822) internal successors, (52), 32 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:12,652 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-28 04:06:13,937 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 272 edges. 272 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:06:13,937 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-28 04:06:13,938 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-28 04:06:13,938 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:06:13,938 INFO L195 NwaCegarLoop]: trace histogram [12, 12, 10, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:06:13,954 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (69)] Forceful destruction successful, exit code 0 [2022-04-28 04:06:14,142 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 69 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable75 [2022-04-28 04:06:14,142 INFO L420 AbstractCegarLoop]: === Iteration 77 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:06:14,143 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:06:14,143 INFO L85 PathProgramCache]: Analyzing trace with hash -133791586, now seen corresponding path program 65 times [2022-04-28 04:06:14,143 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:06:14,143 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1946904807] [2022-04-28 04:06:17,222 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:06:17,353 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:06:17,589 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:06:17,590 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:06:17,593 INFO L85 PathProgramCache]: Analyzing trace with hash -861832127, now seen corresponding path program 1 times [2022-04-28 04:06:17,593 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:06:17,594 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1832953398] [2022-04-28 04:06:17,594 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:06:17,594 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:06:17,600 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:17,772 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:06:17,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:17,776 INFO L290 TraceCheckUtils]: 0: Hoare triple {105847#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:17,776 INFO L290 TraceCheckUtils]: 1: Hoare triple {105834#(<= 20 ~SIZE~0)} assume true; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:17,777 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {105834#(<= 20 ~SIZE~0)} {105829#true} #90#return; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:17,777 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:06:17,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:17,778 INFO L290 TraceCheckUtils]: 0: Hoare triple {105829#true} ~cond := #in~cond; {105829#true} is VALID [2022-04-28 04:06:17,778 INFO L290 TraceCheckUtils]: 1: Hoare triple {105829#true} assume !(0 == ~cond); {105829#true} is VALID [2022-04-28 04:06:17,778 INFO L290 TraceCheckUtils]: 2: Hoare triple {105829#true} assume true; {105829#true} is VALID [2022-04-28 04:06:17,779 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {105829#true} {105834#(<= 20 ~SIZE~0)} #86#return; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:17,779 INFO L272 TraceCheckUtils]: 0: Hoare triple {105829#true} call ULTIMATE.init(); {105847#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:06:17,779 INFO L290 TraceCheckUtils]: 1: Hoare triple {105847#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:17,780 INFO L290 TraceCheckUtils]: 2: Hoare triple {105834#(<= 20 ~SIZE~0)} assume true; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:17,780 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {105834#(<= 20 ~SIZE~0)} {105829#true} #90#return; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:17,780 INFO L272 TraceCheckUtils]: 4: Hoare triple {105834#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:17,780 INFO L290 TraceCheckUtils]: 5: Hoare triple {105834#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:17,780 INFO L272 TraceCheckUtils]: 6: Hoare triple {105834#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {105829#true} is VALID [2022-04-28 04:06:17,781 INFO L290 TraceCheckUtils]: 7: Hoare triple {105829#true} ~cond := #in~cond; {105829#true} is VALID [2022-04-28 04:06:17,781 INFO L290 TraceCheckUtils]: 8: Hoare triple {105829#true} assume !(0 == ~cond); {105829#true} is VALID [2022-04-28 04:06:17,781 INFO L290 TraceCheckUtils]: 9: Hoare triple {105829#true} assume true; {105829#true} is VALID [2022-04-28 04:06:17,781 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {105829#true} {105834#(<= 20 ~SIZE~0)} #86#return; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:17,781 INFO L290 TraceCheckUtils]: 11: Hoare triple {105834#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {105839#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:06:17,782 INFO L290 TraceCheckUtils]: 12: Hoare triple {105839#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {105840#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:06:17,782 INFO L290 TraceCheckUtils]: 13: Hoare triple {105840#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [378] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_705 v_main_~c~0_1794)) (.cse1 (= |v_main_#t~post5_927| |v_main_#t~post5_925|)) (.cse2 (= v_main_~c~0_1794 v_main_~c~0_1793))) (or (and .cse0 (= v_main_~st~0_967 0) (< v_main_~c~0_1794 v_main_~c~0_1793) (< v_main_~c~0_1793 (+ v_~SIZE~0_636 1))) (and (or (not .cse0) (not (< v_main_~c~0_1794 v_~SIZE~0_636))) .cse1 (= v_main_~st~0_967 v_main_~st~0_968) .cse2) (and .cse1 (= v_~last~0_705 v_~last~0_705) (= v_main_~st~0_968 v_main_~st~0_967) (= v_~SIZE~0_636 v_~SIZE~0_636) .cse2))) InVars {~SIZE~0=v_~SIZE~0_636, main_~c~0=v_main_~c~0_1794, main_#t~post5=|v_main_#t~post5_927|, main_~st~0=v_main_~st~0_968, ~last~0=v_~last~0_705} OutVars{~SIZE~0=v_~SIZE~0_636, main_#t~post5=|v_main_#t~post5_925|, main_~c~0=v_main_~c~0_1793, main_~st~0=v_main_~st~0_967, ~last~0=v_~last~0_705} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {105841#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:06:17,783 INFO L290 TraceCheckUtils]: 14: Hoare triple {105841#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [379] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {105841#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:06:17,783 INFO L290 TraceCheckUtils]: 15: Hoare triple {105841#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [380] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1796 v_main_~c~0_1795))) (or (and (= |v_main_#t~post5_930| |v_main_#t~post5_926|) .cse0 (= v_~last~0_706 v_~last~0_706) (= v_~SIZE~0_637 v_~SIZE~0_637)) (and .cse0 (or (not (< v_main_~c~0_1796 v_~SIZE~0_637)) (not (< v_main_~c~0_1796 v_~last~0_706))) (= |v_main_#t~post5_926| |v_main_#t~post5_930|)) (and (< v_main_~c~0_1796 v_main_~c~0_1795) (< v_main_~c~0_1795 (+ v_~SIZE~0_637 1)) (< v_main_~c~0_1795 (+ v_~last~0_706 1))))) InVars {~SIZE~0=v_~SIZE~0_637, main_~c~0=v_main_~c~0_1796, main_#t~post5=|v_main_#t~post5_930|, ~last~0=v_~last~0_706} OutVars{~SIZE~0=v_~SIZE~0_637, main_#t~post5=|v_main_#t~post5_926|, main_~c~0=v_main_~c~0_1795, ~last~0=v_~last~0_706} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {105841#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:06:17,784 INFO L290 TraceCheckUtils]: 16: Hoare triple {105841#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [377] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {105842#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:06:17,784 INFO L290 TraceCheckUtils]: 17: Hoare triple {105842#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {105843#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:17,785 INFO L290 TraceCheckUtils]: 18: Hoare triple {105843#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {105843#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:17,785 INFO L290 TraceCheckUtils]: 19: Hoare triple {105843#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {105844#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:17,785 INFO L290 TraceCheckUtils]: 20: Hoare triple {105844#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {105844#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:17,786 INFO L272 TraceCheckUtils]: 21: Hoare triple {105844#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {105845#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:06:17,786 INFO L290 TraceCheckUtils]: 22: Hoare triple {105845#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {105846#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:06:17,787 INFO L290 TraceCheckUtils]: 23: Hoare triple {105846#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {105830#false} is VALID [2022-04-28 04:06:17,787 INFO L290 TraceCheckUtils]: 24: Hoare triple {105830#false} assume !false; {105830#false} is VALID [2022-04-28 04:06:17,787 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:06:17,787 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:06:17,787 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1832953398] [2022-04-28 04:06:17,787 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1832953398] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:06:17,787 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2031294309] [2022-04-28 04:06:17,787 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:06:17,787 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:06:17,787 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:06:17,788 INFO L229 MonitoredProcess]: Starting monitored process 70 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:06:17,789 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (70)] Waiting until timeout for monitored process [2022-04-28 04:06:17,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:17,825 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:06:17,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:17,831 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:06:18,061 INFO L272 TraceCheckUtils]: 0: Hoare triple {105829#true} call ULTIMATE.init(); {105829#true} is VALID [2022-04-28 04:06:18,062 INFO L290 TraceCheckUtils]: 1: Hoare triple {105829#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:18,062 INFO L290 TraceCheckUtils]: 2: Hoare triple {105834#(<= 20 ~SIZE~0)} assume true; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:18,062 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {105834#(<= 20 ~SIZE~0)} {105829#true} #90#return; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:18,062 INFO L272 TraceCheckUtils]: 4: Hoare triple {105834#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:18,063 INFO L290 TraceCheckUtils]: 5: Hoare triple {105834#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:18,063 INFO L272 TraceCheckUtils]: 6: Hoare triple {105834#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:18,063 INFO L290 TraceCheckUtils]: 7: Hoare triple {105834#(<= 20 ~SIZE~0)} ~cond := #in~cond; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:18,063 INFO L290 TraceCheckUtils]: 8: Hoare triple {105834#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:18,064 INFO L290 TraceCheckUtils]: 9: Hoare triple {105834#(<= 20 ~SIZE~0)} assume true; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:18,064 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {105834#(<= 20 ~SIZE~0)} {105834#(<= 20 ~SIZE~0)} #86#return; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:18,064 INFO L290 TraceCheckUtils]: 11: Hoare triple {105834#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:18,064 INFO L290 TraceCheckUtils]: 12: Hoare triple {105834#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {105887#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:06:18,065 INFO L290 TraceCheckUtils]: 13: Hoare triple {105887#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [378] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_705 v_main_~c~0_1794)) (.cse1 (= |v_main_#t~post5_927| |v_main_#t~post5_925|)) (.cse2 (= v_main_~c~0_1794 v_main_~c~0_1793))) (or (and .cse0 (= v_main_~st~0_967 0) (< v_main_~c~0_1794 v_main_~c~0_1793) (< v_main_~c~0_1793 (+ v_~SIZE~0_636 1))) (and (or (not .cse0) (not (< v_main_~c~0_1794 v_~SIZE~0_636))) .cse1 (= v_main_~st~0_967 v_main_~st~0_968) .cse2) (and .cse1 (= v_~last~0_705 v_~last~0_705) (= v_main_~st~0_968 v_main_~st~0_967) (= v_~SIZE~0_636 v_~SIZE~0_636) .cse2))) InVars {~SIZE~0=v_~SIZE~0_636, main_~c~0=v_main_~c~0_1794, main_#t~post5=|v_main_#t~post5_927|, main_~st~0=v_main_~st~0_968, ~last~0=v_~last~0_705} OutVars{~SIZE~0=v_~SIZE~0_636, main_#t~post5=|v_main_#t~post5_925|, main_~c~0=v_main_~c~0_1793, main_~st~0=v_main_~st~0_967, ~last~0=v_~last~0_705} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {105891#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:06:18,066 INFO L290 TraceCheckUtils]: 14: Hoare triple {105891#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [379] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {105891#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:06:18,066 INFO L290 TraceCheckUtils]: 15: Hoare triple {105891#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [380] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1796 v_main_~c~0_1795))) (or (and (= |v_main_#t~post5_930| |v_main_#t~post5_926|) .cse0 (= v_~last~0_706 v_~last~0_706) (= v_~SIZE~0_637 v_~SIZE~0_637)) (and .cse0 (or (not (< v_main_~c~0_1796 v_~SIZE~0_637)) (not (< v_main_~c~0_1796 v_~last~0_706))) (= |v_main_#t~post5_926| |v_main_#t~post5_930|)) (and (< v_main_~c~0_1796 v_main_~c~0_1795) (< v_main_~c~0_1795 (+ v_~SIZE~0_637 1)) (< v_main_~c~0_1795 (+ v_~last~0_706 1))))) InVars {~SIZE~0=v_~SIZE~0_637, main_~c~0=v_main_~c~0_1796, main_#t~post5=|v_main_#t~post5_930|, ~last~0=v_~last~0_706} OutVars{~SIZE~0=v_~SIZE~0_637, main_#t~post5=|v_main_#t~post5_926|, main_~c~0=v_main_~c~0_1795, ~last~0=v_~last~0_706} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {105891#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:06:18,066 INFO L290 TraceCheckUtils]: 16: Hoare triple {105891#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [377] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {105901#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:06:18,067 INFO L290 TraceCheckUtils]: 17: Hoare triple {105901#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {105830#false} is VALID [2022-04-28 04:06:18,067 INFO L290 TraceCheckUtils]: 18: Hoare triple {105830#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {105830#false} is VALID [2022-04-28 04:06:18,067 INFO L290 TraceCheckUtils]: 19: Hoare triple {105830#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {105830#false} is VALID [2022-04-28 04:06:18,067 INFO L290 TraceCheckUtils]: 20: Hoare triple {105830#false} assume !(~d~0 == ~SIZE~0); {105830#false} is VALID [2022-04-28 04:06:18,067 INFO L272 TraceCheckUtils]: 21: Hoare triple {105830#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {105830#false} is VALID [2022-04-28 04:06:18,067 INFO L290 TraceCheckUtils]: 22: Hoare triple {105830#false} ~cond := #in~cond; {105830#false} is VALID [2022-04-28 04:06:18,067 INFO L290 TraceCheckUtils]: 23: Hoare triple {105830#false} assume 0 == ~cond; {105830#false} is VALID [2022-04-28 04:06:18,067 INFO L290 TraceCheckUtils]: 24: Hoare triple {105830#false} assume !false; {105830#false} is VALID [2022-04-28 04:06:18,068 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:06:18,068 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:06:18,326 INFO L290 TraceCheckUtils]: 24: Hoare triple {105830#false} assume !false; {105830#false} is VALID [2022-04-28 04:06:18,326 INFO L290 TraceCheckUtils]: 23: Hoare triple {105830#false} assume 0 == ~cond; {105830#false} is VALID [2022-04-28 04:06:18,326 INFO L290 TraceCheckUtils]: 22: Hoare triple {105830#false} ~cond := #in~cond; {105830#false} is VALID [2022-04-28 04:06:18,326 INFO L272 TraceCheckUtils]: 21: Hoare triple {105830#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {105830#false} is VALID [2022-04-28 04:06:18,327 INFO L290 TraceCheckUtils]: 20: Hoare triple {105830#false} assume !(~d~0 == ~SIZE~0); {105830#false} is VALID [2022-04-28 04:06:18,327 INFO L290 TraceCheckUtils]: 19: Hoare triple {105830#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {105830#false} is VALID [2022-04-28 04:06:18,327 INFO L290 TraceCheckUtils]: 18: Hoare triple {105830#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {105830#false} is VALID [2022-04-28 04:06:18,327 INFO L290 TraceCheckUtils]: 17: Hoare triple {105947#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {105830#false} is VALID [2022-04-28 04:06:18,327 INFO L290 TraceCheckUtils]: 16: Hoare triple {105951#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [377] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {105947#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:06:18,328 INFO L290 TraceCheckUtils]: 15: Hoare triple {105951#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [380] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1796 v_main_~c~0_1795))) (or (and (= |v_main_#t~post5_930| |v_main_#t~post5_926|) .cse0 (= v_~last~0_706 v_~last~0_706) (= v_~SIZE~0_637 v_~SIZE~0_637)) (and .cse0 (or (not (< v_main_~c~0_1796 v_~SIZE~0_637)) (not (< v_main_~c~0_1796 v_~last~0_706))) (= |v_main_#t~post5_926| |v_main_#t~post5_930|)) (and (< v_main_~c~0_1796 v_main_~c~0_1795) (< v_main_~c~0_1795 (+ v_~SIZE~0_637 1)) (< v_main_~c~0_1795 (+ v_~last~0_706 1))))) InVars {~SIZE~0=v_~SIZE~0_637, main_~c~0=v_main_~c~0_1796, main_#t~post5=|v_main_#t~post5_930|, ~last~0=v_~last~0_706} OutVars{~SIZE~0=v_~SIZE~0_637, main_#t~post5=|v_main_#t~post5_926|, main_~c~0=v_main_~c~0_1795, ~last~0=v_~last~0_706} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {105951#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:06:18,328 INFO L290 TraceCheckUtils]: 14: Hoare triple {105951#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [379] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {105951#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:06:18,329 INFO L290 TraceCheckUtils]: 13: Hoare triple {105961#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [378] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_705 v_main_~c~0_1794)) (.cse1 (= |v_main_#t~post5_927| |v_main_#t~post5_925|)) (.cse2 (= v_main_~c~0_1794 v_main_~c~0_1793))) (or (and .cse0 (= v_main_~st~0_967 0) (< v_main_~c~0_1794 v_main_~c~0_1793) (< v_main_~c~0_1793 (+ v_~SIZE~0_636 1))) (and (or (not .cse0) (not (< v_main_~c~0_1794 v_~SIZE~0_636))) .cse1 (= v_main_~st~0_967 v_main_~st~0_968) .cse2) (and .cse1 (= v_~last~0_705 v_~last~0_705) (= v_main_~st~0_968 v_main_~st~0_967) (= v_~SIZE~0_636 v_~SIZE~0_636) .cse2))) InVars {~SIZE~0=v_~SIZE~0_636, main_~c~0=v_main_~c~0_1794, main_#t~post5=|v_main_#t~post5_927|, main_~st~0=v_main_~st~0_968, ~last~0=v_~last~0_705} OutVars{~SIZE~0=v_~SIZE~0_636, main_#t~post5=|v_main_#t~post5_925|, main_~c~0=v_main_~c~0_1793, main_~st~0=v_main_~st~0_967, ~last~0=v_~last~0_705} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {105951#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:06:18,329 INFO L290 TraceCheckUtils]: 12: Hoare triple {105965#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {105961#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:06:18,329 INFO L290 TraceCheckUtils]: 11: Hoare triple {105965#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {105965#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:18,330 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {105829#true} {105965#(< 1 ~SIZE~0)} #86#return; {105965#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:18,330 INFO L290 TraceCheckUtils]: 9: Hoare triple {105829#true} assume true; {105829#true} is VALID [2022-04-28 04:06:18,330 INFO L290 TraceCheckUtils]: 8: Hoare triple {105829#true} assume !(0 == ~cond); {105829#true} is VALID [2022-04-28 04:06:18,330 INFO L290 TraceCheckUtils]: 7: Hoare triple {105829#true} ~cond := #in~cond; {105829#true} is VALID [2022-04-28 04:06:18,330 INFO L272 TraceCheckUtils]: 6: Hoare triple {105965#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {105829#true} is VALID [2022-04-28 04:06:18,330 INFO L290 TraceCheckUtils]: 5: Hoare triple {105965#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {105965#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:18,330 INFO L272 TraceCheckUtils]: 4: Hoare triple {105965#(< 1 ~SIZE~0)} call #t~ret7 := main(); {105965#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:18,331 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {105965#(< 1 ~SIZE~0)} {105829#true} #90#return; {105965#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:18,331 INFO L290 TraceCheckUtils]: 2: Hoare triple {105965#(< 1 ~SIZE~0)} assume true; {105965#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:18,331 INFO L290 TraceCheckUtils]: 1: Hoare triple {105829#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {105965#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:18,331 INFO L272 TraceCheckUtils]: 0: Hoare triple {105829#true} call ULTIMATE.init(); {105829#true} is VALID [2022-04-28 04:06:18,332 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:06:18,332 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2031294309] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:06:18,332 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:06:18,332 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:06:19,206 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:06:19,206 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1946904807] [2022-04-28 04:06:19,207 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1946904807] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:06:19,207 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:06:19,207 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [35] imperfect sequences [] total 35 [2022-04-28 04:06:19,207 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1683886317] [2022-04-28 04:06:19,207 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:06:19,207 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 35 states have (on average 1.4857142857142858) internal successors, (52), 33 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:06:19,207 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:06:19,207 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 35 states, 35 states have (on average 1.4857142857142858) internal successors, (52), 33 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:19,235 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:06:19,235 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 35 states [2022-04-28 04:06:19,235 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:06:19,236 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2022-04-28 04:06:19,236 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=315, Invalid=1577, Unknown=0, NotChecked=0, Total=1892 [2022-04-28 04:06:19,236 INFO L87 Difference]: Start difference. First operand 226 states and 272 transitions. Second operand has 35 states, 35 states have (on average 1.4857142857142858) internal successors, (52), 33 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:21,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:06:21,634 INFO L93 Difference]: Finished difference Result 372 states and 451 transitions. [2022-04-28 04:06:21,634 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2022-04-28 04:06:21,634 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 35 states have (on average 1.4857142857142858) internal successors, (52), 33 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:06:21,634 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:06:21,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 35 states have (on average 1.4857142857142858) internal successors, (52), 33 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:21,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 112 transitions. [2022-04-28 04:06:21,635 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 35 states have (on average 1.4857142857142858) internal successors, (52), 33 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:21,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 112 transitions. [2022-04-28 04:06:21,635 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 112 transitions. [2022-04-28 04:06:21,712 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:06:21,716 INFO L225 Difference]: With dead ends: 372 [2022-04-28 04:06:21,716 INFO L226 Difference]: Without dead ends: 249 [2022-04-28 04:06:21,716 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 48 SyntacticMatches, 12 SemanticMatches, 44 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 811 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=327, Invalid=1743, Unknown=0, NotChecked=0, Total=2070 [2022-04-28 04:06:21,716 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 65 mSDsluCounter, 38 mSDsCounter, 0 mSdLazyCounter, 1504 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 66 SdHoareTripleChecker+Valid, 58 SdHoareTripleChecker+Invalid, 1514 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1504 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 04:06:21,716 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [66 Valid, 58 Invalid, 1514 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1504 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 04:06:21,716 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 249 states. [2022-04-28 04:06:22,494 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 249 to 226. [2022-04-28 04:06:22,494 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:06:22,495 INFO L82 GeneralOperation]: Start isEquivalent. First operand 249 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:22,495 INFO L74 IsIncluded]: Start isIncluded. First operand 249 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:22,495 INFO L87 Difference]: Start difference. First operand 249 states. Second operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:22,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:06:22,498 INFO L93 Difference]: Finished difference Result 249 states and 297 transitions. [2022-04-28 04:06:22,498 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 297 transitions. [2022-04-28 04:06:22,498 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:06:22,498 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:06:22,498 INFO L74 IsIncluded]: Start isIncluded. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 249 states. [2022-04-28 04:06:22,498 INFO L87 Difference]: Start difference. First operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 249 states. [2022-04-28 04:06:22,501 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:06:22,501 INFO L93 Difference]: Finished difference Result 249 states and 297 transitions. [2022-04-28 04:06:22,501 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 297 transitions. [2022-04-28 04:06:22,501 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:06:22,501 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:06:22,501 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:06:22,501 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:06:22,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 226 states, 211 states have (on average 1.2085308056872037) internal successors, (255), 214 states have internal predecessors, (255), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:22,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-28 04:06:22,504 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-28 04:06:22,504 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:06:22,504 INFO L495 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-28 04:06:22,504 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 35 states, 35 states have (on average 1.4857142857142858) internal successors, (52), 33 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:22,504 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-28 04:06:23,841 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 272 edges. 272 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:06:23,841 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-28 04:06:23,841 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-28 04:06:23,841 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:06:23,841 INFO L195 NwaCegarLoop]: trace histogram [12, 12, 11, 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:06:23,860 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (70)] Forceful destruction successful, exit code 0 [2022-04-28 04:06:24,051 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable76,70 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:06:24,051 INFO L420 AbstractCegarLoop]: === Iteration 78 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:06:24,051 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:06:24,052 INFO L85 PathProgramCache]: Analyzing trace with hash -1144908836, now seen corresponding path program 66 times [2022-04-28 04:06:24,052 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:06:24,052 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2119714846] [2022-04-28 04:06:26,546 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:06:26,635 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:06:30,768 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:06:30,871 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:06:30,873 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:06:30,876 INFO L85 PathProgramCache]: Analyzing trace with hash 1630690625, now seen corresponding path program 1 times [2022-04-28 04:06:30,876 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:06:30,876 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [158342787] [2022-04-28 04:06:30,876 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:06:30,876 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:06:30,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:31,042 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:06:31,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:31,047 INFO L290 TraceCheckUtils]: 0: Hoare triple {107746#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,048 INFO L290 TraceCheckUtils]: 1: Hoare triple {107733#(<= 20 ~SIZE~0)} assume true; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,048 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {107733#(<= 20 ~SIZE~0)} {107728#true} #90#return; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,048 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:06:31,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:31,050 INFO L290 TraceCheckUtils]: 0: Hoare triple {107728#true} ~cond := #in~cond; {107728#true} is VALID [2022-04-28 04:06:31,050 INFO L290 TraceCheckUtils]: 1: Hoare triple {107728#true} assume !(0 == ~cond); {107728#true} is VALID [2022-04-28 04:06:31,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {107728#true} assume true; {107728#true} is VALID [2022-04-28 04:06:31,051 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {107728#true} {107733#(<= 20 ~SIZE~0)} #86#return; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,051 INFO L272 TraceCheckUtils]: 0: Hoare triple {107728#true} call ULTIMATE.init(); {107746#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:06:31,052 INFO L290 TraceCheckUtils]: 1: Hoare triple {107746#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,052 INFO L290 TraceCheckUtils]: 2: Hoare triple {107733#(<= 20 ~SIZE~0)} assume true; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,052 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {107733#(<= 20 ~SIZE~0)} {107728#true} #90#return; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,053 INFO L272 TraceCheckUtils]: 4: Hoare triple {107733#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,053 INFO L290 TraceCheckUtils]: 5: Hoare triple {107733#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,053 INFO L272 TraceCheckUtils]: 6: Hoare triple {107733#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {107728#true} is VALID [2022-04-28 04:06:31,053 INFO L290 TraceCheckUtils]: 7: Hoare triple {107728#true} ~cond := #in~cond; {107728#true} is VALID [2022-04-28 04:06:31,053 INFO L290 TraceCheckUtils]: 8: Hoare triple {107728#true} assume !(0 == ~cond); {107728#true} is VALID [2022-04-28 04:06:31,053 INFO L290 TraceCheckUtils]: 9: Hoare triple {107728#true} assume true; {107728#true} is VALID [2022-04-28 04:06:31,054 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {107728#true} {107733#(<= 20 ~SIZE~0)} #86#return; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,054 INFO L290 TraceCheckUtils]: 11: Hoare triple {107733#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {107738#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:06:31,054 INFO L290 TraceCheckUtils]: 12: Hoare triple {107738#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {107739#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:06:31,055 INFO L290 TraceCheckUtils]: 13: Hoare triple {107739#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [382] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1823 v_main_~c~0_1822)) (.cse1 (<= v_~last~0_715 v_main_~c~0_1823))) (or (and (= v_~SIZE~0_645 v_~SIZE~0_645) (= v_main_~st~0_979 v_main_~st~0_978) (= |v_main_#t~post5_940| |v_main_#t~post5_938|) (= v_~last~0_715 v_~last~0_715) .cse0) (and (or (not .cse1) (not (< v_main_~c~0_1823 v_~SIZE~0_645))) (= |v_main_#t~post5_938| |v_main_#t~post5_940|) (= v_main_~st~0_978 v_main_~st~0_979) .cse0) (and .cse1 (= v_main_~st~0_978 0) (< v_main_~c~0_1823 v_main_~c~0_1822) (< v_main_~c~0_1822 (+ v_~SIZE~0_645 1))))) InVars {~SIZE~0=v_~SIZE~0_645, main_~c~0=v_main_~c~0_1823, main_#t~post5=|v_main_#t~post5_940|, main_~st~0=v_main_~st~0_979, ~last~0=v_~last~0_715} OutVars{~SIZE~0=v_~SIZE~0_645, main_#t~post5=|v_main_#t~post5_938|, main_~c~0=v_main_~c~0_1822, main_~st~0=v_main_~st~0_978, ~last~0=v_~last~0_715} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {107740#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:06:31,056 INFO L290 TraceCheckUtils]: 14: Hoare triple {107740#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [383] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {107740#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:06:31,056 INFO L290 TraceCheckUtils]: 15: Hoare triple {107740#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [384] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1825 v_main_~c~0_1824))) (or (and (< v_main_~c~0_1825 v_main_~c~0_1824) (< v_main_~c~0_1824 (+ v_~SIZE~0_646 1)) (< v_main_~c~0_1824 (+ v_~last~0_716 1))) (and (= |v_main_#t~post5_939| |v_main_#t~post5_943|) (or (not (< v_main_~c~0_1825 v_~SIZE~0_646)) (not (< v_main_~c~0_1825 v_~last~0_716))) .cse0) (and (= v_~last~0_716 v_~last~0_716) (= v_~SIZE~0_646 v_~SIZE~0_646) (= |v_main_#t~post5_943| |v_main_#t~post5_939|) .cse0))) InVars {~SIZE~0=v_~SIZE~0_646, main_~c~0=v_main_~c~0_1825, main_#t~post5=|v_main_#t~post5_943|, ~last~0=v_~last~0_716} OutVars{~SIZE~0=v_~SIZE~0_646, main_#t~post5=|v_main_#t~post5_939|, main_~c~0=v_main_~c~0_1824, ~last~0=v_~last~0_716} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {107740#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:06:31,057 INFO L290 TraceCheckUtils]: 16: Hoare triple {107740#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [381] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {107741#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:06:31,058 INFO L290 TraceCheckUtils]: 17: Hoare triple {107741#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {107742#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:31,058 INFO L290 TraceCheckUtils]: 18: Hoare triple {107742#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {107742#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:31,059 INFO L290 TraceCheckUtils]: 19: Hoare triple {107742#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {107743#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:31,059 INFO L290 TraceCheckUtils]: 20: Hoare triple {107743#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {107743#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:31,060 INFO L272 TraceCheckUtils]: 21: Hoare triple {107743#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {107744#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:06:31,060 INFO L290 TraceCheckUtils]: 22: Hoare triple {107744#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {107745#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:06:31,060 INFO L290 TraceCheckUtils]: 23: Hoare triple {107745#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {107729#false} is VALID [2022-04-28 04:06:31,060 INFO L290 TraceCheckUtils]: 24: Hoare triple {107729#false} assume !false; {107729#false} is VALID [2022-04-28 04:06:31,061 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:06:31,061 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:06:31,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [158342787] [2022-04-28 04:06:31,061 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [158342787] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:06:31,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [419906722] [2022-04-28 04:06:31,061 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:06:31,061 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:06:31,061 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:06:31,062 INFO L229 MonitoredProcess]: Starting monitored process 71 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:06:31,063 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (71)] Waiting until timeout for monitored process [2022-04-28 04:06:31,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:31,097 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:06:31,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:31,104 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:06:31,393 INFO L272 TraceCheckUtils]: 0: Hoare triple {107728#true} call ULTIMATE.init(); {107728#true} is VALID [2022-04-28 04:06:31,394 INFO L290 TraceCheckUtils]: 1: Hoare triple {107728#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,394 INFO L290 TraceCheckUtils]: 2: Hoare triple {107733#(<= 20 ~SIZE~0)} assume true; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,394 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {107733#(<= 20 ~SIZE~0)} {107728#true} #90#return; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,395 INFO L272 TraceCheckUtils]: 4: Hoare triple {107733#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,395 INFO L290 TraceCheckUtils]: 5: Hoare triple {107733#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,395 INFO L272 TraceCheckUtils]: 6: Hoare triple {107733#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,396 INFO L290 TraceCheckUtils]: 7: Hoare triple {107733#(<= 20 ~SIZE~0)} ~cond := #in~cond; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,396 INFO L290 TraceCheckUtils]: 8: Hoare triple {107733#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,396 INFO L290 TraceCheckUtils]: 9: Hoare triple {107733#(<= 20 ~SIZE~0)} assume true; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,397 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {107733#(<= 20 ~SIZE~0)} {107733#(<= 20 ~SIZE~0)} #86#return; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,397 INFO L290 TraceCheckUtils]: 11: Hoare triple {107733#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:31,397 INFO L290 TraceCheckUtils]: 12: Hoare triple {107733#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {107786#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:06:31,398 INFO L290 TraceCheckUtils]: 13: Hoare triple {107786#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [382] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1823 v_main_~c~0_1822)) (.cse1 (<= v_~last~0_715 v_main_~c~0_1823))) (or (and (= v_~SIZE~0_645 v_~SIZE~0_645) (= v_main_~st~0_979 v_main_~st~0_978) (= |v_main_#t~post5_940| |v_main_#t~post5_938|) (= v_~last~0_715 v_~last~0_715) .cse0) (and (or (not .cse1) (not (< v_main_~c~0_1823 v_~SIZE~0_645))) (= |v_main_#t~post5_938| |v_main_#t~post5_940|) (= v_main_~st~0_978 v_main_~st~0_979) .cse0) (and .cse1 (= v_main_~st~0_978 0) (< v_main_~c~0_1823 v_main_~c~0_1822) (< v_main_~c~0_1822 (+ v_~SIZE~0_645 1))))) InVars {~SIZE~0=v_~SIZE~0_645, main_~c~0=v_main_~c~0_1823, main_#t~post5=|v_main_#t~post5_940|, main_~st~0=v_main_~st~0_979, ~last~0=v_~last~0_715} OutVars{~SIZE~0=v_~SIZE~0_645, main_#t~post5=|v_main_#t~post5_938|, main_~c~0=v_main_~c~0_1822, main_~st~0=v_main_~st~0_978, ~last~0=v_~last~0_715} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {107790#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:06:31,399 INFO L290 TraceCheckUtils]: 14: Hoare triple {107790#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [383] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {107790#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:06:31,399 INFO L290 TraceCheckUtils]: 15: Hoare triple {107790#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [384] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1825 v_main_~c~0_1824))) (or (and (< v_main_~c~0_1825 v_main_~c~0_1824) (< v_main_~c~0_1824 (+ v_~SIZE~0_646 1)) (< v_main_~c~0_1824 (+ v_~last~0_716 1))) (and (= |v_main_#t~post5_939| |v_main_#t~post5_943|) (or (not (< v_main_~c~0_1825 v_~SIZE~0_646)) (not (< v_main_~c~0_1825 v_~last~0_716))) .cse0) (and (= v_~last~0_716 v_~last~0_716) (= v_~SIZE~0_646 v_~SIZE~0_646) (= |v_main_#t~post5_943| |v_main_#t~post5_939|) .cse0))) InVars {~SIZE~0=v_~SIZE~0_646, main_~c~0=v_main_~c~0_1825, main_#t~post5=|v_main_#t~post5_943|, ~last~0=v_~last~0_716} OutVars{~SIZE~0=v_~SIZE~0_646, main_#t~post5=|v_main_#t~post5_939|, main_~c~0=v_main_~c~0_1824, ~last~0=v_~last~0_716} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {107790#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:06:31,400 INFO L290 TraceCheckUtils]: 16: Hoare triple {107790#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [381] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {107800#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:06:31,400 INFO L290 TraceCheckUtils]: 17: Hoare triple {107800#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {107729#false} is VALID [2022-04-28 04:06:31,400 INFO L290 TraceCheckUtils]: 18: Hoare triple {107729#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {107729#false} is VALID [2022-04-28 04:06:31,400 INFO L290 TraceCheckUtils]: 19: Hoare triple {107729#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {107729#false} is VALID [2022-04-28 04:06:31,401 INFO L290 TraceCheckUtils]: 20: Hoare triple {107729#false} assume !(~d~0 == ~SIZE~0); {107729#false} is VALID [2022-04-28 04:06:31,401 INFO L272 TraceCheckUtils]: 21: Hoare triple {107729#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {107729#false} is VALID [2022-04-28 04:06:31,401 INFO L290 TraceCheckUtils]: 22: Hoare triple {107729#false} ~cond := #in~cond; {107729#false} is VALID [2022-04-28 04:06:31,401 INFO L290 TraceCheckUtils]: 23: Hoare triple {107729#false} assume 0 == ~cond; {107729#false} is VALID [2022-04-28 04:06:31,401 INFO L290 TraceCheckUtils]: 24: Hoare triple {107729#false} assume !false; {107729#false} is VALID [2022-04-28 04:06:31,401 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:06:31,401 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:06:31,749 INFO L290 TraceCheckUtils]: 24: Hoare triple {107729#false} assume !false; {107729#false} is VALID [2022-04-28 04:06:31,750 INFO L290 TraceCheckUtils]: 23: Hoare triple {107729#false} assume 0 == ~cond; {107729#false} is VALID [2022-04-28 04:06:31,750 INFO L290 TraceCheckUtils]: 22: Hoare triple {107729#false} ~cond := #in~cond; {107729#false} is VALID [2022-04-28 04:06:31,750 INFO L272 TraceCheckUtils]: 21: Hoare triple {107729#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {107729#false} is VALID [2022-04-28 04:06:31,750 INFO L290 TraceCheckUtils]: 20: Hoare triple {107729#false} assume !(~d~0 == ~SIZE~0); {107729#false} is VALID [2022-04-28 04:06:31,750 INFO L290 TraceCheckUtils]: 19: Hoare triple {107729#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {107729#false} is VALID [2022-04-28 04:06:31,750 INFO L290 TraceCheckUtils]: 18: Hoare triple {107729#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {107729#false} is VALID [2022-04-28 04:06:31,750 INFO L290 TraceCheckUtils]: 17: Hoare triple {107846#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {107729#false} is VALID [2022-04-28 04:06:31,751 INFO L290 TraceCheckUtils]: 16: Hoare triple {107850#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [381] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {107846#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:06:31,751 INFO L290 TraceCheckUtils]: 15: Hoare triple {107850#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [384] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1825 v_main_~c~0_1824))) (or (and (< v_main_~c~0_1825 v_main_~c~0_1824) (< v_main_~c~0_1824 (+ v_~SIZE~0_646 1)) (< v_main_~c~0_1824 (+ v_~last~0_716 1))) (and (= |v_main_#t~post5_939| |v_main_#t~post5_943|) (or (not (< v_main_~c~0_1825 v_~SIZE~0_646)) (not (< v_main_~c~0_1825 v_~last~0_716))) .cse0) (and (= v_~last~0_716 v_~last~0_716) (= v_~SIZE~0_646 v_~SIZE~0_646) (= |v_main_#t~post5_943| |v_main_#t~post5_939|) .cse0))) InVars {~SIZE~0=v_~SIZE~0_646, main_~c~0=v_main_~c~0_1825, main_#t~post5=|v_main_#t~post5_943|, ~last~0=v_~last~0_716} OutVars{~SIZE~0=v_~SIZE~0_646, main_#t~post5=|v_main_#t~post5_939|, main_~c~0=v_main_~c~0_1824, ~last~0=v_~last~0_716} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {107850#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:06:31,752 INFO L290 TraceCheckUtils]: 14: Hoare triple {107850#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [383] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {107850#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:06:31,752 INFO L290 TraceCheckUtils]: 13: Hoare triple {107860#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [382] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1823 v_main_~c~0_1822)) (.cse1 (<= v_~last~0_715 v_main_~c~0_1823))) (or (and (= v_~SIZE~0_645 v_~SIZE~0_645) (= v_main_~st~0_979 v_main_~st~0_978) (= |v_main_#t~post5_940| |v_main_#t~post5_938|) (= v_~last~0_715 v_~last~0_715) .cse0) (and (or (not .cse1) (not (< v_main_~c~0_1823 v_~SIZE~0_645))) (= |v_main_#t~post5_938| |v_main_#t~post5_940|) (= v_main_~st~0_978 v_main_~st~0_979) .cse0) (and .cse1 (= v_main_~st~0_978 0) (< v_main_~c~0_1823 v_main_~c~0_1822) (< v_main_~c~0_1822 (+ v_~SIZE~0_645 1))))) InVars {~SIZE~0=v_~SIZE~0_645, main_~c~0=v_main_~c~0_1823, main_#t~post5=|v_main_#t~post5_940|, main_~st~0=v_main_~st~0_979, ~last~0=v_~last~0_715} OutVars{~SIZE~0=v_~SIZE~0_645, main_#t~post5=|v_main_#t~post5_938|, main_~c~0=v_main_~c~0_1822, main_~st~0=v_main_~st~0_978, ~last~0=v_~last~0_715} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {107850#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:06:31,753 INFO L290 TraceCheckUtils]: 12: Hoare triple {107864#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {107860#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:06:31,753 INFO L290 TraceCheckUtils]: 11: Hoare triple {107864#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {107864#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:31,754 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {107728#true} {107864#(< 1 ~SIZE~0)} #86#return; {107864#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:31,754 INFO L290 TraceCheckUtils]: 9: Hoare triple {107728#true} assume true; {107728#true} is VALID [2022-04-28 04:06:31,754 INFO L290 TraceCheckUtils]: 8: Hoare triple {107728#true} assume !(0 == ~cond); {107728#true} is VALID [2022-04-28 04:06:31,754 INFO L290 TraceCheckUtils]: 7: Hoare triple {107728#true} ~cond := #in~cond; {107728#true} is VALID [2022-04-28 04:06:31,754 INFO L272 TraceCheckUtils]: 6: Hoare triple {107864#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {107728#true} is VALID [2022-04-28 04:06:31,754 INFO L290 TraceCheckUtils]: 5: Hoare triple {107864#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {107864#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:31,754 INFO L272 TraceCheckUtils]: 4: Hoare triple {107864#(< 1 ~SIZE~0)} call #t~ret7 := main(); {107864#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:31,755 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {107864#(< 1 ~SIZE~0)} {107728#true} #90#return; {107864#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:31,755 INFO L290 TraceCheckUtils]: 2: Hoare triple {107864#(< 1 ~SIZE~0)} assume true; {107864#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:31,755 INFO L290 TraceCheckUtils]: 1: Hoare triple {107728#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {107864#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:31,756 INFO L272 TraceCheckUtils]: 0: Hoare triple {107728#true} call ULTIMATE.init(); {107728#true} is VALID [2022-04-28 04:06:31,756 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:06:31,756 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [419906722] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:06:31,756 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:06:31,756 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:06:32,725 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:06:32,725 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2119714846] [2022-04-28 04:06:32,726 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2119714846] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:06:32,726 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:06:32,726 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [36] imperfect sequences [] total 36 [2022-04-28 04:06:32,726 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2090554500] [2022-04-28 04:06:32,726 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:06:32,726 INFO L78 Accepts]: Start accepts. Automaton has has 36 states, 36 states have (on average 1.4444444444444444) internal successors, (52), 34 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:06:32,726 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:06:32,726 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 36 states, 36 states have (on average 1.4444444444444444) internal successors, (52), 34 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:32,756 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:06:32,756 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 36 states [2022-04-28 04:06:32,756 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:06:32,756 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2022-04-28 04:06:32,757 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=329, Invalid=1651, Unknown=0, NotChecked=0, Total=1980 [2022-04-28 04:06:32,757 INFO L87 Difference]: Start difference. First operand 226 states and 272 transitions. Second operand has 36 states, 36 states have (on average 1.4444444444444444) internal successors, (52), 34 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:35,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:06:35,651 INFO L93 Difference]: Finished difference Result 383 states and 466 transitions. [2022-04-28 04:06:35,651 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-28 04:06:35,651 INFO L78 Accepts]: Start accepts. Automaton has has 36 states, 36 states have (on average 1.4444444444444444) internal successors, (52), 34 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 04:06:35,651 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:06:35,651 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 36 states have (on average 1.4444444444444444) internal successors, (52), 34 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:35,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 114 transitions. [2022-04-28 04:06:35,663 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 36 states have (on average 1.4444444444444444) internal successors, (52), 34 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:35,664 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 114 transitions. [2022-04-28 04:06:35,664 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 114 transitions. [2022-04-28 04:06:35,746 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:06:35,750 INFO L225 Difference]: With dead ends: 383 [2022-04-28 04:06:35,750 INFO L226 Difference]: Without dead ends: 249 [2022-04-28 04:06:35,750 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 48 SyntacticMatches, 11 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 787 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=341, Invalid=1821, Unknown=0, NotChecked=0, Total=2162 [2022-04-28 04:06:35,750 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 62 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 1852 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 63 SdHoareTripleChecker+Valid, 72 SdHoareTripleChecker+Invalid, 1863 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1852 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:06:35,750 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [63 Valid, 72 Invalid, 1863 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1852 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 04:06:35,751 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 249 states. [2022-04-28 04:06:36,736 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 249 to 229. [2022-04-28 04:06:36,736 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:06:36,736 INFO L82 GeneralOperation]: Start isEquivalent. First operand 249 states. Second operand has 229 states, 214 states have (on average 1.2102803738317758) internal successors, (259), 217 states have internal predecessors, (259), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:36,737 INFO L74 IsIncluded]: Start isIncluded. First operand 249 states. Second operand has 229 states, 214 states have (on average 1.2102803738317758) internal successors, (259), 217 states have internal predecessors, (259), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:36,737 INFO L87 Difference]: Start difference. First operand 249 states. Second operand has 229 states, 214 states have (on average 1.2102803738317758) internal successors, (259), 217 states have internal predecessors, (259), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:36,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:06:36,740 INFO L93 Difference]: Finished difference Result 249 states and 298 transitions. [2022-04-28 04:06:36,740 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 298 transitions. [2022-04-28 04:06:36,740 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:06:36,740 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:06:36,740 INFO L74 IsIncluded]: Start isIncluded. First operand has 229 states, 214 states have (on average 1.2102803738317758) internal successors, (259), 217 states have internal predecessors, (259), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 249 states. [2022-04-28 04:06:36,740 INFO L87 Difference]: Start difference. First operand has 229 states, 214 states have (on average 1.2102803738317758) internal successors, (259), 217 states have internal predecessors, (259), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 249 states. [2022-04-28 04:06:36,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:06:36,743 INFO L93 Difference]: Finished difference Result 249 states and 298 transitions. [2022-04-28 04:06:36,743 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 298 transitions. [2022-04-28 04:06:36,743 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:06:36,743 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:06:36,743 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:06:36,743 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:06:36,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 229 states, 214 states have (on average 1.2102803738317758) internal successors, (259), 217 states have internal predecessors, (259), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:36,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 229 states to 229 states and 276 transitions. [2022-04-28 04:06:36,746 INFO L78 Accepts]: Start accepts. Automaton has 229 states and 276 transitions. Word has length 58 [2022-04-28 04:06:36,746 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:06:36,746 INFO L495 AbstractCegarLoop]: Abstraction has 229 states and 276 transitions. [2022-04-28 04:06:36,746 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 36 states, 36 states have (on average 1.4444444444444444) internal successors, (52), 34 states have internal predecessors, (52), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:36,746 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 229 states and 276 transitions. [2022-04-28 04:06:38,105 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 276 edges. 276 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:06:38,105 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 276 transitions. [2022-04-28 04:06:38,106 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 04:06:38,106 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:06:38,106 INFO L195 NwaCegarLoop]: trace histogram [13, 13, 12, 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:06:38,122 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (71)] Forceful destruction successful, exit code 0 [2022-04-28 04:06:38,319 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable77,71 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:06:38,320 INFO L420 AbstractCegarLoop]: === Iteration 79 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:06:38,320 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:06:38,320 INFO L85 PathProgramCache]: Analyzing trace with hash 831909855, now seen corresponding path program 67 times [2022-04-28 04:06:38,320 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:06:38,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [116677950] [2022-04-28 04:06:38,463 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:06:42,560 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:06:42,675 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:06:42,677 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:06:42,680 INFO L85 PathProgramCache]: Analyzing trace with hash -171753919, now seen corresponding path program 1 times [2022-04-28 04:06:42,680 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:06:42,680 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [969259519] [2022-04-28 04:06:42,680 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:06:42,680 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:06:42,687 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:42,867 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:06:42,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:42,874 INFO L290 TraceCheckUtils]: 0: Hoare triple {109674#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:42,874 INFO L290 TraceCheckUtils]: 1: Hoare triple {109661#(<= 20 ~SIZE~0)} assume true; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:42,875 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {109661#(<= 20 ~SIZE~0)} {109656#true} #90#return; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:42,875 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:06:42,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:42,877 INFO L290 TraceCheckUtils]: 0: Hoare triple {109656#true} ~cond := #in~cond; {109656#true} is VALID [2022-04-28 04:06:42,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {109656#true} assume !(0 == ~cond); {109656#true} is VALID [2022-04-28 04:06:42,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {109656#true} assume true; {109656#true} is VALID [2022-04-28 04:06:42,877 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {109656#true} {109661#(<= 20 ~SIZE~0)} #86#return; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:42,878 INFO L272 TraceCheckUtils]: 0: Hoare triple {109656#true} call ULTIMATE.init(); {109674#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:06:42,878 INFO L290 TraceCheckUtils]: 1: Hoare triple {109674#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:42,879 INFO L290 TraceCheckUtils]: 2: Hoare triple {109661#(<= 20 ~SIZE~0)} assume true; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:42,879 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {109661#(<= 20 ~SIZE~0)} {109656#true} #90#return; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:42,879 INFO L272 TraceCheckUtils]: 4: Hoare triple {109661#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:42,880 INFO L290 TraceCheckUtils]: 5: Hoare triple {109661#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:42,880 INFO L272 TraceCheckUtils]: 6: Hoare triple {109661#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {109656#true} is VALID [2022-04-28 04:06:42,880 INFO L290 TraceCheckUtils]: 7: Hoare triple {109656#true} ~cond := #in~cond; {109656#true} is VALID [2022-04-28 04:06:42,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {109656#true} assume !(0 == ~cond); {109656#true} is VALID [2022-04-28 04:06:42,880 INFO L290 TraceCheckUtils]: 9: Hoare triple {109656#true} assume true; {109656#true} is VALID [2022-04-28 04:06:42,880 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {109656#true} {109661#(<= 20 ~SIZE~0)} #86#return; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:42,881 INFO L290 TraceCheckUtils]: 11: Hoare triple {109661#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {109666#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:06:42,881 INFO L290 TraceCheckUtils]: 12: Hoare triple {109666#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {109667#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:06:42,882 INFO L290 TraceCheckUtils]: 13: Hoare triple {109667#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [386] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_989 v_main_~st~0_988)) (.cse1 (= |v_main_#t~post5_953| |v_main_#t~post5_951|)) (.cse2 (= v_main_~c~0_1852 v_main_~c~0_1851)) (.cse3 (<= v_~last~0_725 v_main_~c~0_1852))) (or (and .cse0 (= v_~SIZE~0_654 v_~SIZE~0_654) .cse1 .cse2 (= v_~last~0_725 v_~last~0_725)) (and (= v_main_~st~0_988 0) .cse3 (< v_main_~c~0_1852 v_main_~c~0_1851) (< v_main_~c~0_1851 (+ v_~SIZE~0_654 1))) (and .cse0 .cse1 .cse2 (or (not (< v_main_~c~0_1852 v_~SIZE~0_654)) (not .cse3))))) InVars {~SIZE~0=v_~SIZE~0_654, main_~c~0=v_main_~c~0_1852, main_#t~post5=|v_main_#t~post5_953|, main_~st~0=v_main_~st~0_989, ~last~0=v_~last~0_725} OutVars{~SIZE~0=v_~SIZE~0_654, main_#t~post5=|v_main_#t~post5_951|, main_~c~0=v_main_~c~0_1851, main_~st~0=v_main_~st~0_988, ~last~0=v_~last~0_725} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {109668#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:06:42,882 INFO L290 TraceCheckUtils]: 14: Hoare triple {109668#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [387] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {109668#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:06:42,883 INFO L290 TraceCheckUtils]: 15: Hoare triple {109668#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [388] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1854 v_main_~c~0_1853))) (or (and (< v_main_~c~0_1853 (+ v_~SIZE~0_655 1)) (< v_main_~c~0_1853 (+ v_~last~0_726 1)) (< v_main_~c~0_1854 v_main_~c~0_1853)) (and .cse0 (= |v_main_#t~post5_952| |v_main_#t~post5_956|) (or (not (< v_main_~c~0_1854 v_~SIZE~0_655)) (not (< v_main_~c~0_1854 v_~last~0_726)))) (and .cse0 (= v_~SIZE~0_655 v_~SIZE~0_655) (= |v_main_#t~post5_956| |v_main_#t~post5_952|) (= v_~last~0_726 v_~last~0_726)))) InVars {~SIZE~0=v_~SIZE~0_655, main_~c~0=v_main_~c~0_1854, main_#t~post5=|v_main_#t~post5_956|, ~last~0=v_~last~0_726} OutVars{~SIZE~0=v_~SIZE~0_655, main_#t~post5=|v_main_#t~post5_952|, main_~c~0=v_main_~c~0_1853, ~last~0=v_~last~0_726} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {109668#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:06:42,883 INFO L290 TraceCheckUtils]: 16: Hoare triple {109668#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [385] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {109669#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:06:42,884 INFO L290 TraceCheckUtils]: 17: Hoare triple {109669#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {109670#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:42,885 INFO L290 TraceCheckUtils]: 18: Hoare triple {109670#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {109670#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:42,885 INFO L290 TraceCheckUtils]: 19: Hoare triple {109670#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {109671#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:42,886 INFO L290 TraceCheckUtils]: 20: Hoare triple {109671#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {109671#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:42,886 INFO L272 TraceCheckUtils]: 21: Hoare triple {109671#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {109672#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:06:42,887 INFO L290 TraceCheckUtils]: 22: Hoare triple {109672#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {109673#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:06:42,887 INFO L290 TraceCheckUtils]: 23: Hoare triple {109673#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {109657#false} is VALID [2022-04-28 04:06:42,887 INFO L290 TraceCheckUtils]: 24: Hoare triple {109657#false} assume !false; {109657#false} is VALID [2022-04-28 04:06:42,887 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:06:42,887 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:06:42,887 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [969259519] [2022-04-28 04:06:42,887 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [969259519] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:06:42,887 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [89875397] [2022-04-28 04:06:42,888 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:06:42,888 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:06:42,888 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:06:42,889 INFO L229 MonitoredProcess]: Starting monitored process 72 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:06:42,889 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (72)] Waiting until timeout for monitored process [2022-04-28 04:06:42,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:42,918 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:06:42,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:42,924 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:06:43,232 INFO L272 TraceCheckUtils]: 0: Hoare triple {109656#true} call ULTIMATE.init(); {109656#true} is VALID [2022-04-28 04:06:43,233 INFO L290 TraceCheckUtils]: 1: Hoare triple {109656#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:43,233 INFO L290 TraceCheckUtils]: 2: Hoare triple {109661#(<= 20 ~SIZE~0)} assume true; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:43,234 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {109661#(<= 20 ~SIZE~0)} {109656#true} #90#return; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:43,234 INFO L272 TraceCheckUtils]: 4: Hoare triple {109661#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:43,234 INFO L290 TraceCheckUtils]: 5: Hoare triple {109661#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:43,235 INFO L272 TraceCheckUtils]: 6: Hoare triple {109661#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:43,235 INFO L290 TraceCheckUtils]: 7: Hoare triple {109661#(<= 20 ~SIZE~0)} ~cond := #in~cond; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:43,235 INFO L290 TraceCheckUtils]: 8: Hoare triple {109661#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:43,236 INFO L290 TraceCheckUtils]: 9: Hoare triple {109661#(<= 20 ~SIZE~0)} assume true; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:43,236 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {109661#(<= 20 ~SIZE~0)} {109661#(<= 20 ~SIZE~0)} #86#return; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:43,236 INFO L290 TraceCheckUtils]: 11: Hoare triple {109661#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:43,237 INFO L290 TraceCheckUtils]: 12: Hoare triple {109661#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {109714#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:06:43,238 INFO L290 TraceCheckUtils]: 13: Hoare triple {109714#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [386] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_989 v_main_~st~0_988)) (.cse1 (= |v_main_#t~post5_953| |v_main_#t~post5_951|)) (.cse2 (= v_main_~c~0_1852 v_main_~c~0_1851)) (.cse3 (<= v_~last~0_725 v_main_~c~0_1852))) (or (and .cse0 (= v_~SIZE~0_654 v_~SIZE~0_654) .cse1 .cse2 (= v_~last~0_725 v_~last~0_725)) (and (= v_main_~st~0_988 0) .cse3 (< v_main_~c~0_1852 v_main_~c~0_1851) (< v_main_~c~0_1851 (+ v_~SIZE~0_654 1))) (and .cse0 .cse1 .cse2 (or (not (< v_main_~c~0_1852 v_~SIZE~0_654)) (not .cse3))))) InVars {~SIZE~0=v_~SIZE~0_654, main_~c~0=v_main_~c~0_1852, main_#t~post5=|v_main_#t~post5_953|, main_~st~0=v_main_~st~0_989, ~last~0=v_~last~0_725} OutVars{~SIZE~0=v_~SIZE~0_654, main_#t~post5=|v_main_#t~post5_951|, main_~c~0=v_main_~c~0_1851, main_~st~0=v_main_~st~0_988, ~last~0=v_~last~0_725} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {109718#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:06:43,238 INFO L290 TraceCheckUtils]: 14: Hoare triple {109718#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [387] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {109718#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:06:43,239 INFO L290 TraceCheckUtils]: 15: Hoare triple {109718#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [388] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1854 v_main_~c~0_1853))) (or (and (< v_main_~c~0_1853 (+ v_~SIZE~0_655 1)) (< v_main_~c~0_1853 (+ v_~last~0_726 1)) (< v_main_~c~0_1854 v_main_~c~0_1853)) (and .cse0 (= |v_main_#t~post5_952| |v_main_#t~post5_956|) (or (not (< v_main_~c~0_1854 v_~SIZE~0_655)) (not (< v_main_~c~0_1854 v_~last~0_726)))) (and .cse0 (= v_~SIZE~0_655 v_~SIZE~0_655) (= |v_main_#t~post5_956| |v_main_#t~post5_952|) (= v_~last~0_726 v_~last~0_726)))) InVars {~SIZE~0=v_~SIZE~0_655, main_~c~0=v_main_~c~0_1854, main_#t~post5=|v_main_#t~post5_956|, ~last~0=v_~last~0_726} OutVars{~SIZE~0=v_~SIZE~0_655, main_#t~post5=|v_main_#t~post5_952|, main_~c~0=v_main_~c~0_1853, ~last~0=v_~last~0_726} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {109718#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:06:43,239 INFO L290 TraceCheckUtils]: 16: Hoare triple {109718#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [385] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {109728#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:06:43,240 INFO L290 TraceCheckUtils]: 17: Hoare triple {109728#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {109657#false} is VALID [2022-04-28 04:06:43,240 INFO L290 TraceCheckUtils]: 18: Hoare triple {109657#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {109657#false} is VALID [2022-04-28 04:06:43,240 INFO L290 TraceCheckUtils]: 19: Hoare triple {109657#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {109657#false} is VALID [2022-04-28 04:06:43,240 INFO L290 TraceCheckUtils]: 20: Hoare triple {109657#false} assume !(~d~0 == ~SIZE~0); {109657#false} is VALID [2022-04-28 04:06:43,240 INFO L272 TraceCheckUtils]: 21: Hoare triple {109657#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {109657#false} is VALID [2022-04-28 04:06:43,240 INFO L290 TraceCheckUtils]: 22: Hoare triple {109657#false} ~cond := #in~cond; {109657#false} is VALID [2022-04-28 04:06:43,240 INFO L290 TraceCheckUtils]: 23: Hoare triple {109657#false} assume 0 == ~cond; {109657#false} is VALID [2022-04-28 04:06:43,240 INFO L290 TraceCheckUtils]: 24: Hoare triple {109657#false} assume !false; {109657#false} is VALID [2022-04-28 04:06:43,240 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:06:43,241 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:06:43,544 INFO L290 TraceCheckUtils]: 24: Hoare triple {109657#false} assume !false; {109657#false} is VALID [2022-04-28 04:06:43,544 INFO L290 TraceCheckUtils]: 23: Hoare triple {109657#false} assume 0 == ~cond; {109657#false} is VALID [2022-04-28 04:06:43,544 INFO L290 TraceCheckUtils]: 22: Hoare triple {109657#false} ~cond := #in~cond; {109657#false} is VALID [2022-04-28 04:06:43,544 INFO L272 TraceCheckUtils]: 21: Hoare triple {109657#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {109657#false} is VALID [2022-04-28 04:06:43,544 INFO L290 TraceCheckUtils]: 20: Hoare triple {109657#false} assume !(~d~0 == ~SIZE~0); {109657#false} is VALID [2022-04-28 04:06:43,544 INFO L290 TraceCheckUtils]: 19: Hoare triple {109657#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {109657#false} is VALID [2022-04-28 04:06:43,545 INFO L290 TraceCheckUtils]: 18: Hoare triple {109657#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {109657#false} is VALID [2022-04-28 04:06:43,545 INFO L290 TraceCheckUtils]: 17: Hoare triple {109774#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {109657#false} is VALID [2022-04-28 04:06:43,545 INFO L290 TraceCheckUtils]: 16: Hoare triple {109778#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [385] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {109774#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:06:43,546 INFO L290 TraceCheckUtils]: 15: Hoare triple {109778#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [388] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1854 v_main_~c~0_1853))) (or (and (< v_main_~c~0_1853 (+ v_~SIZE~0_655 1)) (< v_main_~c~0_1853 (+ v_~last~0_726 1)) (< v_main_~c~0_1854 v_main_~c~0_1853)) (and .cse0 (= |v_main_#t~post5_952| |v_main_#t~post5_956|) (or (not (< v_main_~c~0_1854 v_~SIZE~0_655)) (not (< v_main_~c~0_1854 v_~last~0_726)))) (and .cse0 (= v_~SIZE~0_655 v_~SIZE~0_655) (= |v_main_#t~post5_956| |v_main_#t~post5_952|) (= v_~last~0_726 v_~last~0_726)))) InVars {~SIZE~0=v_~SIZE~0_655, main_~c~0=v_main_~c~0_1854, main_#t~post5=|v_main_#t~post5_956|, ~last~0=v_~last~0_726} OutVars{~SIZE~0=v_~SIZE~0_655, main_#t~post5=|v_main_#t~post5_952|, main_~c~0=v_main_~c~0_1853, ~last~0=v_~last~0_726} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {109778#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:06:43,546 INFO L290 TraceCheckUtils]: 14: Hoare triple {109778#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [387] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {109778#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:06:43,546 INFO L290 TraceCheckUtils]: 13: Hoare triple {109788#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [386] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_989 v_main_~st~0_988)) (.cse1 (= |v_main_#t~post5_953| |v_main_#t~post5_951|)) (.cse2 (= v_main_~c~0_1852 v_main_~c~0_1851)) (.cse3 (<= v_~last~0_725 v_main_~c~0_1852))) (or (and .cse0 (= v_~SIZE~0_654 v_~SIZE~0_654) .cse1 .cse2 (= v_~last~0_725 v_~last~0_725)) (and (= v_main_~st~0_988 0) .cse3 (< v_main_~c~0_1852 v_main_~c~0_1851) (< v_main_~c~0_1851 (+ v_~SIZE~0_654 1))) (and .cse0 .cse1 .cse2 (or (not (< v_main_~c~0_1852 v_~SIZE~0_654)) (not .cse3))))) InVars {~SIZE~0=v_~SIZE~0_654, main_~c~0=v_main_~c~0_1852, main_#t~post5=|v_main_#t~post5_953|, main_~st~0=v_main_~st~0_989, ~last~0=v_~last~0_725} OutVars{~SIZE~0=v_~SIZE~0_654, main_#t~post5=|v_main_#t~post5_951|, main_~c~0=v_main_~c~0_1851, main_~st~0=v_main_~st~0_988, ~last~0=v_~last~0_725} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {109778#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:06:43,547 INFO L290 TraceCheckUtils]: 12: Hoare triple {109792#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {109788#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:06:43,547 INFO L290 TraceCheckUtils]: 11: Hoare triple {109792#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {109792#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:43,547 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {109656#true} {109792#(< 1 ~SIZE~0)} #86#return; {109792#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:43,547 INFO L290 TraceCheckUtils]: 9: Hoare triple {109656#true} assume true; {109656#true} is VALID [2022-04-28 04:06:43,547 INFO L290 TraceCheckUtils]: 8: Hoare triple {109656#true} assume !(0 == ~cond); {109656#true} is VALID [2022-04-28 04:06:43,547 INFO L290 TraceCheckUtils]: 7: Hoare triple {109656#true} ~cond := #in~cond; {109656#true} is VALID [2022-04-28 04:06:43,548 INFO L272 TraceCheckUtils]: 6: Hoare triple {109792#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {109656#true} is VALID [2022-04-28 04:06:43,548 INFO L290 TraceCheckUtils]: 5: Hoare triple {109792#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {109792#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:43,548 INFO L272 TraceCheckUtils]: 4: Hoare triple {109792#(< 1 ~SIZE~0)} call #t~ret7 := main(); {109792#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:43,548 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {109792#(< 1 ~SIZE~0)} {109656#true} #90#return; {109792#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:43,548 INFO L290 TraceCheckUtils]: 2: Hoare triple {109792#(< 1 ~SIZE~0)} assume true; {109792#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:43,549 INFO L290 TraceCheckUtils]: 1: Hoare triple {109656#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {109792#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:43,549 INFO L272 TraceCheckUtils]: 0: Hoare triple {109656#true} call ULTIMATE.init(); {109656#true} is VALID [2022-04-28 04:06:43,549 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:06:43,549 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [89875397] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:06:43,549 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:06:43,549 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:06:44,516 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:06:44,517 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [116677950] [2022-04-28 04:06:44,517 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [116677950] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:06:44,517 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:06:44,517 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-28 04:06:44,517 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1195477666] [2022-04-28 04:06:44,517 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:06:44,517 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 2.037037037037037) internal successors, (55), 25 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:06:44,517 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:06:44,517 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 27 states, 27 states have (on average 2.037037037037037) internal successors, (55), 25 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:44,564 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:06:44,564 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-28 04:06:44,564 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:06:44,564 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-28 04:06:44,564 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=196, Invalid=1064, Unknown=0, NotChecked=0, Total=1260 [2022-04-28 04:06:44,564 INFO L87 Difference]: Start difference. First operand 229 states and 276 transitions. Second operand has 27 states, 27 states have (on average 2.037037037037037) internal successors, (55), 25 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:48,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:06:48,040 INFO L93 Difference]: Finished difference Result 401 states and 481 transitions. [2022-04-28 04:06:48,040 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-28 04:06:48,040 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 2.037037037037037) internal successors, (55), 25 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:06:48,040 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:06:48,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 2.037037037037037) internal successors, (55), 25 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:48,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 106 transitions. [2022-04-28 04:06:48,041 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 2.037037037037037) internal successors, (55), 25 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:48,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 106 transitions. [2022-04-28 04:06:48,041 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 106 transitions. [2022-04-28 04:06:48,096 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:06:48,099 INFO L225 Difference]: With dead ends: 401 [2022-04-28 04:06:48,099 INFO L226 Difference]: Without dead ends: 278 [2022-04-28 04:06:48,100 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 23 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 648 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=208, Invalid=1198, Unknown=0, NotChecked=0, Total=1406 [2022-04-28 04:06:48,100 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 49 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 1546 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 82 SdHoareTripleChecker+Invalid, 1557 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1546 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:06:48,100 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 82 Invalid, 1557 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1546 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 04:06:48,100 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 278 states. [2022-04-28 04:06:48,861 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 278 to 232. [2022-04-28 04:06:48,862 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:06:48,862 INFO L82 GeneralOperation]: Start isEquivalent. First operand 278 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:48,862 INFO L74 IsIncluded]: Start isIncluded. First operand 278 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:48,862 INFO L87 Difference]: Start difference. First operand 278 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:48,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:06:48,870 INFO L93 Difference]: Finished difference Result 278 states and 327 transitions. [2022-04-28 04:06:48,870 INFO L276 IsEmpty]: Start isEmpty. Operand 278 states and 327 transitions. [2022-04-28 04:06:48,870 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:06:48,870 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:06:48,870 INFO L74 IsIncluded]: Start isIncluded. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 278 states. [2022-04-28 04:06:48,870 INFO L87 Difference]: Start difference. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 278 states. [2022-04-28 04:06:48,873 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:06:48,874 INFO L93 Difference]: Finished difference Result 278 states and 327 transitions. [2022-04-28 04:06:48,874 INFO L276 IsEmpty]: Start isEmpty. Operand 278 states and 327 transitions. [2022-04-28 04:06:48,874 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:06:48,874 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:06:48,874 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:06:48,874 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:06:48,874 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:48,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-28 04:06:48,877 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-28 04:06:48,877 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:06:48,877 INFO L495 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-28 04:06:48,877 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 27 states have (on average 2.037037037037037) internal successors, (55), 25 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:48,877 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-28 04:06:50,357 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 279 edges. 279 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:06:50,357 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-28 04:06:50,357 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 04:06:50,357 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:06:50,357 INFO L195 NwaCegarLoop]: trace histogram [13, 13, 11, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:06:50,380 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (72)] Forceful destruction successful, exit code 0 [2022-04-28 04:06:50,572 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 72 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable78 [2022-04-28 04:06:50,572 INFO L420 AbstractCegarLoop]: === Iteration 80 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:06:50,572 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:06:50,573 INFO L85 PathProgramCache]: Analyzing trace with hash -1217477987, now seen corresponding path program 68 times [2022-04-28 04:06:50,573 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:06:50,573 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1726252401] [2022-04-28 04:06:50,739 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:06:52,515 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:06:52,606 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:06:52,607 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:06:52,609 INFO L85 PathProgramCache]: Analyzing trace with hash -1974198463, now seen corresponding path program 1 times [2022-04-28 04:06:52,609 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:06:52,609 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [268362904] [2022-04-28 04:06:52,609 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:06:52,609 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:06:52,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:52,762 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:06:52,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:52,766 INFO L290 TraceCheckUtils]: 0: Hoare triple {111693#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:52,766 INFO L290 TraceCheckUtils]: 1: Hoare triple {111680#(<= 20 ~SIZE~0)} assume true; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:52,767 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {111680#(<= 20 ~SIZE~0)} {111675#true} #90#return; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:52,767 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:06:52,767 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:52,768 INFO L290 TraceCheckUtils]: 0: Hoare triple {111675#true} ~cond := #in~cond; {111675#true} is VALID [2022-04-28 04:06:52,768 INFO L290 TraceCheckUtils]: 1: Hoare triple {111675#true} assume !(0 == ~cond); {111675#true} is VALID [2022-04-28 04:06:52,769 INFO L290 TraceCheckUtils]: 2: Hoare triple {111675#true} assume true; {111675#true} is VALID [2022-04-28 04:06:52,769 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {111675#true} {111680#(<= 20 ~SIZE~0)} #86#return; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:52,769 INFO L272 TraceCheckUtils]: 0: Hoare triple {111675#true} call ULTIMATE.init(); {111693#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:06:52,770 INFO L290 TraceCheckUtils]: 1: Hoare triple {111693#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:52,770 INFO L290 TraceCheckUtils]: 2: Hoare triple {111680#(<= 20 ~SIZE~0)} assume true; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:52,770 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {111680#(<= 20 ~SIZE~0)} {111675#true} #90#return; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:52,770 INFO L272 TraceCheckUtils]: 4: Hoare triple {111680#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:52,771 INFO L290 TraceCheckUtils]: 5: Hoare triple {111680#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:52,771 INFO L272 TraceCheckUtils]: 6: Hoare triple {111680#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {111675#true} is VALID [2022-04-28 04:06:52,771 INFO L290 TraceCheckUtils]: 7: Hoare triple {111675#true} ~cond := #in~cond; {111675#true} is VALID [2022-04-28 04:06:52,771 INFO L290 TraceCheckUtils]: 8: Hoare triple {111675#true} assume !(0 == ~cond); {111675#true} is VALID [2022-04-28 04:06:52,771 INFO L290 TraceCheckUtils]: 9: Hoare triple {111675#true} assume true; {111675#true} is VALID [2022-04-28 04:06:52,771 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {111675#true} {111680#(<= 20 ~SIZE~0)} #86#return; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:52,772 INFO L290 TraceCheckUtils]: 11: Hoare triple {111680#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {111685#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:06:52,772 INFO L290 TraceCheckUtils]: 12: Hoare triple {111685#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {111686#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:06:52,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {111686#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [390] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1882 v_main_~c~0_1881)) (.cse2 (<= v_~last~0_735 v_main_~c~0_1882)) (.cse1 (= |v_main_#t~post5_966| |v_main_#t~post5_964|))) (or (and .cse0 (= v_main_~st~0_1010 v_main_~st~0_1009) .cse1 (= v_~last~0_735 v_~last~0_735) (= v_~SIZE~0_663 v_~SIZE~0_663)) (and (< v_main_~c~0_1881 (+ v_~SIZE~0_663 1)) .cse2 (= v_main_~st~0_1009 0) (< v_main_~c~0_1882 v_main_~c~0_1881)) (and .cse0 (= v_main_~st~0_1009 v_main_~st~0_1010) (or (not .cse2) (not (< v_main_~c~0_1882 v_~SIZE~0_663))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_663, main_~c~0=v_main_~c~0_1882, main_#t~post5=|v_main_#t~post5_966|, main_~st~0=v_main_~st~0_1010, ~last~0=v_~last~0_735} OutVars{~SIZE~0=v_~SIZE~0_663, main_#t~post5=|v_main_#t~post5_964|, main_~c~0=v_main_~c~0_1881, main_~st~0=v_main_~st~0_1009, ~last~0=v_~last~0_735} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {111687#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:06:52,773 INFO L290 TraceCheckUtils]: 14: Hoare triple {111687#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [391] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {111687#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:06:52,774 INFO L290 TraceCheckUtils]: 15: Hoare triple {111687#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [392] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1884 v_main_~c~0_1883)) (.cse1 (= |v_main_#t~post5_969| |v_main_#t~post5_965|))) (or (and (< v_main_~c~0_1883 (+ v_~last~0_736 1)) (< v_main_~c~0_1883 (+ v_~SIZE~0_664 1)) (< v_main_~c~0_1884 v_main_~c~0_1883)) (and .cse0 .cse1 (= v_~SIZE~0_664 v_~SIZE~0_664) (= v_~last~0_736 v_~last~0_736)) (and .cse0 .cse1 (or (not (< v_main_~c~0_1884 v_~SIZE~0_664)) (not (< v_main_~c~0_1884 v_~last~0_736)))))) InVars {~SIZE~0=v_~SIZE~0_664, main_~c~0=v_main_~c~0_1884, main_#t~post5=|v_main_#t~post5_969|, ~last~0=v_~last~0_736} OutVars{~SIZE~0=v_~SIZE~0_664, main_#t~post5=|v_main_#t~post5_965|, main_~c~0=v_main_~c~0_1883, ~last~0=v_~last~0_736} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {111687#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:06:52,774 INFO L290 TraceCheckUtils]: 16: Hoare triple {111687#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [389] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {111688#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:06:52,775 INFO L290 TraceCheckUtils]: 17: Hoare triple {111688#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {111689#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:52,775 INFO L290 TraceCheckUtils]: 18: Hoare triple {111689#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {111689#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:52,776 INFO L290 TraceCheckUtils]: 19: Hoare triple {111689#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {111690#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:52,776 INFO L290 TraceCheckUtils]: 20: Hoare triple {111690#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {111690#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:06:52,777 INFO L272 TraceCheckUtils]: 21: Hoare triple {111690#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {111691#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:06:52,777 INFO L290 TraceCheckUtils]: 22: Hoare triple {111691#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {111692#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:06:52,777 INFO L290 TraceCheckUtils]: 23: Hoare triple {111692#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {111676#false} is VALID [2022-04-28 04:06:52,777 INFO L290 TraceCheckUtils]: 24: Hoare triple {111676#false} assume !false; {111676#false} is VALID [2022-04-28 04:06:52,778 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:06:52,778 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:06:52,778 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [268362904] [2022-04-28 04:06:52,778 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [268362904] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:06:52,778 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [363255759] [2022-04-28 04:06:52,778 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:06:52,778 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:06:52,778 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:06:52,779 INFO L229 MonitoredProcess]: Starting monitored process 73 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:06:52,780 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (73)] Waiting until timeout for monitored process [2022-04-28 04:06:52,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:52,805 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:06:52,813 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:06:52,814 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:06:53,048 INFO L272 TraceCheckUtils]: 0: Hoare triple {111675#true} call ULTIMATE.init(); {111675#true} is VALID [2022-04-28 04:06:53,048 INFO L290 TraceCheckUtils]: 1: Hoare triple {111675#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:53,049 INFO L290 TraceCheckUtils]: 2: Hoare triple {111680#(<= 20 ~SIZE~0)} assume true; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:53,049 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {111680#(<= 20 ~SIZE~0)} {111675#true} #90#return; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:53,049 INFO L272 TraceCheckUtils]: 4: Hoare triple {111680#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:53,050 INFO L290 TraceCheckUtils]: 5: Hoare triple {111680#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:53,050 INFO L272 TraceCheckUtils]: 6: Hoare triple {111680#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:53,050 INFO L290 TraceCheckUtils]: 7: Hoare triple {111680#(<= 20 ~SIZE~0)} ~cond := #in~cond; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:53,051 INFO L290 TraceCheckUtils]: 8: Hoare triple {111680#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:53,051 INFO L290 TraceCheckUtils]: 9: Hoare triple {111680#(<= 20 ~SIZE~0)} assume true; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:53,051 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {111680#(<= 20 ~SIZE~0)} {111680#(<= 20 ~SIZE~0)} #86#return; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:53,051 INFO L290 TraceCheckUtils]: 11: Hoare triple {111680#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:06:53,052 INFO L290 TraceCheckUtils]: 12: Hoare triple {111680#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {111733#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:06:53,053 INFO L290 TraceCheckUtils]: 13: Hoare triple {111733#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [390] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1882 v_main_~c~0_1881)) (.cse2 (<= v_~last~0_735 v_main_~c~0_1882)) (.cse1 (= |v_main_#t~post5_966| |v_main_#t~post5_964|))) (or (and .cse0 (= v_main_~st~0_1010 v_main_~st~0_1009) .cse1 (= v_~last~0_735 v_~last~0_735) (= v_~SIZE~0_663 v_~SIZE~0_663)) (and (< v_main_~c~0_1881 (+ v_~SIZE~0_663 1)) .cse2 (= v_main_~st~0_1009 0) (< v_main_~c~0_1882 v_main_~c~0_1881)) (and .cse0 (= v_main_~st~0_1009 v_main_~st~0_1010) (or (not .cse2) (not (< v_main_~c~0_1882 v_~SIZE~0_663))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_663, main_~c~0=v_main_~c~0_1882, main_#t~post5=|v_main_#t~post5_966|, main_~st~0=v_main_~st~0_1010, ~last~0=v_~last~0_735} OutVars{~SIZE~0=v_~SIZE~0_663, main_#t~post5=|v_main_#t~post5_964|, main_~c~0=v_main_~c~0_1881, main_~st~0=v_main_~st~0_1009, ~last~0=v_~last~0_735} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {111737#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:06:53,053 INFO L290 TraceCheckUtils]: 14: Hoare triple {111737#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [391] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {111737#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:06:53,054 INFO L290 TraceCheckUtils]: 15: Hoare triple {111737#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [392] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1884 v_main_~c~0_1883)) (.cse1 (= |v_main_#t~post5_969| |v_main_#t~post5_965|))) (or (and (< v_main_~c~0_1883 (+ v_~last~0_736 1)) (< v_main_~c~0_1883 (+ v_~SIZE~0_664 1)) (< v_main_~c~0_1884 v_main_~c~0_1883)) (and .cse0 .cse1 (= v_~SIZE~0_664 v_~SIZE~0_664) (= v_~last~0_736 v_~last~0_736)) (and .cse0 .cse1 (or (not (< v_main_~c~0_1884 v_~SIZE~0_664)) (not (< v_main_~c~0_1884 v_~last~0_736)))))) InVars {~SIZE~0=v_~SIZE~0_664, main_~c~0=v_main_~c~0_1884, main_#t~post5=|v_main_#t~post5_969|, ~last~0=v_~last~0_736} OutVars{~SIZE~0=v_~SIZE~0_664, main_#t~post5=|v_main_#t~post5_965|, main_~c~0=v_main_~c~0_1883, ~last~0=v_~last~0_736} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {111737#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:06:53,054 INFO L290 TraceCheckUtils]: 16: Hoare triple {111737#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [389] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {111747#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:06:53,063 INFO L290 TraceCheckUtils]: 17: Hoare triple {111747#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {111676#false} is VALID [2022-04-28 04:06:53,063 INFO L290 TraceCheckUtils]: 18: Hoare triple {111676#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {111676#false} is VALID [2022-04-28 04:06:53,064 INFO L290 TraceCheckUtils]: 19: Hoare triple {111676#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {111676#false} is VALID [2022-04-28 04:06:53,064 INFO L290 TraceCheckUtils]: 20: Hoare triple {111676#false} assume !(~d~0 == ~SIZE~0); {111676#false} is VALID [2022-04-28 04:06:53,064 INFO L272 TraceCheckUtils]: 21: Hoare triple {111676#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {111676#false} is VALID [2022-04-28 04:06:53,064 INFO L290 TraceCheckUtils]: 22: Hoare triple {111676#false} ~cond := #in~cond; {111676#false} is VALID [2022-04-28 04:06:53,064 INFO L290 TraceCheckUtils]: 23: Hoare triple {111676#false} assume 0 == ~cond; {111676#false} is VALID [2022-04-28 04:06:53,064 INFO L290 TraceCheckUtils]: 24: Hoare triple {111676#false} assume !false; {111676#false} is VALID [2022-04-28 04:06:53,064 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:06:53,064 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:06:53,297 INFO L290 TraceCheckUtils]: 24: Hoare triple {111676#false} assume !false; {111676#false} is VALID [2022-04-28 04:06:53,298 INFO L290 TraceCheckUtils]: 23: Hoare triple {111676#false} assume 0 == ~cond; {111676#false} is VALID [2022-04-28 04:06:53,298 INFO L290 TraceCheckUtils]: 22: Hoare triple {111676#false} ~cond := #in~cond; {111676#false} is VALID [2022-04-28 04:06:53,298 INFO L272 TraceCheckUtils]: 21: Hoare triple {111676#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {111676#false} is VALID [2022-04-28 04:06:53,298 INFO L290 TraceCheckUtils]: 20: Hoare triple {111676#false} assume !(~d~0 == ~SIZE~0); {111676#false} is VALID [2022-04-28 04:06:53,298 INFO L290 TraceCheckUtils]: 19: Hoare triple {111676#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {111676#false} is VALID [2022-04-28 04:06:53,298 INFO L290 TraceCheckUtils]: 18: Hoare triple {111676#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {111676#false} is VALID [2022-04-28 04:06:53,298 INFO L290 TraceCheckUtils]: 17: Hoare triple {111793#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {111676#false} is VALID [2022-04-28 04:06:53,299 INFO L290 TraceCheckUtils]: 16: Hoare triple {111797#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [389] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {111793#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:06:53,299 INFO L290 TraceCheckUtils]: 15: Hoare triple {111797#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [392] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1884 v_main_~c~0_1883)) (.cse1 (= |v_main_#t~post5_969| |v_main_#t~post5_965|))) (or (and (< v_main_~c~0_1883 (+ v_~last~0_736 1)) (< v_main_~c~0_1883 (+ v_~SIZE~0_664 1)) (< v_main_~c~0_1884 v_main_~c~0_1883)) (and .cse0 .cse1 (= v_~SIZE~0_664 v_~SIZE~0_664) (= v_~last~0_736 v_~last~0_736)) (and .cse0 .cse1 (or (not (< v_main_~c~0_1884 v_~SIZE~0_664)) (not (< v_main_~c~0_1884 v_~last~0_736)))))) InVars {~SIZE~0=v_~SIZE~0_664, main_~c~0=v_main_~c~0_1884, main_#t~post5=|v_main_#t~post5_969|, ~last~0=v_~last~0_736} OutVars{~SIZE~0=v_~SIZE~0_664, main_#t~post5=|v_main_#t~post5_965|, main_~c~0=v_main_~c~0_1883, ~last~0=v_~last~0_736} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {111797#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:06:53,299 INFO L290 TraceCheckUtils]: 14: Hoare triple {111797#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [391] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {111797#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:06:53,300 INFO L290 TraceCheckUtils]: 13: Hoare triple {111807#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [390] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1882 v_main_~c~0_1881)) (.cse2 (<= v_~last~0_735 v_main_~c~0_1882)) (.cse1 (= |v_main_#t~post5_966| |v_main_#t~post5_964|))) (or (and .cse0 (= v_main_~st~0_1010 v_main_~st~0_1009) .cse1 (= v_~last~0_735 v_~last~0_735) (= v_~SIZE~0_663 v_~SIZE~0_663)) (and (< v_main_~c~0_1881 (+ v_~SIZE~0_663 1)) .cse2 (= v_main_~st~0_1009 0) (< v_main_~c~0_1882 v_main_~c~0_1881)) (and .cse0 (= v_main_~st~0_1009 v_main_~st~0_1010) (or (not .cse2) (not (< v_main_~c~0_1882 v_~SIZE~0_663))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_663, main_~c~0=v_main_~c~0_1882, main_#t~post5=|v_main_#t~post5_966|, main_~st~0=v_main_~st~0_1010, ~last~0=v_~last~0_735} OutVars{~SIZE~0=v_~SIZE~0_663, main_#t~post5=|v_main_#t~post5_964|, main_~c~0=v_main_~c~0_1881, main_~st~0=v_main_~st~0_1009, ~last~0=v_~last~0_735} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {111797#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:06:53,300 INFO L290 TraceCheckUtils]: 12: Hoare triple {111811#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {111807#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:06:53,300 INFO L290 TraceCheckUtils]: 11: Hoare triple {111811#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {111811#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:53,300 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {111675#true} {111811#(< 1 ~SIZE~0)} #86#return; {111811#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:53,301 INFO L290 TraceCheckUtils]: 9: Hoare triple {111675#true} assume true; {111675#true} is VALID [2022-04-28 04:06:53,301 INFO L290 TraceCheckUtils]: 8: Hoare triple {111675#true} assume !(0 == ~cond); {111675#true} is VALID [2022-04-28 04:06:53,301 INFO L290 TraceCheckUtils]: 7: Hoare triple {111675#true} ~cond := #in~cond; {111675#true} is VALID [2022-04-28 04:06:53,301 INFO L272 TraceCheckUtils]: 6: Hoare triple {111811#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {111675#true} is VALID [2022-04-28 04:06:53,301 INFO L290 TraceCheckUtils]: 5: Hoare triple {111811#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {111811#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:53,301 INFO L272 TraceCheckUtils]: 4: Hoare triple {111811#(< 1 ~SIZE~0)} call #t~ret7 := main(); {111811#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:53,301 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {111811#(< 1 ~SIZE~0)} {111675#true} #90#return; {111811#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:53,302 INFO L290 TraceCheckUtils]: 2: Hoare triple {111811#(< 1 ~SIZE~0)} assume true; {111811#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:53,302 INFO L290 TraceCheckUtils]: 1: Hoare triple {111675#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {111811#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:06:53,302 INFO L272 TraceCheckUtils]: 0: Hoare triple {111675#true} call ULTIMATE.init(); {111675#true} is VALID [2022-04-28 04:06:53,302 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:06:53,302 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [363255759] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:06:53,302 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:06:53,302 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:06:54,143 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:06:54,143 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1726252401] [2022-04-28 04:06:54,143 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1726252401] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:06:54,143 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:06:54,143 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [28] imperfect sequences [] total 28 [2022-04-28 04:06:54,143 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [558175106] [2022-04-28 04:06:54,144 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:06:54,144 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 26 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:06:54,144 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:06:54,144 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 26 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:54,173 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:06:54,173 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-28 04:06:54,173 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:06:54,174 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-28 04:06:54,174 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=210, Invalid=1122, Unknown=0, NotChecked=0, Total=1332 [2022-04-28 04:06:54,174 INFO L87 Difference]: Start difference. First operand 232 states and 279 transitions. Second operand has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 26 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:56,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:06:56,962 INFO L93 Difference]: Finished difference Result 404 states and 484 transitions. [2022-04-28 04:06:56,962 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 04:06:56,962 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 26 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:06:56,963 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:06:56,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 26 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:56,963 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 107 transitions. [2022-04-28 04:06:56,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 26 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:56,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 107 transitions. [2022-04-28 04:06:56,964 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 107 transitions. [2022-04-28 04:06:57,014 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:06:57,018 INFO L225 Difference]: With dead ends: 404 [2022-04-28 04:06:57,018 INFO L226 Difference]: Without dead ends: 281 [2022-04-28 04:06:57,018 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 22 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 713 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=222, Invalid=1260, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 04:06:57,018 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 46 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 1341 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 60 SdHoareTripleChecker+Invalid, 1351 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1341 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 04:06:57,018 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [47 Valid, 60 Invalid, 1351 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1341 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 04:06:57,019 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 281 states. [2022-04-28 04:06:57,713 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 281 to 232. [2022-04-28 04:06:57,713 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:06:57,714 INFO L82 GeneralOperation]: Start isEquivalent. First operand 281 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:57,714 INFO L74 IsIncluded]: Start isIncluded. First operand 281 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:57,714 INFO L87 Difference]: Start difference. First operand 281 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:57,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:06:57,723 INFO L93 Difference]: Finished difference Result 281 states and 330 transitions. [2022-04-28 04:06:57,723 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 330 transitions. [2022-04-28 04:06:57,723 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:06:57,723 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:06:57,723 INFO L74 IsIncluded]: Start isIncluded. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 281 states. [2022-04-28 04:06:57,723 INFO L87 Difference]: Start difference. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 281 states. [2022-04-28 04:06:57,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:06:57,727 INFO L93 Difference]: Finished difference Result 281 states and 330 transitions. [2022-04-28 04:06:57,727 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 330 transitions. [2022-04-28 04:06:57,727 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:06:57,727 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:06:57,727 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:06:57,727 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:06:57,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:06:57,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-28 04:06:57,730 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-28 04:06:57,730 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:06:57,730 INFO L495 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-28 04:06:57,730 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 28 states, 28 states have (on average 1.9642857142857142) internal successors, (55), 26 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:06:57,731 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-28 04:06:59,297 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 279 edges. 279 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:06:59,297 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-28 04:06:59,298 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 04:06:59,298 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:06:59,298 INFO L195 NwaCegarLoop]: trace histogram [13, 13, 10, 3, 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:06:59,315 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (73)] Forceful destruction successful, exit code 0 [2022-04-28 04:06:59,515 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 73 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable79 [2022-04-28 04:06:59,515 INFO L420 AbstractCegarLoop]: === Iteration 81 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:06:59,515 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:06:59,515 INFO L85 PathProgramCache]: Analyzing trace with hash -793831265, now seen corresponding path program 69 times [2022-04-28 04:06:59,515 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:06:59,515 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [167841610] [2022-04-28 04:06:59,679 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:06:59,869 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:06:59,871 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:06:59,873 INFO L85 PathProgramCache]: Analyzing trace with hash 518324289, now seen corresponding path program 1 times [2022-04-28 04:06:59,874 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:06:59,874 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2106852371] [2022-04-28 04:06:59,874 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:06:59,874 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:06:59,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:00,068 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:07:00,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:00,073 INFO L290 TraceCheckUtils]: 0: Hoare triple {113725#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,073 INFO L290 TraceCheckUtils]: 1: Hoare triple {113712#(<= 20 ~SIZE~0)} assume true; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,074 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {113712#(<= 20 ~SIZE~0)} {113707#true} #90#return; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,074 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:07:00,074 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:00,076 INFO L290 TraceCheckUtils]: 0: Hoare triple {113707#true} ~cond := #in~cond; {113707#true} is VALID [2022-04-28 04:07:00,076 INFO L290 TraceCheckUtils]: 1: Hoare triple {113707#true} assume !(0 == ~cond); {113707#true} is VALID [2022-04-28 04:07:00,076 INFO L290 TraceCheckUtils]: 2: Hoare triple {113707#true} assume true; {113707#true} is VALID [2022-04-28 04:07:00,076 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {113707#true} {113712#(<= 20 ~SIZE~0)} #86#return; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,077 INFO L272 TraceCheckUtils]: 0: Hoare triple {113707#true} call ULTIMATE.init(); {113725#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:07:00,077 INFO L290 TraceCheckUtils]: 1: Hoare triple {113725#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,077 INFO L290 TraceCheckUtils]: 2: Hoare triple {113712#(<= 20 ~SIZE~0)} assume true; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,078 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {113712#(<= 20 ~SIZE~0)} {113707#true} #90#return; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,078 INFO L272 TraceCheckUtils]: 4: Hoare triple {113712#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,078 INFO L290 TraceCheckUtils]: 5: Hoare triple {113712#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,078 INFO L272 TraceCheckUtils]: 6: Hoare triple {113712#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {113707#true} is VALID [2022-04-28 04:07:00,078 INFO L290 TraceCheckUtils]: 7: Hoare triple {113707#true} ~cond := #in~cond; {113707#true} is VALID [2022-04-28 04:07:00,079 INFO L290 TraceCheckUtils]: 8: Hoare triple {113707#true} assume !(0 == ~cond); {113707#true} is VALID [2022-04-28 04:07:00,079 INFO L290 TraceCheckUtils]: 9: Hoare triple {113707#true} assume true; {113707#true} is VALID [2022-04-28 04:07:00,079 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {113707#true} {113712#(<= 20 ~SIZE~0)} #86#return; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,079 INFO L290 TraceCheckUtils]: 11: Hoare triple {113712#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {113717#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:07:00,080 INFO L290 TraceCheckUtils]: 12: Hoare triple {113717#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {113718#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:07:00,081 INFO L290 TraceCheckUtils]: 13: Hoare triple {113718#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [394] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1912 v_main_~c~0_1911)) (.cse1 (<= v_~last~0_745 v_main_~c~0_1912))) (or (and .cse0 (= v_~SIZE~0_672 v_~SIZE~0_672) (= |v_main_#t~post5_979| |v_main_#t~post5_977|) (= v_~last~0_745 v_~last~0_745) (= v_main_~st~0_1030 v_main_~st~0_1029)) (and .cse1 (< v_main_~c~0_1911 (+ v_~SIZE~0_672 1)) (< v_main_~c~0_1912 v_main_~c~0_1911) (= v_main_~st~0_1029 0)) (and .cse0 (= |v_main_#t~post5_977| |v_main_#t~post5_979|) (= v_main_~st~0_1029 v_main_~st~0_1030) (or (not (< v_main_~c~0_1912 v_~SIZE~0_672)) (not .cse1))))) InVars {~SIZE~0=v_~SIZE~0_672, main_~c~0=v_main_~c~0_1912, main_#t~post5=|v_main_#t~post5_979|, main_~st~0=v_main_~st~0_1030, ~last~0=v_~last~0_745} OutVars{~SIZE~0=v_~SIZE~0_672, main_#t~post5=|v_main_#t~post5_977|, main_~c~0=v_main_~c~0_1911, main_~st~0=v_main_~st~0_1029, ~last~0=v_~last~0_745} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {113719#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:07:00,081 INFO L290 TraceCheckUtils]: 14: Hoare triple {113719#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [395] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {113719#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:07:00,082 INFO L290 TraceCheckUtils]: 15: Hoare triple {113719#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [396] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1914 v_main_~c~0_1913))) (or (and (= v_~SIZE~0_673 v_~SIZE~0_673) (= v_~last~0_746 v_~last~0_746) (= |v_main_#t~post5_982| |v_main_#t~post5_978|) .cse0) (and (or (not (< v_main_~c~0_1914 v_~last~0_746)) (not (< v_main_~c~0_1914 v_~SIZE~0_673))) (= |v_main_#t~post5_978| |v_main_#t~post5_982|) .cse0) (and (< v_main_~c~0_1913 (+ v_~SIZE~0_673 1)) (< v_main_~c~0_1914 v_main_~c~0_1913) (< v_main_~c~0_1913 (+ v_~last~0_746 1))))) InVars {~SIZE~0=v_~SIZE~0_673, main_~c~0=v_main_~c~0_1914, main_#t~post5=|v_main_#t~post5_982|, ~last~0=v_~last~0_746} OutVars{~SIZE~0=v_~SIZE~0_673, main_#t~post5=|v_main_#t~post5_978|, main_~c~0=v_main_~c~0_1913, ~last~0=v_~last~0_746} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {113719#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:07:00,082 INFO L290 TraceCheckUtils]: 16: Hoare triple {113719#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [393] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {113720#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:07:00,083 INFO L290 TraceCheckUtils]: 17: Hoare triple {113720#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {113721#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:00,084 INFO L290 TraceCheckUtils]: 18: Hoare triple {113721#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {113721#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:00,084 INFO L290 TraceCheckUtils]: 19: Hoare triple {113721#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {113722#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:00,085 INFO L290 TraceCheckUtils]: 20: Hoare triple {113722#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {113722#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:00,086 INFO L272 TraceCheckUtils]: 21: Hoare triple {113722#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {113723#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:07:00,086 INFO L290 TraceCheckUtils]: 22: Hoare triple {113723#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {113724#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:07:00,086 INFO L290 TraceCheckUtils]: 23: Hoare triple {113724#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {113708#false} is VALID [2022-04-28 04:07:00,086 INFO L290 TraceCheckUtils]: 24: Hoare triple {113708#false} assume !false; {113708#false} is VALID [2022-04-28 04:07:00,086 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:07:00,087 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:07:00,087 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2106852371] [2022-04-28 04:07:00,087 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2106852371] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:07:00,087 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [28176050] [2022-04-28 04:07:00,087 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:07:00,087 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:07:00,087 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:07:00,088 INFO L229 MonitoredProcess]: Starting monitored process 74 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:07:00,089 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (74)] Waiting until timeout for monitored process [2022-04-28 04:07:00,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:00,125 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:07:00,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:00,132 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:07:00,416 INFO L272 TraceCheckUtils]: 0: Hoare triple {113707#true} call ULTIMATE.init(); {113707#true} is VALID [2022-04-28 04:07:00,416 INFO L290 TraceCheckUtils]: 1: Hoare triple {113707#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,416 INFO L290 TraceCheckUtils]: 2: Hoare triple {113712#(<= 20 ~SIZE~0)} assume true; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,417 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {113712#(<= 20 ~SIZE~0)} {113707#true} #90#return; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,417 INFO L272 TraceCheckUtils]: 4: Hoare triple {113712#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,417 INFO L290 TraceCheckUtils]: 5: Hoare triple {113712#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,417 INFO L272 TraceCheckUtils]: 6: Hoare triple {113712#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,418 INFO L290 TraceCheckUtils]: 7: Hoare triple {113712#(<= 20 ~SIZE~0)} ~cond := #in~cond; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,418 INFO L290 TraceCheckUtils]: 8: Hoare triple {113712#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,418 INFO L290 TraceCheckUtils]: 9: Hoare triple {113712#(<= 20 ~SIZE~0)} assume true; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,418 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {113712#(<= 20 ~SIZE~0)} {113712#(<= 20 ~SIZE~0)} #86#return; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,419 INFO L290 TraceCheckUtils]: 11: Hoare triple {113712#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:00,419 INFO L290 TraceCheckUtils]: 12: Hoare triple {113712#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {113765#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:07:00,420 INFO L290 TraceCheckUtils]: 13: Hoare triple {113765#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [394] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1912 v_main_~c~0_1911)) (.cse1 (<= v_~last~0_745 v_main_~c~0_1912))) (or (and .cse0 (= v_~SIZE~0_672 v_~SIZE~0_672) (= |v_main_#t~post5_979| |v_main_#t~post5_977|) (= v_~last~0_745 v_~last~0_745) (= v_main_~st~0_1030 v_main_~st~0_1029)) (and .cse1 (< v_main_~c~0_1911 (+ v_~SIZE~0_672 1)) (< v_main_~c~0_1912 v_main_~c~0_1911) (= v_main_~st~0_1029 0)) (and .cse0 (= |v_main_#t~post5_977| |v_main_#t~post5_979|) (= v_main_~st~0_1029 v_main_~st~0_1030) (or (not (< v_main_~c~0_1912 v_~SIZE~0_672)) (not .cse1))))) InVars {~SIZE~0=v_~SIZE~0_672, main_~c~0=v_main_~c~0_1912, main_#t~post5=|v_main_#t~post5_979|, main_~st~0=v_main_~st~0_1030, ~last~0=v_~last~0_745} OutVars{~SIZE~0=v_~SIZE~0_672, main_#t~post5=|v_main_#t~post5_977|, main_~c~0=v_main_~c~0_1911, main_~st~0=v_main_~st~0_1029, ~last~0=v_~last~0_745} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {113769#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:07:00,420 INFO L290 TraceCheckUtils]: 14: Hoare triple {113769#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [395] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {113769#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:07:00,420 INFO L290 TraceCheckUtils]: 15: Hoare triple {113769#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [396] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1914 v_main_~c~0_1913))) (or (and (= v_~SIZE~0_673 v_~SIZE~0_673) (= v_~last~0_746 v_~last~0_746) (= |v_main_#t~post5_982| |v_main_#t~post5_978|) .cse0) (and (or (not (< v_main_~c~0_1914 v_~last~0_746)) (not (< v_main_~c~0_1914 v_~SIZE~0_673))) (= |v_main_#t~post5_978| |v_main_#t~post5_982|) .cse0) (and (< v_main_~c~0_1913 (+ v_~SIZE~0_673 1)) (< v_main_~c~0_1914 v_main_~c~0_1913) (< v_main_~c~0_1913 (+ v_~last~0_746 1))))) InVars {~SIZE~0=v_~SIZE~0_673, main_~c~0=v_main_~c~0_1914, main_#t~post5=|v_main_#t~post5_982|, ~last~0=v_~last~0_746} OutVars{~SIZE~0=v_~SIZE~0_673, main_#t~post5=|v_main_#t~post5_978|, main_~c~0=v_main_~c~0_1913, ~last~0=v_~last~0_746} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {113769#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:07:00,421 INFO L290 TraceCheckUtils]: 16: Hoare triple {113769#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [393] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {113779#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:07:00,421 INFO L290 TraceCheckUtils]: 17: Hoare triple {113779#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {113708#false} is VALID [2022-04-28 04:07:00,421 INFO L290 TraceCheckUtils]: 18: Hoare triple {113708#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {113708#false} is VALID [2022-04-28 04:07:00,421 INFO L290 TraceCheckUtils]: 19: Hoare triple {113708#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {113708#false} is VALID [2022-04-28 04:07:00,422 INFO L290 TraceCheckUtils]: 20: Hoare triple {113708#false} assume !(~d~0 == ~SIZE~0); {113708#false} is VALID [2022-04-28 04:07:00,422 INFO L272 TraceCheckUtils]: 21: Hoare triple {113708#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {113708#false} is VALID [2022-04-28 04:07:00,422 INFO L290 TraceCheckUtils]: 22: Hoare triple {113708#false} ~cond := #in~cond; {113708#false} is VALID [2022-04-28 04:07:00,422 INFO L290 TraceCheckUtils]: 23: Hoare triple {113708#false} assume 0 == ~cond; {113708#false} is VALID [2022-04-28 04:07:00,422 INFO L290 TraceCheckUtils]: 24: Hoare triple {113708#false} assume !false; {113708#false} is VALID [2022-04-28 04:07:00,422 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:07:00,422 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:07:00,656 INFO L290 TraceCheckUtils]: 24: Hoare triple {113708#false} assume !false; {113708#false} is VALID [2022-04-28 04:07:00,656 INFO L290 TraceCheckUtils]: 23: Hoare triple {113708#false} assume 0 == ~cond; {113708#false} is VALID [2022-04-28 04:07:00,657 INFO L290 TraceCheckUtils]: 22: Hoare triple {113708#false} ~cond := #in~cond; {113708#false} is VALID [2022-04-28 04:07:00,657 INFO L272 TraceCheckUtils]: 21: Hoare triple {113708#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {113708#false} is VALID [2022-04-28 04:07:00,657 INFO L290 TraceCheckUtils]: 20: Hoare triple {113708#false} assume !(~d~0 == ~SIZE~0); {113708#false} is VALID [2022-04-28 04:07:00,657 INFO L290 TraceCheckUtils]: 19: Hoare triple {113708#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {113708#false} is VALID [2022-04-28 04:07:00,657 INFO L290 TraceCheckUtils]: 18: Hoare triple {113708#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {113708#false} is VALID [2022-04-28 04:07:00,657 INFO L290 TraceCheckUtils]: 17: Hoare triple {113825#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {113708#false} is VALID [2022-04-28 04:07:00,658 INFO L290 TraceCheckUtils]: 16: Hoare triple {113829#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [393] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {113825#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:07:00,658 INFO L290 TraceCheckUtils]: 15: Hoare triple {113829#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [396] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1914 v_main_~c~0_1913))) (or (and (= v_~SIZE~0_673 v_~SIZE~0_673) (= v_~last~0_746 v_~last~0_746) (= |v_main_#t~post5_982| |v_main_#t~post5_978|) .cse0) (and (or (not (< v_main_~c~0_1914 v_~last~0_746)) (not (< v_main_~c~0_1914 v_~SIZE~0_673))) (= |v_main_#t~post5_978| |v_main_#t~post5_982|) .cse0) (and (< v_main_~c~0_1913 (+ v_~SIZE~0_673 1)) (< v_main_~c~0_1914 v_main_~c~0_1913) (< v_main_~c~0_1913 (+ v_~last~0_746 1))))) InVars {~SIZE~0=v_~SIZE~0_673, main_~c~0=v_main_~c~0_1914, main_#t~post5=|v_main_#t~post5_982|, ~last~0=v_~last~0_746} OutVars{~SIZE~0=v_~SIZE~0_673, main_#t~post5=|v_main_#t~post5_978|, main_~c~0=v_main_~c~0_1913, ~last~0=v_~last~0_746} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {113829#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:07:00,658 INFO L290 TraceCheckUtils]: 14: Hoare triple {113829#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [395] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {113829#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:07:00,659 INFO L290 TraceCheckUtils]: 13: Hoare triple {113839#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [394] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1912 v_main_~c~0_1911)) (.cse1 (<= v_~last~0_745 v_main_~c~0_1912))) (or (and .cse0 (= v_~SIZE~0_672 v_~SIZE~0_672) (= |v_main_#t~post5_979| |v_main_#t~post5_977|) (= v_~last~0_745 v_~last~0_745) (= v_main_~st~0_1030 v_main_~st~0_1029)) (and .cse1 (< v_main_~c~0_1911 (+ v_~SIZE~0_672 1)) (< v_main_~c~0_1912 v_main_~c~0_1911) (= v_main_~st~0_1029 0)) (and .cse0 (= |v_main_#t~post5_977| |v_main_#t~post5_979|) (= v_main_~st~0_1029 v_main_~st~0_1030) (or (not (< v_main_~c~0_1912 v_~SIZE~0_672)) (not .cse1))))) InVars {~SIZE~0=v_~SIZE~0_672, main_~c~0=v_main_~c~0_1912, main_#t~post5=|v_main_#t~post5_979|, main_~st~0=v_main_~st~0_1030, ~last~0=v_~last~0_745} OutVars{~SIZE~0=v_~SIZE~0_672, main_#t~post5=|v_main_#t~post5_977|, main_~c~0=v_main_~c~0_1911, main_~st~0=v_main_~st~0_1029, ~last~0=v_~last~0_745} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {113829#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:07:00,659 INFO L290 TraceCheckUtils]: 12: Hoare triple {113843#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {113839#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:07:00,659 INFO L290 TraceCheckUtils]: 11: Hoare triple {113843#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {113843#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:00,660 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {113707#true} {113843#(< 1 ~SIZE~0)} #86#return; {113843#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:00,660 INFO L290 TraceCheckUtils]: 9: Hoare triple {113707#true} assume true; {113707#true} is VALID [2022-04-28 04:07:00,660 INFO L290 TraceCheckUtils]: 8: Hoare triple {113707#true} assume !(0 == ~cond); {113707#true} is VALID [2022-04-28 04:07:00,660 INFO L290 TraceCheckUtils]: 7: Hoare triple {113707#true} ~cond := #in~cond; {113707#true} is VALID [2022-04-28 04:07:00,660 INFO L272 TraceCheckUtils]: 6: Hoare triple {113843#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {113707#true} is VALID [2022-04-28 04:07:00,660 INFO L290 TraceCheckUtils]: 5: Hoare triple {113843#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {113843#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:00,660 INFO L272 TraceCheckUtils]: 4: Hoare triple {113843#(< 1 ~SIZE~0)} call #t~ret7 := main(); {113843#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:00,661 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {113843#(< 1 ~SIZE~0)} {113707#true} #90#return; {113843#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:00,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {113843#(< 1 ~SIZE~0)} assume true; {113843#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:00,661 INFO L290 TraceCheckUtils]: 1: Hoare triple {113707#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {113843#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:00,661 INFO L272 TraceCheckUtils]: 0: Hoare triple {113707#true} call ULTIMATE.init(); {113707#true} is VALID [2022-04-28 04:07:00,661 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:07:00,661 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [28176050] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:07:00,661 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:07:00,662 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:07:01,627 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:07:01,627 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [167841610] [2022-04-28 04:07:01,627 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [167841610] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:07:01,627 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:07:01,627 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-28 04:07:01,627 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2011804116] [2022-04-28 04:07:01,627 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:07:01,627 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 1.896551724137931) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:07:01,628 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:07:01,628 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 29 states, 29 states have (on average 1.896551724137931) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:01,658 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:07:01,658 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-28 04:07:01,658 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:07:01,658 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-28 04:07:01,659 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=224, Invalid=1182, Unknown=0, NotChecked=0, Total=1406 [2022-04-28 04:07:01,659 INFO L87 Difference]: Start difference. First operand 232 states and 279 transitions. Second operand has 29 states, 29 states have (on average 1.896551724137931) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:04,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:07:04,498 INFO L93 Difference]: Finished difference Result 401 states and 481 transitions. [2022-04-28 04:07:04,498 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-28 04:07:04,498 INFO L78 Accepts]: Start accepts. Automaton has has 29 states, 29 states have (on average 1.896551724137931) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:07:04,498 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:07:04,498 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 1.896551724137931) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:04,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 108 transitions. [2022-04-28 04:07:04,499 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 29 states have (on average 1.896551724137931) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:04,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 108 transitions. [2022-04-28 04:07:04,499 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 108 transitions. [2022-04-28 04:07:04,580 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:07:04,583 INFO L225 Difference]: With dead ends: 401 [2022-04-28 04:07:04,583 INFO L226 Difference]: Without dead ends: 278 [2022-04-28 04:07:04,583 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 21 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 769 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=236, Invalid=1324, Unknown=0, NotChecked=0, Total=1560 [2022-04-28 04:07:04,584 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 54 mSDsluCounter, 48 mSDsCounter, 0 mSdLazyCounter, 1527 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 68 SdHoareTripleChecker+Invalid, 1538 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1527 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 04:07:04,584 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [55 Valid, 68 Invalid, 1538 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1527 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 04:07:04,584 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 278 states. [2022-04-28 04:07:05,649 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 278 to 232. [2022-04-28 04:07:05,650 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:07:05,650 INFO L82 GeneralOperation]: Start isEquivalent. First operand 278 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:05,650 INFO L74 IsIncluded]: Start isIncluded. First operand 278 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:05,650 INFO L87 Difference]: Start difference. First operand 278 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:05,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:07:05,653 INFO L93 Difference]: Finished difference Result 278 states and 327 transitions. [2022-04-28 04:07:05,653 INFO L276 IsEmpty]: Start isEmpty. Operand 278 states and 327 transitions. [2022-04-28 04:07:05,653 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:07:05,654 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:07:05,654 INFO L74 IsIncluded]: Start isIncluded. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 278 states. [2022-04-28 04:07:05,654 INFO L87 Difference]: Start difference. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 278 states. [2022-04-28 04:07:05,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:07:05,657 INFO L93 Difference]: Finished difference Result 278 states and 327 transitions. [2022-04-28 04:07:05,657 INFO L276 IsEmpty]: Start isEmpty. Operand 278 states and 327 transitions. [2022-04-28 04:07:05,657 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:07:05,657 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:07:05,657 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:07:05,657 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:07:05,657 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:05,660 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-28 04:07:05,660 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-28 04:07:05,660 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:07:05,660 INFO L495 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-28 04:07:05,660 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 29 states have (on average 1.896551724137931) internal successors, (55), 27 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:05,660 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-28 04:07:07,269 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 279 edges. 279 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:07:07,269 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-28 04:07:07,269 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 04:07:07,269 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:07:07,269 INFO L195 NwaCegarLoop]: trace histogram [13, 13, 9, 4, 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:07:07,285 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (74)] Forceful destruction successful, exit code 0 [2022-04-28 04:07:07,475 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable80,74 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:07:07,475 INFO L420 AbstractCegarLoop]: === Iteration 82 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:07:07,475 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:07:07,475 INFO L85 PathProgramCache]: Analyzing trace with hash -1823190563, now seen corresponding path program 70 times [2022-04-28 04:07:07,475 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:07:07,475 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [929409958] [2022-04-28 04:07:11,607 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:07:11,729 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:07:11,953 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:07:11,954 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:07:11,957 INFO L85 PathProgramCache]: Analyzing trace with hash -1284120255, now seen corresponding path program 1 times [2022-04-28 04:07:11,957 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:07:11,957 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1773650805] [2022-04-28 04:07:11,957 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:07:11,957 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:07:11,963 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:12,102 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:07:12,103 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:12,107 INFO L290 TraceCheckUtils]: 0: Hoare triple {115746#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,107 INFO L290 TraceCheckUtils]: 1: Hoare triple {115733#(<= 20 ~SIZE~0)} assume true; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,107 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {115733#(<= 20 ~SIZE~0)} {115728#true} #90#return; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,108 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:07:12,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:12,109 INFO L290 TraceCheckUtils]: 0: Hoare triple {115728#true} ~cond := #in~cond; {115728#true} is VALID [2022-04-28 04:07:12,109 INFO L290 TraceCheckUtils]: 1: Hoare triple {115728#true} assume !(0 == ~cond); {115728#true} is VALID [2022-04-28 04:07:12,109 INFO L290 TraceCheckUtils]: 2: Hoare triple {115728#true} assume true; {115728#true} is VALID [2022-04-28 04:07:12,110 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {115728#true} {115733#(<= 20 ~SIZE~0)} #86#return; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,110 INFO L272 TraceCheckUtils]: 0: Hoare triple {115728#true} call ULTIMATE.init(); {115746#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:07:12,110 INFO L290 TraceCheckUtils]: 1: Hoare triple {115746#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,111 INFO L290 TraceCheckUtils]: 2: Hoare triple {115733#(<= 20 ~SIZE~0)} assume true; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,111 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {115733#(<= 20 ~SIZE~0)} {115728#true} #90#return; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,111 INFO L272 TraceCheckUtils]: 4: Hoare triple {115733#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,111 INFO L290 TraceCheckUtils]: 5: Hoare triple {115733#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,112 INFO L272 TraceCheckUtils]: 6: Hoare triple {115733#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {115728#true} is VALID [2022-04-28 04:07:12,112 INFO L290 TraceCheckUtils]: 7: Hoare triple {115728#true} ~cond := #in~cond; {115728#true} is VALID [2022-04-28 04:07:12,112 INFO L290 TraceCheckUtils]: 8: Hoare triple {115728#true} assume !(0 == ~cond); {115728#true} is VALID [2022-04-28 04:07:12,112 INFO L290 TraceCheckUtils]: 9: Hoare triple {115728#true} assume true; {115728#true} is VALID [2022-04-28 04:07:12,112 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {115728#true} {115733#(<= 20 ~SIZE~0)} #86#return; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,112 INFO L290 TraceCheckUtils]: 11: Hoare triple {115733#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {115738#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:07:12,113 INFO L290 TraceCheckUtils]: 12: Hoare triple {115738#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {115739#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:07:12,113 INFO L290 TraceCheckUtils]: 13: Hoare triple {115739#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [398] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_992| |v_main_#t~post5_990|)) (.cse1 (= v_main_~c~0_1942 v_main_~c~0_1941)) (.cse2 (= v_main_~st~0_1049 v_main_~st~0_1048)) (.cse3 (<= v_~last~0_755 v_main_~c~0_1942))) (or (and (= v_~last~0_755 v_~last~0_755) .cse0 .cse1 (= v_~SIZE~0_681 v_~SIZE~0_681) .cse2) (and (or (not (< v_main_~c~0_1942 v_~SIZE~0_681)) (not .cse3)) .cse0 .cse1 .cse2) (and (= v_main_~st~0_1048 0) (< v_main_~c~0_1942 v_main_~c~0_1941) (< v_main_~c~0_1941 (+ v_~SIZE~0_681 1)) .cse3))) InVars {~SIZE~0=v_~SIZE~0_681, main_~c~0=v_main_~c~0_1942, main_#t~post5=|v_main_#t~post5_992|, main_~st~0=v_main_~st~0_1049, ~last~0=v_~last~0_755} OutVars{~SIZE~0=v_~SIZE~0_681, main_#t~post5=|v_main_#t~post5_990|, main_~c~0=v_main_~c~0_1941, main_~st~0=v_main_~st~0_1048, ~last~0=v_~last~0_755} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {115740#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:07:12,114 INFO L290 TraceCheckUtils]: 14: Hoare triple {115740#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [399] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {115740#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:07:12,114 INFO L290 TraceCheckUtils]: 15: Hoare triple {115740#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [400] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1944 v_main_~c~0_1943)) (.cse1 (= |v_main_#t~post5_995| |v_main_#t~post5_991|))) (or (and .cse0 (= v_~SIZE~0_682 v_~SIZE~0_682) (= v_~last~0_756 v_~last~0_756) .cse1) (and .cse0 (or (not (< v_main_~c~0_1944 v_~SIZE~0_682)) (not (< v_main_~c~0_1944 v_~last~0_756))) .cse1) (and (< v_main_~c~0_1944 v_main_~c~0_1943) (< v_main_~c~0_1943 (+ v_~last~0_756 1)) (< v_main_~c~0_1943 (+ v_~SIZE~0_682 1))))) InVars {~SIZE~0=v_~SIZE~0_682, main_~c~0=v_main_~c~0_1944, main_#t~post5=|v_main_#t~post5_995|, ~last~0=v_~last~0_756} OutVars{~SIZE~0=v_~SIZE~0_682, main_#t~post5=|v_main_#t~post5_991|, main_~c~0=v_main_~c~0_1943, ~last~0=v_~last~0_756} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {115740#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:07:12,115 INFO L290 TraceCheckUtils]: 16: Hoare triple {115740#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [397] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {115741#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:07:12,116 INFO L290 TraceCheckUtils]: 17: Hoare triple {115741#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {115742#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:12,116 INFO L290 TraceCheckUtils]: 18: Hoare triple {115742#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {115742#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:12,117 INFO L290 TraceCheckUtils]: 19: Hoare triple {115742#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {115743#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:12,117 INFO L290 TraceCheckUtils]: 20: Hoare triple {115743#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {115743#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:12,117 INFO L272 TraceCheckUtils]: 21: Hoare triple {115743#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {115744#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:07:12,118 INFO L290 TraceCheckUtils]: 22: Hoare triple {115744#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {115745#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:07:12,118 INFO L290 TraceCheckUtils]: 23: Hoare triple {115745#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {115729#false} is VALID [2022-04-28 04:07:12,118 INFO L290 TraceCheckUtils]: 24: Hoare triple {115729#false} assume !false; {115729#false} is VALID [2022-04-28 04:07:12,118 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:07:12,118 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:07:12,118 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1773650805] [2022-04-28 04:07:12,118 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1773650805] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:07:12,119 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [352844335] [2022-04-28 04:07:12,119 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:07:12,119 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:07:12,119 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:07:12,120 INFO L229 MonitoredProcess]: Starting monitored process 75 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:07:12,120 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (75)] Waiting until timeout for monitored process [2022-04-28 04:07:12,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:12,153 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:07:12,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:12,165 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:07:12,412 INFO L272 TraceCheckUtils]: 0: Hoare triple {115728#true} call ULTIMATE.init(); {115728#true} is VALID [2022-04-28 04:07:12,413 INFO L290 TraceCheckUtils]: 1: Hoare triple {115728#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,413 INFO L290 TraceCheckUtils]: 2: Hoare triple {115733#(<= 20 ~SIZE~0)} assume true; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,413 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {115733#(<= 20 ~SIZE~0)} {115728#true} #90#return; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,414 INFO L272 TraceCheckUtils]: 4: Hoare triple {115733#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,414 INFO L290 TraceCheckUtils]: 5: Hoare triple {115733#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,414 INFO L272 TraceCheckUtils]: 6: Hoare triple {115733#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,415 INFO L290 TraceCheckUtils]: 7: Hoare triple {115733#(<= 20 ~SIZE~0)} ~cond := #in~cond; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,415 INFO L290 TraceCheckUtils]: 8: Hoare triple {115733#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,415 INFO L290 TraceCheckUtils]: 9: Hoare triple {115733#(<= 20 ~SIZE~0)} assume true; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,416 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {115733#(<= 20 ~SIZE~0)} {115733#(<= 20 ~SIZE~0)} #86#return; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,416 INFO L290 TraceCheckUtils]: 11: Hoare triple {115733#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:12,416 INFO L290 TraceCheckUtils]: 12: Hoare triple {115733#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {115786#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:07:12,417 INFO L290 TraceCheckUtils]: 13: Hoare triple {115786#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [398] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_992| |v_main_#t~post5_990|)) (.cse1 (= v_main_~c~0_1942 v_main_~c~0_1941)) (.cse2 (= v_main_~st~0_1049 v_main_~st~0_1048)) (.cse3 (<= v_~last~0_755 v_main_~c~0_1942))) (or (and (= v_~last~0_755 v_~last~0_755) .cse0 .cse1 (= v_~SIZE~0_681 v_~SIZE~0_681) .cse2) (and (or (not (< v_main_~c~0_1942 v_~SIZE~0_681)) (not .cse3)) .cse0 .cse1 .cse2) (and (= v_main_~st~0_1048 0) (< v_main_~c~0_1942 v_main_~c~0_1941) (< v_main_~c~0_1941 (+ v_~SIZE~0_681 1)) .cse3))) InVars {~SIZE~0=v_~SIZE~0_681, main_~c~0=v_main_~c~0_1942, main_#t~post5=|v_main_#t~post5_992|, main_~st~0=v_main_~st~0_1049, ~last~0=v_~last~0_755} OutVars{~SIZE~0=v_~SIZE~0_681, main_#t~post5=|v_main_#t~post5_990|, main_~c~0=v_main_~c~0_1941, main_~st~0=v_main_~st~0_1048, ~last~0=v_~last~0_755} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {115790#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:07:12,417 INFO L290 TraceCheckUtils]: 14: Hoare triple {115790#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [399] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {115790#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:07:12,418 INFO L290 TraceCheckUtils]: 15: Hoare triple {115790#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [400] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1944 v_main_~c~0_1943)) (.cse1 (= |v_main_#t~post5_995| |v_main_#t~post5_991|))) (or (and .cse0 (= v_~SIZE~0_682 v_~SIZE~0_682) (= v_~last~0_756 v_~last~0_756) .cse1) (and .cse0 (or (not (< v_main_~c~0_1944 v_~SIZE~0_682)) (not (< v_main_~c~0_1944 v_~last~0_756))) .cse1) (and (< v_main_~c~0_1944 v_main_~c~0_1943) (< v_main_~c~0_1943 (+ v_~last~0_756 1)) (< v_main_~c~0_1943 (+ v_~SIZE~0_682 1))))) InVars {~SIZE~0=v_~SIZE~0_682, main_~c~0=v_main_~c~0_1944, main_#t~post5=|v_main_#t~post5_995|, ~last~0=v_~last~0_756} OutVars{~SIZE~0=v_~SIZE~0_682, main_#t~post5=|v_main_#t~post5_991|, main_~c~0=v_main_~c~0_1943, ~last~0=v_~last~0_756} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {115790#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:07:12,419 INFO L290 TraceCheckUtils]: 16: Hoare triple {115790#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [397] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {115800#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:07:12,419 INFO L290 TraceCheckUtils]: 17: Hoare triple {115800#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {115729#false} is VALID [2022-04-28 04:07:12,419 INFO L290 TraceCheckUtils]: 18: Hoare triple {115729#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {115729#false} is VALID [2022-04-28 04:07:12,419 INFO L290 TraceCheckUtils]: 19: Hoare triple {115729#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {115729#false} is VALID [2022-04-28 04:07:12,419 INFO L290 TraceCheckUtils]: 20: Hoare triple {115729#false} assume !(~d~0 == ~SIZE~0); {115729#false} is VALID [2022-04-28 04:07:12,419 INFO L272 TraceCheckUtils]: 21: Hoare triple {115729#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {115729#false} is VALID [2022-04-28 04:07:12,420 INFO L290 TraceCheckUtils]: 22: Hoare triple {115729#false} ~cond := #in~cond; {115729#false} is VALID [2022-04-28 04:07:12,420 INFO L290 TraceCheckUtils]: 23: Hoare triple {115729#false} assume 0 == ~cond; {115729#false} is VALID [2022-04-28 04:07:12,420 INFO L290 TraceCheckUtils]: 24: Hoare triple {115729#false} assume !false; {115729#false} is VALID [2022-04-28 04:07:12,420 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:07:12,420 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:07:12,801 INFO L290 TraceCheckUtils]: 24: Hoare triple {115729#false} assume !false; {115729#false} is VALID [2022-04-28 04:07:12,801 INFO L290 TraceCheckUtils]: 23: Hoare triple {115729#false} assume 0 == ~cond; {115729#false} is VALID [2022-04-28 04:07:12,801 INFO L290 TraceCheckUtils]: 22: Hoare triple {115729#false} ~cond := #in~cond; {115729#false} is VALID [2022-04-28 04:07:12,801 INFO L272 TraceCheckUtils]: 21: Hoare triple {115729#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {115729#false} is VALID [2022-04-28 04:07:12,802 INFO L290 TraceCheckUtils]: 20: Hoare triple {115729#false} assume !(~d~0 == ~SIZE~0); {115729#false} is VALID [2022-04-28 04:07:12,802 INFO L290 TraceCheckUtils]: 19: Hoare triple {115729#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {115729#false} is VALID [2022-04-28 04:07:12,802 INFO L290 TraceCheckUtils]: 18: Hoare triple {115729#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {115729#false} is VALID [2022-04-28 04:07:12,802 INFO L290 TraceCheckUtils]: 17: Hoare triple {115846#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {115729#false} is VALID [2022-04-28 04:07:12,803 INFO L290 TraceCheckUtils]: 16: Hoare triple {115850#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [397] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {115846#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:07:12,803 INFO L290 TraceCheckUtils]: 15: Hoare triple {115850#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [400] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_1944 v_main_~c~0_1943)) (.cse1 (= |v_main_#t~post5_995| |v_main_#t~post5_991|))) (or (and .cse0 (= v_~SIZE~0_682 v_~SIZE~0_682) (= v_~last~0_756 v_~last~0_756) .cse1) (and .cse0 (or (not (< v_main_~c~0_1944 v_~SIZE~0_682)) (not (< v_main_~c~0_1944 v_~last~0_756))) .cse1) (and (< v_main_~c~0_1944 v_main_~c~0_1943) (< v_main_~c~0_1943 (+ v_~last~0_756 1)) (< v_main_~c~0_1943 (+ v_~SIZE~0_682 1))))) InVars {~SIZE~0=v_~SIZE~0_682, main_~c~0=v_main_~c~0_1944, main_#t~post5=|v_main_#t~post5_995|, ~last~0=v_~last~0_756} OutVars{~SIZE~0=v_~SIZE~0_682, main_#t~post5=|v_main_#t~post5_991|, main_~c~0=v_main_~c~0_1943, ~last~0=v_~last~0_756} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {115850#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:07:12,803 INFO L290 TraceCheckUtils]: 14: Hoare triple {115850#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [399] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {115850#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:07:12,804 INFO L290 TraceCheckUtils]: 13: Hoare triple {115860#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [398] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_992| |v_main_#t~post5_990|)) (.cse1 (= v_main_~c~0_1942 v_main_~c~0_1941)) (.cse2 (= v_main_~st~0_1049 v_main_~st~0_1048)) (.cse3 (<= v_~last~0_755 v_main_~c~0_1942))) (or (and (= v_~last~0_755 v_~last~0_755) .cse0 .cse1 (= v_~SIZE~0_681 v_~SIZE~0_681) .cse2) (and (or (not (< v_main_~c~0_1942 v_~SIZE~0_681)) (not .cse3)) .cse0 .cse1 .cse2) (and (= v_main_~st~0_1048 0) (< v_main_~c~0_1942 v_main_~c~0_1941) (< v_main_~c~0_1941 (+ v_~SIZE~0_681 1)) .cse3))) InVars {~SIZE~0=v_~SIZE~0_681, main_~c~0=v_main_~c~0_1942, main_#t~post5=|v_main_#t~post5_992|, main_~st~0=v_main_~st~0_1049, ~last~0=v_~last~0_755} OutVars{~SIZE~0=v_~SIZE~0_681, main_#t~post5=|v_main_#t~post5_990|, main_~c~0=v_main_~c~0_1941, main_~st~0=v_main_~st~0_1048, ~last~0=v_~last~0_755} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {115850#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:07:12,804 INFO L290 TraceCheckUtils]: 12: Hoare triple {115864#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {115860#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:07:12,805 INFO L290 TraceCheckUtils]: 11: Hoare triple {115864#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {115864#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:12,805 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {115728#true} {115864#(< 1 ~SIZE~0)} #86#return; {115864#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:12,805 INFO L290 TraceCheckUtils]: 9: Hoare triple {115728#true} assume true; {115728#true} is VALID [2022-04-28 04:07:12,805 INFO L290 TraceCheckUtils]: 8: Hoare triple {115728#true} assume !(0 == ~cond); {115728#true} is VALID [2022-04-28 04:07:12,805 INFO L290 TraceCheckUtils]: 7: Hoare triple {115728#true} ~cond := #in~cond; {115728#true} is VALID [2022-04-28 04:07:12,805 INFO L272 TraceCheckUtils]: 6: Hoare triple {115864#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {115728#true} is VALID [2022-04-28 04:07:12,806 INFO L290 TraceCheckUtils]: 5: Hoare triple {115864#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {115864#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:12,806 INFO L272 TraceCheckUtils]: 4: Hoare triple {115864#(< 1 ~SIZE~0)} call #t~ret7 := main(); {115864#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:12,806 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {115864#(< 1 ~SIZE~0)} {115728#true} #90#return; {115864#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:12,807 INFO L290 TraceCheckUtils]: 2: Hoare triple {115864#(< 1 ~SIZE~0)} assume true; {115864#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:12,807 INFO L290 TraceCheckUtils]: 1: Hoare triple {115728#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {115864#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:12,807 INFO L272 TraceCheckUtils]: 0: Hoare triple {115728#true} call ULTIMATE.init(); {115728#true} is VALID [2022-04-28 04:07:12,807 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:07:12,807 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [352844335] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:07:12,807 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:07:12,808 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:07:13,799 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:07:13,800 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [929409958] [2022-04-28 04:07:13,800 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [929409958] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:07:13,800 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:07:13,800 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [30] imperfect sequences [] total 30 [2022-04-28 04:07:13,800 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1237643098] [2022-04-28 04:07:13,800 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:07:13,800 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 30 states have (on average 1.8333333333333333) internal successors, (55), 28 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:07:13,800 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:07:13,800 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 30 states, 30 states have (on average 1.8333333333333333) internal successors, (55), 28 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:13,835 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:07:13,835 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-28 04:07:13,835 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:07:13,835 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-28 04:07:13,835 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=238, Invalid=1244, Unknown=0, NotChecked=0, Total=1482 [2022-04-28 04:07:13,835 INFO L87 Difference]: Start difference. First operand 232 states and 279 transitions. Second operand has 30 states, 30 states have (on average 1.8333333333333333) internal successors, (55), 28 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:16,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:07:16,447 INFO L93 Difference]: Finished difference Result 398 states and 478 transitions. [2022-04-28 04:07:16,447 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-28 04:07:16,447 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 30 states have (on average 1.8333333333333333) internal successors, (55), 28 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:07:16,447 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:07:16,447 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 1.8333333333333333) internal successors, (55), 28 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:16,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 109 transitions. [2022-04-28 04:07:16,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 1.8333333333333333) internal successors, (55), 28 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:16,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 109 transitions. [2022-04-28 04:07:16,448 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 109 transitions. [2022-04-28 04:07:16,499 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:07:16,503 INFO L225 Difference]: With dead ends: 398 [2022-04-28 04:07:16,503 INFO L226 Difference]: Without dead ends: 275 [2022-04-28 04:07:16,503 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 20 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 816 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=250, Invalid=1390, Unknown=0, NotChecked=0, Total=1640 [2022-04-28 04:07:16,504 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 52 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 1414 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 62 SdHoareTripleChecker+Invalid, 1424 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1414 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 04:07:16,504 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [53 Valid, 62 Invalid, 1424 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1414 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 04:07:16,504 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 275 states. [2022-04-28 04:07:17,278 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 275 to 232. [2022-04-28 04:07:17,278 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:07:17,279 INFO L82 GeneralOperation]: Start isEquivalent. First operand 275 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:17,279 INFO L74 IsIncluded]: Start isIncluded. First operand 275 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:17,279 INFO L87 Difference]: Start difference. First operand 275 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:17,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:07:17,282 INFO L93 Difference]: Finished difference Result 275 states and 324 transitions. [2022-04-28 04:07:17,282 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 324 transitions. [2022-04-28 04:07:17,282 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:07:17,282 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:07:17,282 INFO L74 IsIncluded]: Start isIncluded. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 275 states. [2022-04-28 04:07:17,283 INFO L87 Difference]: Start difference. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 275 states. [2022-04-28 04:07:17,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:07:17,285 INFO L93 Difference]: Finished difference Result 275 states and 324 transitions. [2022-04-28 04:07:17,285 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 324 transitions. [2022-04-28 04:07:17,286 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:07:17,286 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:07:17,286 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:07:17,286 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:07:17,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:17,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-28 04:07:17,289 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-28 04:07:17,289 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:07:17,289 INFO L495 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-28 04:07:17,290 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 30 states, 30 states have (on average 1.8333333333333333) internal successors, (55), 28 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:17,290 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-28 04:07:18,957 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 279 edges. 279 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:07:18,958 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-28 04:07:18,958 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 04:07:18,958 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:07:18,958 INFO L195 NwaCegarLoop]: trace histogram [13, 13, 8, 5, 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:07:18,974 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (75)] Forceful destruction successful, exit code 0 [2022-04-28 04:07:19,158 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable81,75 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:07:19,159 INFO L420 AbstractCegarLoop]: === Iteration 83 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:07:19,159 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:07:19,159 INFO L85 PathProgramCache]: Analyzing trace with hash 1627771231, now seen corresponding path program 71 times [2022-04-28 04:07:19,159 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:07:19,159 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1433688075] [2022-04-28 04:07:19,382 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:07:19,551 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:07:19,551 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:07:19,553 INFO L85 PathProgramCache]: Analyzing trace with hash 1208402497, now seen corresponding path program 1 times [2022-04-28 04:07:19,553 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:07:19,553 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [792654109] [2022-04-28 04:07:19,553 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:07:19,554 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:07:19,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:19,660 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:07:19,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:19,687 INFO L290 TraceCheckUtils]: 0: Hoare triple {117756#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,687 INFO L290 TraceCheckUtils]: 1: Hoare triple {117743#(<= 20 ~SIZE~0)} assume true; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,688 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {117743#(<= 20 ~SIZE~0)} {117738#true} #90#return; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,688 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:07:19,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:19,689 INFO L290 TraceCheckUtils]: 0: Hoare triple {117738#true} ~cond := #in~cond; {117738#true} is VALID [2022-04-28 04:07:19,689 INFO L290 TraceCheckUtils]: 1: Hoare triple {117738#true} assume !(0 == ~cond); {117738#true} is VALID [2022-04-28 04:07:19,689 INFO L290 TraceCheckUtils]: 2: Hoare triple {117738#true} assume true; {117738#true} is VALID [2022-04-28 04:07:19,690 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {117738#true} {117743#(<= 20 ~SIZE~0)} #86#return; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,690 INFO L272 TraceCheckUtils]: 0: Hoare triple {117738#true} call ULTIMATE.init(); {117756#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:07:19,690 INFO L290 TraceCheckUtils]: 1: Hoare triple {117756#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,691 INFO L290 TraceCheckUtils]: 2: Hoare triple {117743#(<= 20 ~SIZE~0)} assume true; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,691 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {117743#(<= 20 ~SIZE~0)} {117738#true} #90#return; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,691 INFO L272 TraceCheckUtils]: 4: Hoare triple {117743#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,691 INFO L290 TraceCheckUtils]: 5: Hoare triple {117743#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,691 INFO L272 TraceCheckUtils]: 6: Hoare triple {117743#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {117738#true} is VALID [2022-04-28 04:07:19,692 INFO L290 TraceCheckUtils]: 7: Hoare triple {117738#true} ~cond := #in~cond; {117738#true} is VALID [2022-04-28 04:07:19,692 INFO L290 TraceCheckUtils]: 8: Hoare triple {117738#true} assume !(0 == ~cond); {117738#true} is VALID [2022-04-28 04:07:19,692 INFO L290 TraceCheckUtils]: 9: Hoare triple {117738#true} assume true; {117738#true} is VALID [2022-04-28 04:07:19,692 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {117738#true} {117743#(<= 20 ~SIZE~0)} #86#return; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,692 INFO L290 TraceCheckUtils]: 11: Hoare triple {117743#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {117748#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:07:19,693 INFO L290 TraceCheckUtils]: 12: Hoare triple {117748#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {117749#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:07:19,693 INFO L290 TraceCheckUtils]: 13: Hoare triple {117749#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [402] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_1067 v_main_~st~0_1066)) (.cse1 (= |v_main_#t~post5_1005| |v_main_#t~post5_1003|)) (.cse2 (= v_main_~c~0_1972 v_main_~c~0_1971)) (.cse3 (<= v_~last~0_765 v_main_~c~0_1972))) (or (and (= v_~SIZE~0_690 v_~SIZE~0_690) .cse0 (= v_~last~0_765 v_~last~0_765) .cse1 .cse2) (and .cse0 .cse1 (or (not (< v_main_~c~0_1972 v_~SIZE~0_690)) (not .cse3)) .cse2) (and (= v_main_~st~0_1066 0) (< v_main_~c~0_1971 (+ v_~SIZE~0_690 1)) (< v_main_~c~0_1972 v_main_~c~0_1971) .cse3))) InVars {~SIZE~0=v_~SIZE~0_690, main_~c~0=v_main_~c~0_1972, main_#t~post5=|v_main_#t~post5_1005|, main_~st~0=v_main_~st~0_1067, ~last~0=v_~last~0_765} OutVars{~SIZE~0=v_~SIZE~0_690, main_#t~post5=|v_main_#t~post5_1003|, main_~c~0=v_main_~c~0_1971, main_~st~0=v_main_~st~0_1066, ~last~0=v_~last~0_765} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {117750#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:07:19,694 INFO L290 TraceCheckUtils]: 14: Hoare triple {117750#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [403] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {117750#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:07:19,694 INFO L290 TraceCheckUtils]: 15: Hoare triple {117750#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [404] L25-3-->L25-4_primed: Formula: (or (and (or (not (< v_main_~c~0_1974 v_~SIZE~0_691)) (not (< v_main_~c~0_1974 v_~last~0_766))) (= v_main_~c~0_1973 v_main_~c~0_1974) (= |v_main_#t~post5_1004| |v_main_#t~post5_1008|)) (and (< v_main_~c~0_1973 (+ v_~last~0_766 1)) (< v_main_~c~0_1973 (+ v_~SIZE~0_691 1)) (< v_main_~c~0_1974 v_main_~c~0_1973)) (and (= v_~last~0_766 v_~last~0_766) (= v_main_~c~0_1974 v_main_~c~0_1973) (= v_~SIZE~0_691 v_~SIZE~0_691) (= |v_main_#t~post5_1008| |v_main_#t~post5_1004|))) InVars {~SIZE~0=v_~SIZE~0_691, main_~c~0=v_main_~c~0_1974, main_#t~post5=|v_main_#t~post5_1008|, ~last~0=v_~last~0_766} OutVars{~SIZE~0=v_~SIZE~0_691, main_#t~post5=|v_main_#t~post5_1004|, main_~c~0=v_main_~c~0_1973, ~last~0=v_~last~0_766} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {117750#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:07:19,695 INFO L290 TraceCheckUtils]: 16: Hoare triple {117750#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [401] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {117751#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:07:19,695 INFO L290 TraceCheckUtils]: 17: Hoare triple {117751#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {117752#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:19,696 INFO L290 TraceCheckUtils]: 18: Hoare triple {117752#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {117752#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:19,696 INFO L290 TraceCheckUtils]: 19: Hoare triple {117752#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {117753#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:19,697 INFO L290 TraceCheckUtils]: 20: Hoare triple {117753#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {117753#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:19,697 INFO L272 TraceCheckUtils]: 21: Hoare triple {117753#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {117754#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:07:19,697 INFO L290 TraceCheckUtils]: 22: Hoare triple {117754#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {117755#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:07:19,698 INFO L290 TraceCheckUtils]: 23: Hoare triple {117755#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {117739#false} is VALID [2022-04-28 04:07:19,698 INFO L290 TraceCheckUtils]: 24: Hoare triple {117739#false} assume !false; {117739#false} is VALID [2022-04-28 04:07:19,698 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:07:19,698 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:07:19,698 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [792654109] [2022-04-28 04:07:19,698 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [792654109] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:07:19,698 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1648820561] [2022-04-28 04:07:19,698 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:07:19,698 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:07:19,700 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:07:19,701 INFO L229 MonitoredProcess]: Starting monitored process 76 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:07:19,709 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (76)] Waiting until timeout for monitored process [2022-04-28 04:07:19,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:19,738 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:07:19,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:19,743 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:07:19,906 INFO L272 TraceCheckUtils]: 0: Hoare triple {117738#true} call ULTIMATE.init(); {117738#true} is VALID [2022-04-28 04:07:19,907 INFO L290 TraceCheckUtils]: 1: Hoare triple {117738#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,907 INFO L290 TraceCheckUtils]: 2: Hoare triple {117743#(<= 20 ~SIZE~0)} assume true; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,907 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {117743#(<= 20 ~SIZE~0)} {117738#true} #90#return; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,907 INFO L272 TraceCheckUtils]: 4: Hoare triple {117743#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,907 INFO L290 TraceCheckUtils]: 5: Hoare triple {117743#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,908 INFO L272 TraceCheckUtils]: 6: Hoare triple {117743#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,908 INFO L290 TraceCheckUtils]: 7: Hoare triple {117743#(<= 20 ~SIZE~0)} ~cond := #in~cond; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,908 INFO L290 TraceCheckUtils]: 8: Hoare triple {117743#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,908 INFO L290 TraceCheckUtils]: 9: Hoare triple {117743#(<= 20 ~SIZE~0)} assume true; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,908 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {117743#(<= 20 ~SIZE~0)} {117743#(<= 20 ~SIZE~0)} #86#return; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,909 INFO L290 TraceCheckUtils]: 11: Hoare triple {117743#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:19,909 INFO L290 TraceCheckUtils]: 12: Hoare triple {117743#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {117796#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:07:19,909 INFO L290 TraceCheckUtils]: 13: Hoare triple {117796#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [402] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_1067 v_main_~st~0_1066)) (.cse1 (= |v_main_#t~post5_1005| |v_main_#t~post5_1003|)) (.cse2 (= v_main_~c~0_1972 v_main_~c~0_1971)) (.cse3 (<= v_~last~0_765 v_main_~c~0_1972))) (or (and (= v_~SIZE~0_690 v_~SIZE~0_690) .cse0 (= v_~last~0_765 v_~last~0_765) .cse1 .cse2) (and .cse0 .cse1 (or (not (< v_main_~c~0_1972 v_~SIZE~0_690)) (not .cse3)) .cse2) (and (= v_main_~st~0_1066 0) (< v_main_~c~0_1971 (+ v_~SIZE~0_690 1)) (< v_main_~c~0_1972 v_main_~c~0_1971) .cse3))) InVars {~SIZE~0=v_~SIZE~0_690, main_~c~0=v_main_~c~0_1972, main_#t~post5=|v_main_#t~post5_1005|, main_~st~0=v_main_~st~0_1067, ~last~0=v_~last~0_765} OutVars{~SIZE~0=v_~SIZE~0_690, main_#t~post5=|v_main_#t~post5_1003|, main_~c~0=v_main_~c~0_1971, main_~st~0=v_main_~st~0_1066, ~last~0=v_~last~0_765} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {117800#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:07:19,910 INFO L290 TraceCheckUtils]: 14: Hoare triple {117800#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [403] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {117800#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:07:19,910 INFO L290 TraceCheckUtils]: 15: Hoare triple {117800#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [404] L25-3-->L25-4_primed: Formula: (or (and (or (not (< v_main_~c~0_1974 v_~SIZE~0_691)) (not (< v_main_~c~0_1974 v_~last~0_766))) (= v_main_~c~0_1973 v_main_~c~0_1974) (= |v_main_#t~post5_1004| |v_main_#t~post5_1008|)) (and (< v_main_~c~0_1973 (+ v_~last~0_766 1)) (< v_main_~c~0_1973 (+ v_~SIZE~0_691 1)) (< v_main_~c~0_1974 v_main_~c~0_1973)) (and (= v_~last~0_766 v_~last~0_766) (= v_main_~c~0_1974 v_main_~c~0_1973) (= v_~SIZE~0_691 v_~SIZE~0_691) (= |v_main_#t~post5_1008| |v_main_#t~post5_1004|))) InVars {~SIZE~0=v_~SIZE~0_691, main_~c~0=v_main_~c~0_1974, main_#t~post5=|v_main_#t~post5_1008|, ~last~0=v_~last~0_766} OutVars{~SIZE~0=v_~SIZE~0_691, main_#t~post5=|v_main_#t~post5_1004|, main_~c~0=v_main_~c~0_1973, ~last~0=v_~last~0_766} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {117800#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:07:19,911 INFO L290 TraceCheckUtils]: 16: Hoare triple {117800#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [401] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {117810#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:07:19,911 INFO L290 TraceCheckUtils]: 17: Hoare triple {117810#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {117739#false} is VALID [2022-04-28 04:07:19,911 INFO L290 TraceCheckUtils]: 18: Hoare triple {117739#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {117739#false} is VALID [2022-04-28 04:07:19,911 INFO L290 TraceCheckUtils]: 19: Hoare triple {117739#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {117739#false} is VALID [2022-04-28 04:07:19,911 INFO L290 TraceCheckUtils]: 20: Hoare triple {117739#false} assume !(~d~0 == ~SIZE~0); {117739#false} is VALID [2022-04-28 04:07:19,911 INFO L272 TraceCheckUtils]: 21: Hoare triple {117739#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {117739#false} is VALID [2022-04-28 04:07:19,911 INFO L290 TraceCheckUtils]: 22: Hoare triple {117739#false} ~cond := #in~cond; {117739#false} is VALID [2022-04-28 04:07:19,911 INFO L290 TraceCheckUtils]: 23: Hoare triple {117739#false} assume 0 == ~cond; {117739#false} is VALID [2022-04-28 04:07:19,912 INFO L290 TraceCheckUtils]: 24: Hoare triple {117739#false} assume !false; {117739#false} is VALID [2022-04-28 04:07:19,912 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:07:19,912 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:07:20,130 INFO L290 TraceCheckUtils]: 24: Hoare triple {117739#false} assume !false; {117739#false} is VALID [2022-04-28 04:07:20,130 INFO L290 TraceCheckUtils]: 23: Hoare triple {117739#false} assume 0 == ~cond; {117739#false} is VALID [2022-04-28 04:07:20,130 INFO L290 TraceCheckUtils]: 22: Hoare triple {117739#false} ~cond := #in~cond; {117739#false} is VALID [2022-04-28 04:07:20,130 INFO L272 TraceCheckUtils]: 21: Hoare triple {117739#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {117739#false} is VALID [2022-04-28 04:07:20,130 INFO L290 TraceCheckUtils]: 20: Hoare triple {117739#false} assume !(~d~0 == ~SIZE~0); {117739#false} is VALID [2022-04-28 04:07:20,130 INFO L290 TraceCheckUtils]: 19: Hoare triple {117739#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {117739#false} is VALID [2022-04-28 04:07:20,130 INFO L290 TraceCheckUtils]: 18: Hoare triple {117739#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {117739#false} is VALID [2022-04-28 04:07:20,131 INFO L290 TraceCheckUtils]: 17: Hoare triple {117856#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {117739#false} is VALID [2022-04-28 04:07:20,131 INFO L290 TraceCheckUtils]: 16: Hoare triple {117860#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [401] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {117856#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:07:20,132 INFO L290 TraceCheckUtils]: 15: Hoare triple {117860#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [404] L25-3-->L25-4_primed: Formula: (or (and (or (not (< v_main_~c~0_1974 v_~SIZE~0_691)) (not (< v_main_~c~0_1974 v_~last~0_766))) (= v_main_~c~0_1973 v_main_~c~0_1974) (= |v_main_#t~post5_1004| |v_main_#t~post5_1008|)) (and (< v_main_~c~0_1973 (+ v_~last~0_766 1)) (< v_main_~c~0_1973 (+ v_~SIZE~0_691 1)) (< v_main_~c~0_1974 v_main_~c~0_1973)) (and (= v_~last~0_766 v_~last~0_766) (= v_main_~c~0_1974 v_main_~c~0_1973) (= v_~SIZE~0_691 v_~SIZE~0_691) (= |v_main_#t~post5_1008| |v_main_#t~post5_1004|))) InVars {~SIZE~0=v_~SIZE~0_691, main_~c~0=v_main_~c~0_1974, main_#t~post5=|v_main_#t~post5_1008|, ~last~0=v_~last~0_766} OutVars{~SIZE~0=v_~SIZE~0_691, main_#t~post5=|v_main_#t~post5_1004|, main_~c~0=v_main_~c~0_1973, ~last~0=v_~last~0_766} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {117860#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:07:20,132 INFO L290 TraceCheckUtils]: 14: Hoare triple {117860#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [403] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {117860#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:07:20,133 INFO L290 TraceCheckUtils]: 13: Hoare triple {117870#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [402] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~st~0_1067 v_main_~st~0_1066)) (.cse1 (= |v_main_#t~post5_1005| |v_main_#t~post5_1003|)) (.cse2 (= v_main_~c~0_1972 v_main_~c~0_1971)) (.cse3 (<= v_~last~0_765 v_main_~c~0_1972))) (or (and (= v_~SIZE~0_690 v_~SIZE~0_690) .cse0 (= v_~last~0_765 v_~last~0_765) .cse1 .cse2) (and .cse0 .cse1 (or (not (< v_main_~c~0_1972 v_~SIZE~0_690)) (not .cse3)) .cse2) (and (= v_main_~st~0_1066 0) (< v_main_~c~0_1971 (+ v_~SIZE~0_690 1)) (< v_main_~c~0_1972 v_main_~c~0_1971) .cse3))) InVars {~SIZE~0=v_~SIZE~0_690, main_~c~0=v_main_~c~0_1972, main_#t~post5=|v_main_#t~post5_1005|, main_~st~0=v_main_~st~0_1067, ~last~0=v_~last~0_765} OutVars{~SIZE~0=v_~SIZE~0_690, main_#t~post5=|v_main_#t~post5_1003|, main_~c~0=v_main_~c~0_1971, main_~st~0=v_main_~st~0_1066, ~last~0=v_~last~0_765} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {117860#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:07:20,133 INFO L290 TraceCheckUtils]: 12: Hoare triple {117874#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {117870#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:07:20,133 INFO L290 TraceCheckUtils]: 11: Hoare triple {117874#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {117874#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:20,133 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {117738#true} {117874#(< 1 ~SIZE~0)} #86#return; {117874#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:20,133 INFO L290 TraceCheckUtils]: 9: Hoare triple {117738#true} assume true; {117738#true} is VALID [2022-04-28 04:07:20,133 INFO L290 TraceCheckUtils]: 8: Hoare triple {117738#true} assume !(0 == ~cond); {117738#true} is VALID [2022-04-28 04:07:20,133 INFO L290 TraceCheckUtils]: 7: Hoare triple {117738#true} ~cond := #in~cond; {117738#true} is VALID [2022-04-28 04:07:20,134 INFO L272 TraceCheckUtils]: 6: Hoare triple {117874#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {117738#true} is VALID [2022-04-28 04:07:20,134 INFO L290 TraceCheckUtils]: 5: Hoare triple {117874#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {117874#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:20,134 INFO L272 TraceCheckUtils]: 4: Hoare triple {117874#(< 1 ~SIZE~0)} call #t~ret7 := main(); {117874#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:20,134 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {117874#(< 1 ~SIZE~0)} {117738#true} #90#return; {117874#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:20,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {117874#(< 1 ~SIZE~0)} assume true; {117874#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:20,135 INFO L290 TraceCheckUtils]: 1: Hoare triple {117738#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {117874#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:20,135 INFO L272 TraceCheckUtils]: 0: Hoare triple {117738#true} call ULTIMATE.init(); {117738#true} is VALID [2022-04-28 04:07:20,135 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:07:20,135 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1648820561] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:07:20,135 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:07:20,135 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:07:21,069 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:07:21,069 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1433688075] [2022-04-28 04:07:21,069 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1433688075] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:07:21,069 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:07:21,069 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [31] imperfect sequences [] total 31 [2022-04-28 04:07:21,069 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [160561769] [2022-04-28 04:07:21,069 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:07:21,070 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 1.7741935483870968) internal successors, (55), 29 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:07:21,070 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:07:21,070 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 31 states, 31 states have (on average 1.7741935483870968) internal successors, (55), 29 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:21,108 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:07:21,108 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-28 04:07:21,108 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:07:21,108 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-28 04:07:21,108 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=252, Invalid=1308, Unknown=0, NotChecked=0, Total=1560 [2022-04-28 04:07:21,108 INFO L87 Difference]: Start difference. First operand 232 states and 279 transitions. Second operand has 31 states, 31 states have (on average 1.7741935483870968) internal successors, (55), 29 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:24,717 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:07:24,717 INFO L93 Difference]: Finished difference Result 395 states and 475 transitions. [2022-04-28 04:07:24,717 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-28 04:07:24,717 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 1.7741935483870968) internal successors, (55), 29 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:07:24,718 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:07:24,718 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 1.7741935483870968) internal successors, (55), 29 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:24,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 110 transitions. [2022-04-28 04:07:24,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 1.7741935483870968) internal successors, (55), 29 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:24,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 110 transitions. [2022-04-28 04:07:24,720 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 110 transitions. [2022-04-28 04:07:24,771 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:07:24,775 INFO L225 Difference]: With dead ends: 395 [2022-04-28 04:07:24,775 INFO L226 Difference]: Without dead ends: 272 [2022-04-28 04:07:24,775 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 19 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 854 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=264, Invalid=1458, Unknown=0, NotChecked=0, Total=1722 [2022-04-28 04:07:24,775 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 60 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 1690 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 61 SdHoareTripleChecker+Valid, 71 SdHoareTripleChecker+Invalid, 1701 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1690 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:07:24,775 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [61 Valid, 71 Invalid, 1701 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1690 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-28 04:07:24,776 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 272 states. [2022-04-28 04:07:25,577 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 272 to 232. [2022-04-28 04:07:25,578 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:07:25,578 INFO L82 GeneralOperation]: Start isEquivalent. First operand 272 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:25,578 INFO L74 IsIncluded]: Start isIncluded. First operand 272 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:25,578 INFO L87 Difference]: Start difference. First operand 272 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:25,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:07:25,581 INFO L93 Difference]: Finished difference Result 272 states and 321 transitions. [2022-04-28 04:07:25,581 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 321 transitions. [2022-04-28 04:07:25,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:07:25,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:07:25,582 INFO L74 IsIncluded]: Start isIncluded. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 272 states. [2022-04-28 04:07:25,582 INFO L87 Difference]: Start difference. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 272 states. [2022-04-28 04:07:25,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:07:25,585 INFO L93 Difference]: Finished difference Result 272 states and 321 transitions. [2022-04-28 04:07:25,585 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 321 transitions. [2022-04-28 04:07:25,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:07:25,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:07:25,585 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:07:25,585 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:07:25,585 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:25,588 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-28 04:07:25,588 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-28 04:07:25,588 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:07:25,588 INFO L495 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-28 04:07:25,588 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 31 states have (on average 1.7741935483870968) internal successors, (55), 29 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:25,589 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-28 04:07:27,565 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 279 edges. 279 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:07:27,566 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-28 04:07:27,566 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 04:07:27,566 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:07:27,566 INFO L195 NwaCegarLoop]: trace histogram [13, 13, 7, 6, 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:07:27,582 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (76)] Ended with exit code 0 [2022-04-28 04:07:27,766 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 76 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable82 [2022-04-28 04:07:27,767 INFO L420 AbstractCegarLoop]: === Iteration 84 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:07:27,767 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:07:27,767 INFO L85 PathProgramCache]: Analyzing trace with hash 1902530845, now seen corresponding path program 72 times [2022-04-28 04:07:27,767 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:07:27,767 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2005666356] [2022-04-28 04:07:31,896 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:07:32,046 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:07:32,247 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:07:32,248 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:07:32,251 INFO L85 PathProgramCache]: Analyzing trace with hash -594042047, now seen corresponding path program 1 times [2022-04-28 04:07:32,251 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:07:32,251 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [107052416] [2022-04-28 04:07:32,251 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:07:32,251 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:07:32,257 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:32,407 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:07:32,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:32,412 INFO L290 TraceCheckUtils]: 0: Hoare triple {119755#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,412 INFO L290 TraceCheckUtils]: 1: Hoare triple {119742#(<= 20 ~SIZE~0)} assume true; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,412 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {119742#(<= 20 ~SIZE~0)} {119737#true} #90#return; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,413 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:07:32,413 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:32,414 INFO L290 TraceCheckUtils]: 0: Hoare triple {119737#true} ~cond := #in~cond; {119737#true} is VALID [2022-04-28 04:07:32,414 INFO L290 TraceCheckUtils]: 1: Hoare triple {119737#true} assume !(0 == ~cond); {119737#true} is VALID [2022-04-28 04:07:32,415 INFO L290 TraceCheckUtils]: 2: Hoare triple {119737#true} assume true; {119737#true} is VALID [2022-04-28 04:07:32,415 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {119737#true} {119742#(<= 20 ~SIZE~0)} #86#return; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,416 INFO L272 TraceCheckUtils]: 0: Hoare triple {119737#true} call ULTIMATE.init(); {119755#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:07:32,416 INFO L290 TraceCheckUtils]: 1: Hoare triple {119755#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,416 INFO L290 TraceCheckUtils]: 2: Hoare triple {119742#(<= 20 ~SIZE~0)} assume true; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,417 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {119742#(<= 20 ~SIZE~0)} {119737#true} #90#return; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,417 INFO L272 TraceCheckUtils]: 4: Hoare triple {119742#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,417 INFO L290 TraceCheckUtils]: 5: Hoare triple {119742#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,417 INFO L272 TraceCheckUtils]: 6: Hoare triple {119742#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {119737#true} is VALID [2022-04-28 04:07:32,417 INFO L290 TraceCheckUtils]: 7: Hoare triple {119737#true} ~cond := #in~cond; {119737#true} is VALID [2022-04-28 04:07:32,418 INFO L290 TraceCheckUtils]: 8: Hoare triple {119737#true} assume !(0 == ~cond); {119737#true} is VALID [2022-04-28 04:07:32,418 INFO L290 TraceCheckUtils]: 9: Hoare triple {119737#true} assume true; {119737#true} is VALID [2022-04-28 04:07:32,418 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {119737#true} {119742#(<= 20 ~SIZE~0)} #86#return; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,418 INFO L290 TraceCheckUtils]: 11: Hoare triple {119742#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {119747#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:07:32,419 INFO L290 TraceCheckUtils]: 12: Hoare triple {119747#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {119748#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:07:32,420 INFO L290 TraceCheckUtils]: 13: Hoare triple {119748#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [406] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_1084 v_main_~st~0_1083)) (.cse2 (= v_main_~c~0_2002 v_main_~c~0_2001)) (.cse3 (= |v_main_#t~post5_1018| |v_main_#t~post5_1016|)) (.cse0 (<= v_~last~0_775 v_main_~c~0_2002))) (or (and .cse0 (= v_main_~st~0_1083 0) (< v_main_~c~0_2002 v_main_~c~0_2001) (< v_main_~c~0_2001 (+ v_~SIZE~0_699 1))) (and .cse1 .cse2 (= v_~SIZE~0_699 v_~SIZE~0_699) .cse3 (= v_~last~0_775 v_~last~0_775)) (and .cse1 .cse2 .cse3 (or (not .cse0) (not (< v_main_~c~0_2002 v_~SIZE~0_699)))))) InVars {~SIZE~0=v_~SIZE~0_699, main_~c~0=v_main_~c~0_2002, main_#t~post5=|v_main_#t~post5_1018|, main_~st~0=v_main_~st~0_1084, ~last~0=v_~last~0_775} OutVars{~SIZE~0=v_~SIZE~0_699, main_#t~post5=|v_main_#t~post5_1016|, main_~c~0=v_main_~c~0_2001, main_~st~0=v_main_~st~0_1083, ~last~0=v_~last~0_775} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {119749#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:07:32,420 INFO L290 TraceCheckUtils]: 14: Hoare triple {119749#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [407] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {119749#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:07:32,421 INFO L290 TraceCheckUtils]: 15: Hoare triple {119749#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [408] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_2004 v_main_~c~0_2003)) (.cse1 (= |v_main_#t~post5_1021| |v_main_#t~post5_1017|))) (or (and .cse0 (= v_~last~0_776 v_~last~0_776) (= v_~SIZE~0_700 v_~SIZE~0_700) .cse1) (and (< v_main_~c~0_2003 (+ v_~SIZE~0_700 1)) (< v_main_~c~0_2004 v_main_~c~0_2003) (< v_main_~c~0_2003 (+ v_~last~0_776 1))) (and .cse0 (or (not (< v_main_~c~0_2004 v_~last~0_776)) (not (< v_main_~c~0_2004 v_~SIZE~0_700))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_700, main_~c~0=v_main_~c~0_2004, main_#t~post5=|v_main_#t~post5_1021|, ~last~0=v_~last~0_776} OutVars{~SIZE~0=v_~SIZE~0_700, main_#t~post5=|v_main_#t~post5_1017|, main_~c~0=v_main_~c~0_2003, ~last~0=v_~last~0_776} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {119749#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:07:32,421 INFO L290 TraceCheckUtils]: 16: Hoare triple {119749#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [405] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {119750#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:07:32,422 INFO L290 TraceCheckUtils]: 17: Hoare triple {119750#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {119751#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:32,423 INFO L290 TraceCheckUtils]: 18: Hoare triple {119751#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {119751#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:32,423 INFO L290 TraceCheckUtils]: 19: Hoare triple {119751#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {119752#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:32,423 INFO L290 TraceCheckUtils]: 20: Hoare triple {119752#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {119752#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:32,424 INFO L272 TraceCheckUtils]: 21: Hoare triple {119752#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {119753#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:07:32,425 INFO L290 TraceCheckUtils]: 22: Hoare triple {119753#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {119754#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:07:32,425 INFO L290 TraceCheckUtils]: 23: Hoare triple {119754#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {119738#false} is VALID [2022-04-28 04:07:32,425 INFO L290 TraceCheckUtils]: 24: Hoare triple {119738#false} assume !false; {119738#false} is VALID [2022-04-28 04:07:32,425 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:07:32,425 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:07:32,425 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [107052416] [2022-04-28 04:07:32,425 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [107052416] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:07:32,425 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [519484531] [2022-04-28 04:07:32,425 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:07:32,426 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:07:32,426 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:07:32,427 INFO L229 MonitoredProcess]: Starting monitored process 77 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:07:32,427 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (77)] Waiting until timeout for monitored process [2022-04-28 04:07:32,464 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:32,465 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:07:32,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:32,471 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:07:32,743 INFO L272 TraceCheckUtils]: 0: Hoare triple {119737#true} call ULTIMATE.init(); {119737#true} is VALID [2022-04-28 04:07:32,744 INFO L290 TraceCheckUtils]: 1: Hoare triple {119737#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,744 INFO L290 TraceCheckUtils]: 2: Hoare triple {119742#(<= 20 ~SIZE~0)} assume true; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,745 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {119742#(<= 20 ~SIZE~0)} {119737#true} #90#return; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,745 INFO L272 TraceCheckUtils]: 4: Hoare triple {119742#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,745 INFO L290 TraceCheckUtils]: 5: Hoare triple {119742#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,746 INFO L272 TraceCheckUtils]: 6: Hoare triple {119742#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,746 INFO L290 TraceCheckUtils]: 7: Hoare triple {119742#(<= 20 ~SIZE~0)} ~cond := #in~cond; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,746 INFO L290 TraceCheckUtils]: 8: Hoare triple {119742#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,746 INFO L290 TraceCheckUtils]: 9: Hoare triple {119742#(<= 20 ~SIZE~0)} assume true; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,747 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {119742#(<= 20 ~SIZE~0)} {119742#(<= 20 ~SIZE~0)} #86#return; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,747 INFO L290 TraceCheckUtils]: 11: Hoare triple {119742#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:32,747 INFO L290 TraceCheckUtils]: 12: Hoare triple {119742#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {119795#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:07:32,748 INFO L290 TraceCheckUtils]: 13: Hoare triple {119795#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [406] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_1084 v_main_~st~0_1083)) (.cse2 (= v_main_~c~0_2002 v_main_~c~0_2001)) (.cse3 (= |v_main_#t~post5_1018| |v_main_#t~post5_1016|)) (.cse0 (<= v_~last~0_775 v_main_~c~0_2002))) (or (and .cse0 (= v_main_~st~0_1083 0) (< v_main_~c~0_2002 v_main_~c~0_2001) (< v_main_~c~0_2001 (+ v_~SIZE~0_699 1))) (and .cse1 .cse2 (= v_~SIZE~0_699 v_~SIZE~0_699) .cse3 (= v_~last~0_775 v_~last~0_775)) (and .cse1 .cse2 .cse3 (or (not .cse0) (not (< v_main_~c~0_2002 v_~SIZE~0_699)))))) InVars {~SIZE~0=v_~SIZE~0_699, main_~c~0=v_main_~c~0_2002, main_#t~post5=|v_main_#t~post5_1018|, main_~st~0=v_main_~st~0_1084, ~last~0=v_~last~0_775} OutVars{~SIZE~0=v_~SIZE~0_699, main_#t~post5=|v_main_#t~post5_1016|, main_~c~0=v_main_~c~0_2001, main_~st~0=v_main_~st~0_1083, ~last~0=v_~last~0_775} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {119799#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:07:32,749 INFO L290 TraceCheckUtils]: 14: Hoare triple {119799#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [407] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {119799#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:07:32,749 INFO L290 TraceCheckUtils]: 15: Hoare triple {119799#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [408] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_2004 v_main_~c~0_2003)) (.cse1 (= |v_main_#t~post5_1021| |v_main_#t~post5_1017|))) (or (and .cse0 (= v_~last~0_776 v_~last~0_776) (= v_~SIZE~0_700 v_~SIZE~0_700) .cse1) (and (< v_main_~c~0_2003 (+ v_~SIZE~0_700 1)) (< v_main_~c~0_2004 v_main_~c~0_2003) (< v_main_~c~0_2003 (+ v_~last~0_776 1))) (and .cse0 (or (not (< v_main_~c~0_2004 v_~last~0_776)) (not (< v_main_~c~0_2004 v_~SIZE~0_700))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_700, main_~c~0=v_main_~c~0_2004, main_#t~post5=|v_main_#t~post5_1021|, ~last~0=v_~last~0_776} OutVars{~SIZE~0=v_~SIZE~0_700, main_#t~post5=|v_main_#t~post5_1017|, main_~c~0=v_main_~c~0_2003, ~last~0=v_~last~0_776} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {119799#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:07:32,750 INFO L290 TraceCheckUtils]: 16: Hoare triple {119799#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [405] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {119809#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:07:32,750 INFO L290 TraceCheckUtils]: 17: Hoare triple {119809#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {119738#false} is VALID [2022-04-28 04:07:32,750 INFO L290 TraceCheckUtils]: 18: Hoare triple {119738#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {119738#false} is VALID [2022-04-28 04:07:32,751 INFO L290 TraceCheckUtils]: 19: Hoare triple {119738#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {119738#false} is VALID [2022-04-28 04:07:32,751 INFO L290 TraceCheckUtils]: 20: Hoare triple {119738#false} assume !(~d~0 == ~SIZE~0); {119738#false} is VALID [2022-04-28 04:07:32,751 INFO L272 TraceCheckUtils]: 21: Hoare triple {119738#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {119738#false} is VALID [2022-04-28 04:07:32,751 INFO L290 TraceCheckUtils]: 22: Hoare triple {119738#false} ~cond := #in~cond; {119738#false} is VALID [2022-04-28 04:07:32,751 INFO L290 TraceCheckUtils]: 23: Hoare triple {119738#false} assume 0 == ~cond; {119738#false} is VALID [2022-04-28 04:07:32,751 INFO L290 TraceCheckUtils]: 24: Hoare triple {119738#false} assume !false; {119738#false} is VALID [2022-04-28 04:07:32,751 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:07:32,751 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:07:33,095 INFO L290 TraceCheckUtils]: 24: Hoare triple {119738#false} assume !false; {119738#false} is VALID [2022-04-28 04:07:33,095 INFO L290 TraceCheckUtils]: 23: Hoare triple {119738#false} assume 0 == ~cond; {119738#false} is VALID [2022-04-28 04:07:33,095 INFO L290 TraceCheckUtils]: 22: Hoare triple {119738#false} ~cond := #in~cond; {119738#false} is VALID [2022-04-28 04:07:33,095 INFO L272 TraceCheckUtils]: 21: Hoare triple {119738#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {119738#false} is VALID [2022-04-28 04:07:33,095 INFO L290 TraceCheckUtils]: 20: Hoare triple {119738#false} assume !(~d~0 == ~SIZE~0); {119738#false} is VALID [2022-04-28 04:07:33,095 INFO L290 TraceCheckUtils]: 19: Hoare triple {119738#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {119738#false} is VALID [2022-04-28 04:07:33,095 INFO L290 TraceCheckUtils]: 18: Hoare triple {119738#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {119738#false} is VALID [2022-04-28 04:07:33,095 INFO L290 TraceCheckUtils]: 17: Hoare triple {119855#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {119738#false} is VALID [2022-04-28 04:07:33,096 INFO L290 TraceCheckUtils]: 16: Hoare triple {119859#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [405] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {119855#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:07:33,096 INFO L290 TraceCheckUtils]: 15: Hoare triple {119859#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [408] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_2004 v_main_~c~0_2003)) (.cse1 (= |v_main_#t~post5_1021| |v_main_#t~post5_1017|))) (or (and .cse0 (= v_~last~0_776 v_~last~0_776) (= v_~SIZE~0_700 v_~SIZE~0_700) .cse1) (and (< v_main_~c~0_2003 (+ v_~SIZE~0_700 1)) (< v_main_~c~0_2004 v_main_~c~0_2003) (< v_main_~c~0_2003 (+ v_~last~0_776 1))) (and .cse0 (or (not (< v_main_~c~0_2004 v_~last~0_776)) (not (< v_main_~c~0_2004 v_~SIZE~0_700))) .cse1))) InVars {~SIZE~0=v_~SIZE~0_700, main_~c~0=v_main_~c~0_2004, main_#t~post5=|v_main_#t~post5_1021|, ~last~0=v_~last~0_776} OutVars{~SIZE~0=v_~SIZE~0_700, main_#t~post5=|v_main_#t~post5_1017|, main_~c~0=v_main_~c~0_2003, ~last~0=v_~last~0_776} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {119859#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:07:33,097 INFO L290 TraceCheckUtils]: 14: Hoare triple {119859#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [407] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {119859#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:07:33,097 INFO L290 TraceCheckUtils]: 13: Hoare triple {119869#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [406] L25-3-->L25-4_primed: Formula: (let ((.cse1 (= v_main_~st~0_1084 v_main_~st~0_1083)) (.cse2 (= v_main_~c~0_2002 v_main_~c~0_2001)) (.cse3 (= |v_main_#t~post5_1018| |v_main_#t~post5_1016|)) (.cse0 (<= v_~last~0_775 v_main_~c~0_2002))) (or (and .cse0 (= v_main_~st~0_1083 0) (< v_main_~c~0_2002 v_main_~c~0_2001) (< v_main_~c~0_2001 (+ v_~SIZE~0_699 1))) (and .cse1 .cse2 (= v_~SIZE~0_699 v_~SIZE~0_699) .cse3 (= v_~last~0_775 v_~last~0_775)) (and .cse1 .cse2 .cse3 (or (not .cse0) (not (< v_main_~c~0_2002 v_~SIZE~0_699)))))) InVars {~SIZE~0=v_~SIZE~0_699, main_~c~0=v_main_~c~0_2002, main_#t~post5=|v_main_#t~post5_1018|, main_~st~0=v_main_~st~0_1084, ~last~0=v_~last~0_775} OutVars{~SIZE~0=v_~SIZE~0_699, main_#t~post5=|v_main_#t~post5_1016|, main_~c~0=v_main_~c~0_2001, main_~st~0=v_main_~st~0_1083, ~last~0=v_~last~0_775} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {119859#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:07:33,098 INFO L290 TraceCheckUtils]: 12: Hoare triple {119873#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {119869#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:07:33,098 INFO L290 TraceCheckUtils]: 11: Hoare triple {119873#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {119873#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:33,099 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {119737#true} {119873#(< 1 ~SIZE~0)} #86#return; {119873#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:33,099 INFO L290 TraceCheckUtils]: 9: Hoare triple {119737#true} assume true; {119737#true} is VALID [2022-04-28 04:07:33,099 INFO L290 TraceCheckUtils]: 8: Hoare triple {119737#true} assume !(0 == ~cond); {119737#true} is VALID [2022-04-28 04:07:33,099 INFO L290 TraceCheckUtils]: 7: Hoare triple {119737#true} ~cond := #in~cond; {119737#true} is VALID [2022-04-28 04:07:33,099 INFO L272 TraceCheckUtils]: 6: Hoare triple {119873#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {119737#true} is VALID [2022-04-28 04:07:33,099 INFO L290 TraceCheckUtils]: 5: Hoare triple {119873#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {119873#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:33,099 INFO L272 TraceCheckUtils]: 4: Hoare triple {119873#(< 1 ~SIZE~0)} call #t~ret7 := main(); {119873#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:33,100 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {119873#(< 1 ~SIZE~0)} {119737#true} #90#return; {119873#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:33,100 INFO L290 TraceCheckUtils]: 2: Hoare triple {119873#(< 1 ~SIZE~0)} assume true; {119873#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:33,100 INFO L290 TraceCheckUtils]: 1: Hoare triple {119737#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {119873#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:33,101 INFO L272 TraceCheckUtils]: 0: Hoare triple {119737#true} call ULTIMATE.init(); {119737#true} is VALID [2022-04-28 04:07:33,101 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:07:33,101 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [519484531] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:07:33,101 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:07:33,101 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:07:34,193 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:07:34,194 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2005666356] [2022-04-28 04:07:34,194 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2005666356] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:07:34,194 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:07:34,194 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [32] imperfect sequences [] total 32 [2022-04-28 04:07:34,194 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1381594844] [2022-04-28 04:07:34,194 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:07:34,194 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 1.71875) internal successors, (55), 30 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:07:34,194 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:07:34,194 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 32 states, 32 states have (on average 1.71875) internal successors, (55), 30 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:34,227 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:07:34,227 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2022-04-28 04:07:34,227 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:07:34,227 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-04-28 04:07:34,227 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=266, Invalid=1374, Unknown=0, NotChecked=0, Total=1640 [2022-04-28 04:07:34,228 INFO L87 Difference]: Start difference. First operand 232 states and 279 transitions. Second operand has 32 states, 32 states have (on average 1.71875) internal successors, (55), 30 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:37,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:07:37,689 INFO L93 Difference]: Finished difference Result 392 states and 472 transitions. [2022-04-28 04:07:37,690 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-28 04:07:37,690 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 1.71875) internal successors, (55), 30 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:07:37,690 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:07:37,690 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 1.71875) internal successors, (55), 30 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:37,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 111 transitions. [2022-04-28 04:07:37,690 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 1.71875) internal successors, (55), 30 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:37,694 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 111 transitions. [2022-04-28 04:07:37,694 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 111 transitions. [2022-04-28 04:07:37,753 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:07:37,756 INFO L225 Difference]: With dead ends: 392 [2022-04-28 04:07:37,756 INFO L226 Difference]: Without dead ends: 269 [2022-04-28 04:07:37,757 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 18 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 883 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=278, Invalid=1528, Unknown=0, NotChecked=0, Total=1806 [2022-04-28 04:07:37,757 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 49 mSDsluCounter, 60 mSDsCounter, 0 mSdLazyCounter, 1777 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 80 SdHoareTripleChecker+Invalid, 1787 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1777 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:07:37,757 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 80 Invalid, 1787 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1777 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-28 04:07:37,757 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 269 states. [2022-04-28 04:07:38,673 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 269 to 232. [2022-04-28 04:07:38,674 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:07:38,674 INFO L82 GeneralOperation]: Start isEquivalent. First operand 269 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:38,674 INFO L74 IsIncluded]: Start isIncluded. First operand 269 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:38,674 INFO L87 Difference]: Start difference. First operand 269 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:38,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:07:38,677 INFO L93 Difference]: Finished difference Result 269 states and 318 transitions. [2022-04-28 04:07:38,677 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 318 transitions. [2022-04-28 04:07:38,677 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:07:38,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:07:38,678 INFO L74 IsIncluded]: Start isIncluded. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 269 states. [2022-04-28 04:07:38,678 INFO L87 Difference]: Start difference. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 269 states. [2022-04-28 04:07:38,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:07:38,681 INFO L93 Difference]: Finished difference Result 269 states and 318 transitions. [2022-04-28 04:07:38,681 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 318 transitions. [2022-04-28 04:07:38,681 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:07:38,681 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:07:38,681 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:07:38,681 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:07:38,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:38,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-28 04:07:38,684 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-28 04:07:38,684 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:07:38,684 INFO L495 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-28 04:07:38,684 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 32 states, 32 states have (on average 1.71875) internal successors, (55), 30 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:38,684 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-28 04:07:40,512 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 279 edges. 279 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:07:40,512 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-28 04:07:40,512 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 04:07:40,512 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:07:40,512 INFO L195 NwaCegarLoop]: trace histogram [13, 13, 7, 6, 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:07:40,528 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (77)] Forceful destruction successful, exit code 0 [2022-04-28 04:07:40,723 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable83,77 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:07:40,724 INFO L420 AbstractCegarLoop]: === Iteration 85 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:07:40,724 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:07:40,724 INFO L85 PathProgramCache]: Analyzing trace with hash -1006233057, now seen corresponding path program 73 times [2022-04-28 04:07:40,724 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:07:40,724 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1592145768] [2022-04-28 04:07:43,312 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:07:43,418 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:07:46,045 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:07:46,164 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:07:46,165 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:07:46,168 INFO L85 PathProgramCache]: Analyzing trace with hash 1898480705, now seen corresponding path program 1 times [2022-04-28 04:07:46,168 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:07:46,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [344100921] [2022-04-28 04:07:46,168 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:07:46,168 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:07:46,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:46,325 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:07:46,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:46,330 INFO L290 TraceCheckUtils]: 0: Hoare triple {121743#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,330 INFO L290 TraceCheckUtils]: 1: Hoare triple {121730#(<= 20 ~SIZE~0)} assume true; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,330 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {121730#(<= 20 ~SIZE~0)} {121725#true} #90#return; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,331 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:07:46,331 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:46,332 INFO L290 TraceCheckUtils]: 0: Hoare triple {121725#true} ~cond := #in~cond; {121725#true} is VALID [2022-04-28 04:07:46,332 INFO L290 TraceCheckUtils]: 1: Hoare triple {121725#true} assume !(0 == ~cond); {121725#true} is VALID [2022-04-28 04:07:46,332 INFO L290 TraceCheckUtils]: 2: Hoare triple {121725#true} assume true; {121725#true} is VALID [2022-04-28 04:07:46,333 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {121725#true} {121730#(<= 20 ~SIZE~0)} #86#return; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,333 INFO L272 TraceCheckUtils]: 0: Hoare triple {121725#true} call ULTIMATE.init(); {121743#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:07:46,334 INFO L290 TraceCheckUtils]: 1: Hoare triple {121743#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,334 INFO L290 TraceCheckUtils]: 2: Hoare triple {121730#(<= 20 ~SIZE~0)} assume true; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,334 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {121730#(<= 20 ~SIZE~0)} {121725#true} #90#return; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,335 INFO L272 TraceCheckUtils]: 4: Hoare triple {121730#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,335 INFO L290 TraceCheckUtils]: 5: Hoare triple {121730#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,335 INFO L272 TraceCheckUtils]: 6: Hoare triple {121730#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {121725#true} is VALID [2022-04-28 04:07:46,335 INFO L290 TraceCheckUtils]: 7: Hoare triple {121725#true} ~cond := #in~cond; {121725#true} is VALID [2022-04-28 04:07:46,335 INFO L290 TraceCheckUtils]: 8: Hoare triple {121725#true} assume !(0 == ~cond); {121725#true} is VALID [2022-04-28 04:07:46,335 INFO L290 TraceCheckUtils]: 9: Hoare triple {121725#true} assume true; {121725#true} is VALID [2022-04-28 04:07:46,335 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {121725#true} {121730#(<= 20 ~SIZE~0)} #86#return; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,336 INFO L290 TraceCheckUtils]: 11: Hoare triple {121730#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {121735#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:07:46,336 INFO L290 TraceCheckUtils]: 12: Hoare triple {121735#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {121736#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:07:46,337 INFO L290 TraceCheckUtils]: 13: Hoare triple {121736#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [410] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_2032 v_main_~c~0_2031)) (.cse1 (<= v_~last~0_785 v_main_~c~0_2032))) (or (and (= v_main_~st~0_1099 v_main_~st~0_1100) .cse0 (or (not (< v_main_~c~0_2032 v_~SIZE~0_708)) (not .cse1)) (= |v_main_#t~post5_1029| |v_main_#t~post5_1031|)) (and .cse0 (= |v_main_#t~post5_1031| |v_main_#t~post5_1029|) (= v_~SIZE~0_708 v_~SIZE~0_708) (= v_main_~st~0_1100 v_main_~st~0_1099) (= v_~last~0_785 v_~last~0_785)) (and (= v_main_~st~0_1099 0) (< v_main_~c~0_2031 (+ v_~SIZE~0_708 1)) .cse1 (< v_main_~c~0_2032 v_main_~c~0_2031)))) InVars {~SIZE~0=v_~SIZE~0_708, main_~c~0=v_main_~c~0_2032, main_#t~post5=|v_main_#t~post5_1031|, main_~st~0=v_main_~st~0_1100, ~last~0=v_~last~0_785} OutVars{~SIZE~0=v_~SIZE~0_708, main_#t~post5=|v_main_#t~post5_1029|, main_~c~0=v_main_~c~0_2031, main_~st~0=v_main_~st~0_1099, ~last~0=v_~last~0_785} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {121737#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:07:46,337 INFO L290 TraceCheckUtils]: 14: Hoare triple {121737#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [411] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {121737#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:07:46,338 INFO L290 TraceCheckUtils]: 15: Hoare triple {121737#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [412] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_1034| |v_main_#t~post5_1030|)) (.cse1 (= v_main_~c~0_2034 v_main_~c~0_2033))) (or (and (= v_~SIZE~0_709 v_~SIZE~0_709) .cse0 (= v_~last~0_786 v_~last~0_786) .cse1) (and .cse0 (or (not (< v_main_~c~0_2034 v_~last~0_786)) (not (< v_main_~c~0_2034 v_~SIZE~0_709))) .cse1) (and (< v_main_~c~0_2033 (+ v_~SIZE~0_709 1)) (< v_main_~c~0_2034 v_main_~c~0_2033) (< v_main_~c~0_2033 (+ v_~last~0_786 1))))) InVars {~SIZE~0=v_~SIZE~0_709, main_~c~0=v_main_~c~0_2034, main_#t~post5=|v_main_#t~post5_1034|, ~last~0=v_~last~0_786} OutVars{~SIZE~0=v_~SIZE~0_709, main_#t~post5=|v_main_#t~post5_1030|, main_~c~0=v_main_~c~0_2033, ~last~0=v_~last~0_786} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {121737#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:07:46,339 INFO L290 TraceCheckUtils]: 16: Hoare triple {121737#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [409] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {121738#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:07:46,339 INFO L290 TraceCheckUtils]: 17: Hoare triple {121738#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {121739#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:46,340 INFO L290 TraceCheckUtils]: 18: Hoare triple {121739#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {121739#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:46,340 INFO L290 TraceCheckUtils]: 19: Hoare triple {121739#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {121740#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:46,341 INFO L290 TraceCheckUtils]: 20: Hoare triple {121740#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {121740#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:46,341 INFO L272 TraceCheckUtils]: 21: Hoare triple {121740#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {121741#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:07:46,342 INFO L290 TraceCheckUtils]: 22: Hoare triple {121741#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {121742#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:07:46,342 INFO L290 TraceCheckUtils]: 23: Hoare triple {121742#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {121726#false} is VALID [2022-04-28 04:07:46,342 INFO L290 TraceCheckUtils]: 24: Hoare triple {121726#false} assume !false; {121726#false} is VALID [2022-04-28 04:07:46,342 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:07:46,342 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:07:46,342 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [344100921] [2022-04-28 04:07:46,342 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [344100921] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:07:46,342 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [436807036] [2022-04-28 04:07:46,342 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:07:46,343 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:07:46,343 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:07:46,344 INFO L229 MonitoredProcess]: Starting monitored process 78 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:07:46,344 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (78)] Waiting until timeout for monitored process [2022-04-28 04:07:46,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:46,375 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:07:46,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:46,382 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:07:46,640 INFO L272 TraceCheckUtils]: 0: Hoare triple {121725#true} call ULTIMATE.init(); {121725#true} is VALID [2022-04-28 04:07:46,641 INFO L290 TraceCheckUtils]: 1: Hoare triple {121725#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,641 INFO L290 TraceCheckUtils]: 2: Hoare triple {121730#(<= 20 ~SIZE~0)} assume true; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,642 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {121730#(<= 20 ~SIZE~0)} {121725#true} #90#return; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,642 INFO L272 TraceCheckUtils]: 4: Hoare triple {121730#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,642 INFO L290 TraceCheckUtils]: 5: Hoare triple {121730#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,643 INFO L272 TraceCheckUtils]: 6: Hoare triple {121730#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,643 INFO L290 TraceCheckUtils]: 7: Hoare triple {121730#(<= 20 ~SIZE~0)} ~cond := #in~cond; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,643 INFO L290 TraceCheckUtils]: 8: Hoare triple {121730#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,644 INFO L290 TraceCheckUtils]: 9: Hoare triple {121730#(<= 20 ~SIZE~0)} assume true; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,644 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {121730#(<= 20 ~SIZE~0)} {121730#(<= 20 ~SIZE~0)} #86#return; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,644 INFO L290 TraceCheckUtils]: 11: Hoare triple {121730#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:46,645 INFO L290 TraceCheckUtils]: 12: Hoare triple {121730#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {121783#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:07:46,645 INFO L290 TraceCheckUtils]: 13: Hoare triple {121783#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [410] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_2032 v_main_~c~0_2031)) (.cse1 (<= v_~last~0_785 v_main_~c~0_2032))) (or (and (= v_main_~st~0_1099 v_main_~st~0_1100) .cse0 (or (not (< v_main_~c~0_2032 v_~SIZE~0_708)) (not .cse1)) (= |v_main_#t~post5_1029| |v_main_#t~post5_1031|)) (and .cse0 (= |v_main_#t~post5_1031| |v_main_#t~post5_1029|) (= v_~SIZE~0_708 v_~SIZE~0_708) (= v_main_~st~0_1100 v_main_~st~0_1099) (= v_~last~0_785 v_~last~0_785)) (and (= v_main_~st~0_1099 0) (< v_main_~c~0_2031 (+ v_~SIZE~0_708 1)) .cse1 (< v_main_~c~0_2032 v_main_~c~0_2031)))) InVars {~SIZE~0=v_~SIZE~0_708, main_~c~0=v_main_~c~0_2032, main_#t~post5=|v_main_#t~post5_1031|, main_~st~0=v_main_~st~0_1100, ~last~0=v_~last~0_785} OutVars{~SIZE~0=v_~SIZE~0_708, main_#t~post5=|v_main_#t~post5_1029|, main_~c~0=v_main_~c~0_2031, main_~st~0=v_main_~st~0_1099, ~last~0=v_~last~0_785} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {121787#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:07:46,646 INFO L290 TraceCheckUtils]: 14: Hoare triple {121787#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [411] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {121787#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:07:46,646 INFO L290 TraceCheckUtils]: 15: Hoare triple {121787#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [412] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_1034| |v_main_#t~post5_1030|)) (.cse1 (= v_main_~c~0_2034 v_main_~c~0_2033))) (or (and (= v_~SIZE~0_709 v_~SIZE~0_709) .cse0 (= v_~last~0_786 v_~last~0_786) .cse1) (and .cse0 (or (not (< v_main_~c~0_2034 v_~last~0_786)) (not (< v_main_~c~0_2034 v_~SIZE~0_709))) .cse1) (and (< v_main_~c~0_2033 (+ v_~SIZE~0_709 1)) (< v_main_~c~0_2034 v_main_~c~0_2033) (< v_main_~c~0_2033 (+ v_~last~0_786 1))))) InVars {~SIZE~0=v_~SIZE~0_709, main_~c~0=v_main_~c~0_2034, main_#t~post5=|v_main_#t~post5_1034|, ~last~0=v_~last~0_786} OutVars{~SIZE~0=v_~SIZE~0_709, main_#t~post5=|v_main_#t~post5_1030|, main_~c~0=v_main_~c~0_2033, ~last~0=v_~last~0_786} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {121787#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:07:46,647 INFO L290 TraceCheckUtils]: 16: Hoare triple {121787#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [409] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {121797#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:07:46,647 INFO L290 TraceCheckUtils]: 17: Hoare triple {121797#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {121726#false} is VALID [2022-04-28 04:07:46,648 INFO L290 TraceCheckUtils]: 18: Hoare triple {121726#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {121726#false} is VALID [2022-04-28 04:07:46,648 INFO L290 TraceCheckUtils]: 19: Hoare triple {121726#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {121726#false} is VALID [2022-04-28 04:07:46,648 INFO L290 TraceCheckUtils]: 20: Hoare triple {121726#false} assume !(~d~0 == ~SIZE~0); {121726#false} is VALID [2022-04-28 04:07:46,648 INFO L272 TraceCheckUtils]: 21: Hoare triple {121726#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {121726#false} is VALID [2022-04-28 04:07:46,648 INFO L290 TraceCheckUtils]: 22: Hoare triple {121726#false} ~cond := #in~cond; {121726#false} is VALID [2022-04-28 04:07:46,648 INFO L290 TraceCheckUtils]: 23: Hoare triple {121726#false} assume 0 == ~cond; {121726#false} is VALID [2022-04-28 04:07:46,648 INFO L290 TraceCheckUtils]: 24: Hoare triple {121726#false} assume !false; {121726#false} is VALID [2022-04-28 04:07:46,648 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:07:46,648 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:07:46,996 INFO L290 TraceCheckUtils]: 24: Hoare triple {121726#false} assume !false; {121726#false} is VALID [2022-04-28 04:07:46,997 INFO L290 TraceCheckUtils]: 23: Hoare triple {121726#false} assume 0 == ~cond; {121726#false} is VALID [2022-04-28 04:07:46,997 INFO L290 TraceCheckUtils]: 22: Hoare triple {121726#false} ~cond := #in~cond; {121726#false} is VALID [2022-04-28 04:07:46,997 INFO L272 TraceCheckUtils]: 21: Hoare triple {121726#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {121726#false} is VALID [2022-04-28 04:07:46,997 INFO L290 TraceCheckUtils]: 20: Hoare triple {121726#false} assume !(~d~0 == ~SIZE~0); {121726#false} is VALID [2022-04-28 04:07:46,997 INFO L290 TraceCheckUtils]: 19: Hoare triple {121726#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {121726#false} is VALID [2022-04-28 04:07:46,997 INFO L290 TraceCheckUtils]: 18: Hoare triple {121726#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {121726#false} is VALID [2022-04-28 04:07:46,997 INFO L290 TraceCheckUtils]: 17: Hoare triple {121843#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {121726#false} is VALID [2022-04-28 04:07:46,998 INFO L290 TraceCheckUtils]: 16: Hoare triple {121847#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [409] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {121843#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:07:46,998 INFO L290 TraceCheckUtils]: 15: Hoare triple {121847#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [412] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_1034| |v_main_#t~post5_1030|)) (.cse1 (= v_main_~c~0_2034 v_main_~c~0_2033))) (or (and (= v_~SIZE~0_709 v_~SIZE~0_709) .cse0 (= v_~last~0_786 v_~last~0_786) .cse1) (and .cse0 (or (not (< v_main_~c~0_2034 v_~last~0_786)) (not (< v_main_~c~0_2034 v_~SIZE~0_709))) .cse1) (and (< v_main_~c~0_2033 (+ v_~SIZE~0_709 1)) (< v_main_~c~0_2034 v_main_~c~0_2033) (< v_main_~c~0_2033 (+ v_~last~0_786 1))))) InVars {~SIZE~0=v_~SIZE~0_709, main_~c~0=v_main_~c~0_2034, main_#t~post5=|v_main_#t~post5_1034|, ~last~0=v_~last~0_786} OutVars{~SIZE~0=v_~SIZE~0_709, main_#t~post5=|v_main_#t~post5_1030|, main_~c~0=v_main_~c~0_2033, ~last~0=v_~last~0_786} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {121847#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:07:46,999 INFO L290 TraceCheckUtils]: 14: Hoare triple {121847#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [411] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {121847#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:07:46,999 INFO L290 TraceCheckUtils]: 13: Hoare triple {121857#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [410] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_2032 v_main_~c~0_2031)) (.cse1 (<= v_~last~0_785 v_main_~c~0_2032))) (or (and (= v_main_~st~0_1099 v_main_~st~0_1100) .cse0 (or (not (< v_main_~c~0_2032 v_~SIZE~0_708)) (not .cse1)) (= |v_main_#t~post5_1029| |v_main_#t~post5_1031|)) (and .cse0 (= |v_main_#t~post5_1031| |v_main_#t~post5_1029|) (= v_~SIZE~0_708 v_~SIZE~0_708) (= v_main_~st~0_1100 v_main_~st~0_1099) (= v_~last~0_785 v_~last~0_785)) (and (= v_main_~st~0_1099 0) (< v_main_~c~0_2031 (+ v_~SIZE~0_708 1)) .cse1 (< v_main_~c~0_2032 v_main_~c~0_2031)))) InVars {~SIZE~0=v_~SIZE~0_708, main_~c~0=v_main_~c~0_2032, main_#t~post5=|v_main_#t~post5_1031|, main_~st~0=v_main_~st~0_1100, ~last~0=v_~last~0_785} OutVars{~SIZE~0=v_~SIZE~0_708, main_#t~post5=|v_main_#t~post5_1029|, main_~c~0=v_main_~c~0_2031, main_~st~0=v_main_~st~0_1099, ~last~0=v_~last~0_785} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {121847#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:07:47,000 INFO L290 TraceCheckUtils]: 12: Hoare triple {121861#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {121857#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:07:47,000 INFO L290 TraceCheckUtils]: 11: Hoare triple {121861#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {121861#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:47,001 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {121725#true} {121861#(< 1 ~SIZE~0)} #86#return; {121861#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:47,001 INFO L290 TraceCheckUtils]: 9: Hoare triple {121725#true} assume true; {121725#true} is VALID [2022-04-28 04:07:47,001 INFO L290 TraceCheckUtils]: 8: Hoare triple {121725#true} assume !(0 == ~cond); {121725#true} is VALID [2022-04-28 04:07:47,001 INFO L290 TraceCheckUtils]: 7: Hoare triple {121725#true} ~cond := #in~cond; {121725#true} is VALID [2022-04-28 04:07:47,001 INFO L272 TraceCheckUtils]: 6: Hoare triple {121861#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {121725#true} is VALID [2022-04-28 04:07:47,001 INFO L290 TraceCheckUtils]: 5: Hoare triple {121861#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {121861#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:47,001 INFO L272 TraceCheckUtils]: 4: Hoare triple {121861#(< 1 ~SIZE~0)} call #t~ret7 := main(); {121861#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:47,002 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {121861#(< 1 ~SIZE~0)} {121725#true} #90#return; {121861#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:47,002 INFO L290 TraceCheckUtils]: 2: Hoare triple {121861#(< 1 ~SIZE~0)} assume true; {121861#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:47,002 INFO L290 TraceCheckUtils]: 1: Hoare triple {121725#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {121861#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:47,003 INFO L272 TraceCheckUtils]: 0: Hoare triple {121725#true} call ULTIMATE.init(); {121725#true} is VALID [2022-04-28 04:07:47,003 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:07:47,003 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [436807036] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:07:47,003 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:07:47,003 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:07:48,209 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:07:48,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1592145768] [2022-04-28 04:07:48,209 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1592145768] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:07:48,209 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:07:48,209 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [33] imperfect sequences [] total 33 [2022-04-28 04:07:48,209 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1540224700] [2022-04-28 04:07:48,209 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:07:48,210 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.6666666666666667) internal successors, (55), 31 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:07:48,210 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:07:48,210 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 33 states, 33 states have (on average 1.6666666666666667) internal successors, (55), 31 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:48,242 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:07:48,242 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-28 04:07:48,242 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:07:48,243 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-28 04:07:48,243 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=280, Invalid=1442, Unknown=0, NotChecked=0, Total=1722 [2022-04-28 04:07:48,243 INFO L87 Difference]: Start difference. First operand 232 states and 279 transitions. Second operand has 33 states, 33 states have (on average 1.6666666666666667) internal successors, (55), 31 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:51,772 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:07:51,772 INFO L93 Difference]: Finished difference Result 389 states and 469 transitions. [2022-04-28 04:07:51,772 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-04-28 04:07:51,772 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 33 states have (on average 1.6666666666666667) internal successors, (55), 31 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:07:51,772 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:07:51,772 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.6666666666666667) internal successors, (55), 31 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:51,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 112 transitions. [2022-04-28 04:07:51,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 33 states have (on average 1.6666666666666667) internal successors, (55), 31 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:51,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 112 transitions. [2022-04-28 04:07:51,792 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 112 transitions. [2022-04-28 04:07:51,869 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:07:51,872 INFO L225 Difference]: With dead ends: 389 [2022-04-28 04:07:51,872 INFO L226 Difference]: Without dead ends: 266 [2022-04-28 04:07:51,873 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 17 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 903 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=292, Invalid=1600, Unknown=0, NotChecked=0, Total=1892 [2022-04-28 04:07:51,873 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 59 mSDsluCounter, 63 mSDsCounter, 0 mSdLazyCounter, 1920 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 1931 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1920 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-28 04:07:51,873 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [60 Valid, 83 Invalid, 1931 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1920 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-28 04:07:51,873 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 266 states. [2022-04-28 04:07:52,638 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 266 to 232. [2022-04-28 04:07:52,638 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:07:52,638 INFO L82 GeneralOperation]: Start isEquivalent. First operand 266 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:52,639 INFO L74 IsIncluded]: Start isIncluded. First operand 266 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:52,639 INFO L87 Difference]: Start difference. First operand 266 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:52,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:07:52,642 INFO L93 Difference]: Finished difference Result 266 states and 315 transitions. [2022-04-28 04:07:52,642 INFO L276 IsEmpty]: Start isEmpty. Operand 266 states and 315 transitions. [2022-04-28 04:07:52,642 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:07:52,642 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:07:52,642 INFO L74 IsIncluded]: Start isIncluded. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 266 states. [2022-04-28 04:07:52,643 INFO L87 Difference]: Start difference. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 266 states. [2022-04-28 04:07:52,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:07:52,660 INFO L93 Difference]: Finished difference Result 266 states and 315 transitions. [2022-04-28 04:07:52,660 INFO L276 IsEmpty]: Start isEmpty. Operand 266 states and 315 transitions. [2022-04-28 04:07:52,660 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:07:52,661 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:07:52,661 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:07:52,661 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:07:52,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:07:52,664 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-28 04:07:52,664 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-28 04:07:52,664 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:07:52,664 INFO L495 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-28 04:07:52,664 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 33 states, 33 states have (on average 1.6666666666666667) internal successors, (55), 31 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:52,664 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-28 04:07:54,377 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 279 edges. 279 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:07:54,377 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-28 04:07:54,378 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 04:07:54,378 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:07:54,378 INFO L195 NwaCegarLoop]: trace histogram [13, 13, 8, 5, 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:07:54,400 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (78)] Forceful destruction successful, exit code 0 [2022-04-28 04:07:54,609 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable84,78 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:07:54,609 INFO L420 AbstractCegarLoop]: === Iteration 86 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:07:54,609 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:07:54,610 INFO L85 PathProgramCache]: Analyzing trace with hash -944193443, now seen corresponding path program 74 times [2022-04-28 04:07:54,610 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:07:54,610 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1849531492] [2022-04-28 04:07:54,861 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:07:57,525 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:07:57,620 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:07:57,621 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:07:57,623 INFO L85 PathProgramCache]: Analyzing trace with hash 96036161, now seen corresponding path program 1 times [2022-04-28 04:07:57,623 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:07:57,623 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [822936527] [2022-04-28 04:07:57,623 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:07:57,623 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:07:57,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:57,792 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:07:57,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:57,797 INFO L290 TraceCheckUtils]: 0: Hoare triple {123720#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:57,797 INFO L290 TraceCheckUtils]: 1: Hoare triple {123707#(<= 20 ~SIZE~0)} assume true; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:57,798 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {123707#(<= 20 ~SIZE~0)} {123702#true} #90#return; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:57,798 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:07:57,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:57,799 INFO L290 TraceCheckUtils]: 0: Hoare triple {123702#true} ~cond := #in~cond; {123702#true} is VALID [2022-04-28 04:07:57,800 INFO L290 TraceCheckUtils]: 1: Hoare triple {123702#true} assume !(0 == ~cond); {123702#true} is VALID [2022-04-28 04:07:57,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {123702#true} assume true; {123702#true} is VALID [2022-04-28 04:07:57,800 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {123702#true} {123707#(<= 20 ~SIZE~0)} #86#return; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:57,800 INFO L272 TraceCheckUtils]: 0: Hoare triple {123702#true} call ULTIMATE.init(); {123720#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:07:57,801 INFO L290 TraceCheckUtils]: 1: Hoare triple {123720#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:57,801 INFO L290 TraceCheckUtils]: 2: Hoare triple {123707#(<= 20 ~SIZE~0)} assume true; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:57,802 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {123707#(<= 20 ~SIZE~0)} {123702#true} #90#return; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:57,802 INFO L272 TraceCheckUtils]: 4: Hoare triple {123707#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:57,802 INFO L290 TraceCheckUtils]: 5: Hoare triple {123707#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:57,802 INFO L272 TraceCheckUtils]: 6: Hoare triple {123707#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {123702#true} is VALID [2022-04-28 04:07:57,802 INFO L290 TraceCheckUtils]: 7: Hoare triple {123702#true} ~cond := #in~cond; {123702#true} is VALID [2022-04-28 04:07:57,802 INFO L290 TraceCheckUtils]: 8: Hoare triple {123702#true} assume !(0 == ~cond); {123702#true} is VALID [2022-04-28 04:07:57,802 INFO L290 TraceCheckUtils]: 9: Hoare triple {123702#true} assume true; {123702#true} is VALID [2022-04-28 04:07:57,803 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {123702#true} {123707#(<= 20 ~SIZE~0)} #86#return; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:57,803 INFO L290 TraceCheckUtils]: 11: Hoare triple {123707#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {123712#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:07:57,804 INFO L290 TraceCheckUtils]: 12: Hoare triple {123712#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {123713#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:07:57,804 INFO L290 TraceCheckUtils]: 13: Hoare triple {123713#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [414] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_2062 v_main_~c~0_2061)) (.cse1 (= v_main_~st~0_1115 v_main_~st~0_1114)) (.cse2 (= |v_main_#t~post5_1044| |v_main_#t~post5_1042|)) (.cse3 (<= v_~last~0_795 v_main_~c~0_2062))) (or (and .cse0 .cse1 .cse2 (or (not (< v_main_~c~0_2062 v_~SIZE~0_717)) (not .cse3))) (and .cse0 .cse1 (= v_~SIZE~0_717 v_~SIZE~0_717) (= v_~last~0_795 v_~last~0_795) .cse2) (and .cse3 (< v_main_~c~0_2062 v_main_~c~0_2061) (< v_main_~c~0_2061 (+ v_~SIZE~0_717 1)) (= v_main_~st~0_1114 0)))) InVars {~SIZE~0=v_~SIZE~0_717, main_~c~0=v_main_~c~0_2062, main_#t~post5=|v_main_#t~post5_1044|, main_~st~0=v_main_~st~0_1115, ~last~0=v_~last~0_795} OutVars{~SIZE~0=v_~SIZE~0_717, main_#t~post5=|v_main_#t~post5_1042|, main_~c~0=v_main_~c~0_2061, main_~st~0=v_main_~st~0_1114, ~last~0=v_~last~0_795} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {123714#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:07:57,805 INFO L290 TraceCheckUtils]: 14: Hoare triple {123714#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [415] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {123714#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:07:57,806 INFO L290 TraceCheckUtils]: 15: Hoare triple {123714#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [416] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_1047| |v_main_#t~post5_1043|)) (.cse1 (= v_main_~c~0_2064 v_main_~c~0_2063))) (or (and (or (not (< v_main_~c~0_2064 v_~SIZE~0_718)) (not (< v_main_~c~0_2064 v_~last~0_796))) .cse0 .cse1) (and .cse0 (= v_~SIZE~0_718 v_~SIZE~0_718) .cse1 (= v_~last~0_796 v_~last~0_796)) (and (< v_main_~c~0_2063 (+ v_~last~0_796 1)) (< v_main_~c~0_2064 v_main_~c~0_2063) (< v_main_~c~0_2063 (+ v_~SIZE~0_718 1))))) InVars {~SIZE~0=v_~SIZE~0_718, main_~c~0=v_main_~c~0_2064, main_#t~post5=|v_main_#t~post5_1047|, ~last~0=v_~last~0_796} OutVars{~SIZE~0=v_~SIZE~0_718, main_#t~post5=|v_main_#t~post5_1043|, main_~c~0=v_main_~c~0_2063, ~last~0=v_~last~0_796} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {123714#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:07:57,806 INFO L290 TraceCheckUtils]: 16: Hoare triple {123714#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [413] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {123715#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:07:57,807 INFO L290 TraceCheckUtils]: 17: Hoare triple {123715#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {123716#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:57,807 INFO L290 TraceCheckUtils]: 18: Hoare triple {123716#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {123716#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:57,808 INFO L290 TraceCheckUtils]: 19: Hoare triple {123716#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {123717#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:57,808 INFO L290 TraceCheckUtils]: 20: Hoare triple {123717#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {123717#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:07:57,809 INFO L272 TraceCheckUtils]: 21: Hoare triple {123717#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {123718#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:07:57,809 INFO L290 TraceCheckUtils]: 22: Hoare triple {123718#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {123719#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:07:57,809 INFO L290 TraceCheckUtils]: 23: Hoare triple {123719#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {123703#false} is VALID [2022-04-28 04:07:57,810 INFO L290 TraceCheckUtils]: 24: Hoare triple {123703#false} assume !false; {123703#false} is VALID [2022-04-28 04:07:57,810 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:07:57,810 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:07:57,810 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [822936527] [2022-04-28 04:07:57,810 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [822936527] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:07:57,810 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [93842277] [2022-04-28 04:07:57,810 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:07:57,810 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:07:57,810 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:07:57,811 INFO L229 MonitoredProcess]: Starting monitored process 79 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:07:57,812 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (79)] Waiting until timeout for monitored process [2022-04-28 04:07:57,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:57,841 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:07:57,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:07:57,849 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:07:58,106 INFO L272 TraceCheckUtils]: 0: Hoare triple {123702#true} call ULTIMATE.init(); {123702#true} is VALID [2022-04-28 04:07:58,106 INFO L290 TraceCheckUtils]: 1: Hoare triple {123702#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:58,106 INFO L290 TraceCheckUtils]: 2: Hoare triple {123707#(<= 20 ~SIZE~0)} assume true; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:58,107 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {123707#(<= 20 ~SIZE~0)} {123702#true} #90#return; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:58,107 INFO L272 TraceCheckUtils]: 4: Hoare triple {123707#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:58,107 INFO L290 TraceCheckUtils]: 5: Hoare triple {123707#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:58,107 INFO L272 TraceCheckUtils]: 6: Hoare triple {123707#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:58,107 INFO L290 TraceCheckUtils]: 7: Hoare triple {123707#(<= 20 ~SIZE~0)} ~cond := #in~cond; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:58,108 INFO L290 TraceCheckUtils]: 8: Hoare triple {123707#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:58,108 INFO L290 TraceCheckUtils]: 9: Hoare triple {123707#(<= 20 ~SIZE~0)} assume true; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:58,108 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {123707#(<= 20 ~SIZE~0)} {123707#(<= 20 ~SIZE~0)} #86#return; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:58,108 INFO L290 TraceCheckUtils]: 11: Hoare triple {123707#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:07:58,108 INFO L290 TraceCheckUtils]: 12: Hoare triple {123707#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {123760#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:07:58,109 INFO L290 TraceCheckUtils]: 13: Hoare triple {123760#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [414] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_2062 v_main_~c~0_2061)) (.cse1 (= v_main_~st~0_1115 v_main_~st~0_1114)) (.cse2 (= |v_main_#t~post5_1044| |v_main_#t~post5_1042|)) (.cse3 (<= v_~last~0_795 v_main_~c~0_2062))) (or (and .cse0 .cse1 .cse2 (or (not (< v_main_~c~0_2062 v_~SIZE~0_717)) (not .cse3))) (and .cse0 .cse1 (= v_~SIZE~0_717 v_~SIZE~0_717) (= v_~last~0_795 v_~last~0_795) .cse2) (and .cse3 (< v_main_~c~0_2062 v_main_~c~0_2061) (< v_main_~c~0_2061 (+ v_~SIZE~0_717 1)) (= v_main_~st~0_1114 0)))) InVars {~SIZE~0=v_~SIZE~0_717, main_~c~0=v_main_~c~0_2062, main_#t~post5=|v_main_#t~post5_1044|, main_~st~0=v_main_~st~0_1115, ~last~0=v_~last~0_795} OutVars{~SIZE~0=v_~SIZE~0_717, main_#t~post5=|v_main_#t~post5_1042|, main_~c~0=v_main_~c~0_2061, main_~st~0=v_main_~st~0_1114, ~last~0=v_~last~0_795} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {123764#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:07:58,109 INFO L290 TraceCheckUtils]: 14: Hoare triple {123764#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [415] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {123764#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:07:58,110 INFO L290 TraceCheckUtils]: 15: Hoare triple {123764#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [416] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_1047| |v_main_#t~post5_1043|)) (.cse1 (= v_main_~c~0_2064 v_main_~c~0_2063))) (or (and (or (not (< v_main_~c~0_2064 v_~SIZE~0_718)) (not (< v_main_~c~0_2064 v_~last~0_796))) .cse0 .cse1) (and .cse0 (= v_~SIZE~0_718 v_~SIZE~0_718) .cse1 (= v_~last~0_796 v_~last~0_796)) (and (< v_main_~c~0_2063 (+ v_~last~0_796 1)) (< v_main_~c~0_2064 v_main_~c~0_2063) (< v_main_~c~0_2063 (+ v_~SIZE~0_718 1))))) InVars {~SIZE~0=v_~SIZE~0_718, main_~c~0=v_main_~c~0_2064, main_#t~post5=|v_main_#t~post5_1047|, ~last~0=v_~last~0_796} OutVars{~SIZE~0=v_~SIZE~0_718, main_#t~post5=|v_main_#t~post5_1043|, main_~c~0=v_main_~c~0_2063, ~last~0=v_~last~0_796} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {123764#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:07:58,110 INFO L290 TraceCheckUtils]: 16: Hoare triple {123764#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [413] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {123774#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:07:58,111 INFO L290 TraceCheckUtils]: 17: Hoare triple {123774#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {123703#false} is VALID [2022-04-28 04:07:58,111 INFO L290 TraceCheckUtils]: 18: Hoare triple {123703#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {123703#false} is VALID [2022-04-28 04:07:58,111 INFO L290 TraceCheckUtils]: 19: Hoare triple {123703#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {123703#false} is VALID [2022-04-28 04:07:58,111 INFO L290 TraceCheckUtils]: 20: Hoare triple {123703#false} assume !(~d~0 == ~SIZE~0); {123703#false} is VALID [2022-04-28 04:07:58,111 INFO L272 TraceCheckUtils]: 21: Hoare triple {123703#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {123703#false} is VALID [2022-04-28 04:07:58,111 INFO L290 TraceCheckUtils]: 22: Hoare triple {123703#false} ~cond := #in~cond; {123703#false} is VALID [2022-04-28 04:07:58,111 INFO L290 TraceCheckUtils]: 23: Hoare triple {123703#false} assume 0 == ~cond; {123703#false} is VALID [2022-04-28 04:07:58,111 INFO L290 TraceCheckUtils]: 24: Hoare triple {123703#false} assume !false; {123703#false} is VALID [2022-04-28 04:07:58,111 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:07:58,111 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:07:58,352 INFO L290 TraceCheckUtils]: 24: Hoare triple {123703#false} assume !false; {123703#false} is VALID [2022-04-28 04:07:58,352 INFO L290 TraceCheckUtils]: 23: Hoare triple {123703#false} assume 0 == ~cond; {123703#false} is VALID [2022-04-28 04:07:58,352 INFO L290 TraceCheckUtils]: 22: Hoare triple {123703#false} ~cond := #in~cond; {123703#false} is VALID [2022-04-28 04:07:58,353 INFO L272 TraceCheckUtils]: 21: Hoare triple {123703#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {123703#false} is VALID [2022-04-28 04:07:58,353 INFO L290 TraceCheckUtils]: 20: Hoare triple {123703#false} assume !(~d~0 == ~SIZE~0); {123703#false} is VALID [2022-04-28 04:07:58,353 INFO L290 TraceCheckUtils]: 19: Hoare triple {123703#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {123703#false} is VALID [2022-04-28 04:07:58,353 INFO L290 TraceCheckUtils]: 18: Hoare triple {123703#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {123703#false} is VALID [2022-04-28 04:07:58,353 INFO L290 TraceCheckUtils]: 17: Hoare triple {123820#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {123703#false} is VALID [2022-04-28 04:07:58,353 INFO L290 TraceCheckUtils]: 16: Hoare triple {123824#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [413] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {123820#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:07:58,354 INFO L290 TraceCheckUtils]: 15: Hoare triple {123824#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [416] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_1047| |v_main_#t~post5_1043|)) (.cse1 (= v_main_~c~0_2064 v_main_~c~0_2063))) (or (and (or (not (< v_main_~c~0_2064 v_~SIZE~0_718)) (not (< v_main_~c~0_2064 v_~last~0_796))) .cse0 .cse1) (and .cse0 (= v_~SIZE~0_718 v_~SIZE~0_718) .cse1 (= v_~last~0_796 v_~last~0_796)) (and (< v_main_~c~0_2063 (+ v_~last~0_796 1)) (< v_main_~c~0_2064 v_main_~c~0_2063) (< v_main_~c~0_2063 (+ v_~SIZE~0_718 1))))) InVars {~SIZE~0=v_~SIZE~0_718, main_~c~0=v_main_~c~0_2064, main_#t~post5=|v_main_#t~post5_1047|, ~last~0=v_~last~0_796} OutVars{~SIZE~0=v_~SIZE~0_718, main_#t~post5=|v_main_#t~post5_1043|, main_~c~0=v_main_~c~0_2063, ~last~0=v_~last~0_796} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {123824#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:07:58,354 INFO L290 TraceCheckUtils]: 14: Hoare triple {123824#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [415] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {123824#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:07:58,355 INFO L290 TraceCheckUtils]: 13: Hoare triple {123834#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [414] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_2062 v_main_~c~0_2061)) (.cse1 (= v_main_~st~0_1115 v_main_~st~0_1114)) (.cse2 (= |v_main_#t~post5_1044| |v_main_#t~post5_1042|)) (.cse3 (<= v_~last~0_795 v_main_~c~0_2062))) (or (and .cse0 .cse1 .cse2 (or (not (< v_main_~c~0_2062 v_~SIZE~0_717)) (not .cse3))) (and .cse0 .cse1 (= v_~SIZE~0_717 v_~SIZE~0_717) (= v_~last~0_795 v_~last~0_795) .cse2) (and .cse3 (< v_main_~c~0_2062 v_main_~c~0_2061) (< v_main_~c~0_2061 (+ v_~SIZE~0_717 1)) (= v_main_~st~0_1114 0)))) InVars {~SIZE~0=v_~SIZE~0_717, main_~c~0=v_main_~c~0_2062, main_#t~post5=|v_main_#t~post5_1044|, main_~st~0=v_main_~st~0_1115, ~last~0=v_~last~0_795} OutVars{~SIZE~0=v_~SIZE~0_717, main_#t~post5=|v_main_#t~post5_1042|, main_~c~0=v_main_~c~0_2061, main_~st~0=v_main_~st~0_1114, ~last~0=v_~last~0_795} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {123824#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:07:58,355 INFO L290 TraceCheckUtils]: 12: Hoare triple {123838#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {123834#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:07:58,355 INFO L290 TraceCheckUtils]: 11: Hoare triple {123838#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {123838#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:58,355 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {123702#true} {123838#(< 1 ~SIZE~0)} #86#return; {123838#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:58,355 INFO L290 TraceCheckUtils]: 9: Hoare triple {123702#true} assume true; {123702#true} is VALID [2022-04-28 04:07:58,355 INFO L290 TraceCheckUtils]: 8: Hoare triple {123702#true} assume !(0 == ~cond); {123702#true} is VALID [2022-04-28 04:07:58,356 INFO L290 TraceCheckUtils]: 7: Hoare triple {123702#true} ~cond := #in~cond; {123702#true} is VALID [2022-04-28 04:07:58,356 INFO L272 TraceCheckUtils]: 6: Hoare triple {123838#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {123702#true} is VALID [2022-04-28 04:07:58,356 INFO L290 TraceCheckUtils]: 5: Hoare triple {123838#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {123838#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:58,356 INFO L272 TraceCheckUtils]: 4: Hoare triple {123838#(< 1 ~SIZE~0)} call #t~ret7 := main(); {123838#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:58,356 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {123838#(< 1 ~SIZE~0)} {123702#true} #90#return; {123838#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:58,356 INFO L290 TraceCheckUtils]: 2: Hoare triple {123838#(< 1 ~SIZE~0)} assume true; {123838#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:58,357 INFO L290 TraceCheckUtils]: 1: Hoare triple {123702#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {123838#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:07:58,357 INFO L272 TraceCheckUtils]: 0: Hoare triple {123702#true} call ULTIMATE.init(); {123702#true} is VALID [2022-04-28 04:07:58,357 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:07:58,357 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [93842277] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:07:58,357 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:07:58,357 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:07:59,333 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:07:59,333 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1849531492] [2022-04-28 04:07:59,333 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1849531492] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:07:59,333 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:07:59,333 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-28 04:07:59,333 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [673672036] [2022-04-28 04:07:59,333 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:07:59,334 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 1.6176470588235294) internal successors, (55), 32 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:07:59,334 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:07:59,335 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 34 states, 34 states have (on average 1.6176470588235294) internal successors, (55), 32 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:07:59,366 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:07:59,366 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-28 04:07:59,367 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:07:59,368 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-28 04:07:59,368 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=294, Invalid=1512, Unknown=0, NotChecked=0, Total=1806 [2022-04-28 04:07:59,369 INFO L87 Difference]: Start difference. First operand 232 states and 279 transitions. Second operand has 34 states, 34 states have (on average 1.6176470588235294) internal successors, (55), 32 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:02,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:08:02,588 INFO L93 Difference]: Finished difference Result 386 states and 466 transitions. [2022-04-28 04:08:02,588 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-28 04:08:02,588 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 1.6176470588235294) internal successors, (55), 32 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:08:02,588 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:08:02,589 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.6176470588235294) internal successors, (55), 32 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:02,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 113 transitions. [2022-04-28 04:08:02,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.6176470588235294) internal successors, (55), 32 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:02,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 113 transitions. [2022-04-28 04:08:02,590 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 113 transitions. [2022-04-28 04:08:02,676 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:08:02,679 INFO L225 Difference]: With dead ends: 386 [2022-04-28 04:08:02,679 INFO L226 Difference]: Without dead ends: 263 [2022-04-28 04:08:02,680 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 16 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 914 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=306, Invalid=1674, Unknown=0, NotChecked=0, Total=1980 [2022-04-28 04:08:02,680 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 57 mSDsluCounter, 46 mSDsCounter, 0 mSdLazyCounter, 1724 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 58 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 1734 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 1724 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:08:02,680 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [58 Valid, 66 Invalid, 1734 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1724 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 04:08:02,681 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 263 states. [2022-04-28 04:08:03,444 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 263 to 232. [2022-04-28 04:08:03,444 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:08:03,444 INFO L82 GeneralOperation]: Start isEquivalent. First operand 263 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:03,444 INFO L74 IsIncluded]: Start isIncluded. First operand 263 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:03,445 INFO L87 Difference]: Start difference. First operand 263 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:03,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:08:03,448 INFO L93 Difference]: Finished difference Result 263 states and 312 transitions. [2022-04-28 04:08:03,448 INFO L276 IsEmpty]: Start isEmpty. Operand 263 states and 312 transitions. [2022-04-28 04:08:03,448 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:08:03,448 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:08:03,448 INFO L74 IsIncluded]: Start isIncluded. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 263 states. [2022-04-28 04:08:03,448 INFO L87 Difference]: Start difference. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 263 states. [2022-04-28 04:08:03,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:08:03,451 INFO L93 Difference]: Finished difference Result 263 states and 312 transitions. [2022-04-28 04:08:03,451 INFO L276 IsEmpty]: Start isEmpty. Operand 263 states and 312 transitions. [2022-04-28 04:08:03,452 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:08:03,452 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:08:03,452 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:08:03,452 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:08:03,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:03,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-28 04:08:03,456 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-28 04:08:03,456 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:08:03,456 INFO L495 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-28 04:08:03,456 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 34 states, 34 states have (on average 1.6176470588235294) internal successors, (55), 32 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:03,456 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-28 04:08:05,234 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 279 edges. 279 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:08:05,234 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-28 04:08:05,235 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 04:08:05,235 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:08:05,235 INFO L195 NwaCegarLoop]: trace histogram [13, 13, 9, 4, 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:08:05,250 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (79)] Forceful destruction successful, exit code 0 [2022-04-28 04:08:05,446 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable85,79 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:08:05,446 INFO L420 AbstractCegarLoop]: === Iteration 87 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:08:05,446 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:08:05,447 INFO L85 PathProgramCache]: Analyzing trace with hash 1545335519, now seen corresponding path program 75 times [2022-04-28 04:08:05,447 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:08:05,447 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [28983779] [2022-04-28 04:08:07,684 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:08:07,825 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:08:11,916 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:08:11,989 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:08:11,990 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:08:11,992 INFO L85 PathProgramCache]: Analyzing trace with hash -1706408383, now seen corresponding path program 1 times [2022-04-28 04:08:11,992 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:08:11,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [535053564] [2022-04-28 04:08:11,992 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:08:11,992 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:08:11,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:12,103 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:08:12,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:12,107 INFO L290 TraceCheckUtils]: 0: Hoare triple {125686#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,107 INFO L290 TraceCheckUtils]: 1: Hoare triple {125673#(<= 20 ~SIZE~0)} assume true; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,107 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {125673#(<= 20 ~SIZE~0)} {125668#true} #90#return; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,108 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:08:12,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:12,109 INFO L290 TraceCheckUtils]: 0: Hoare triple {125668#true} ~cond := #in~cond; {125668#true} is VALID [2022-04-28 04:08:12,110 INFO L290 TraceCheckUtils]: 1: Hoare triple {125668#true} assume !(0 == ~cond); {125668#true} is VALID [2022-04-28 04:08:12,110 INFO L290 TraceCheckUtils]: 2: Hoare triple {125668#true} assume true; {125668#true} is VALID [2022-04-28 04:08:12,110 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {125668#true} {125673#(<= 20 ~SIZE~0)} #86#return; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,110 INFO L272 TraceCheckUtils]: 0: Hoare triple {125668#true} call ULTIMATE.init(); {125686#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:08:12,111 INFO L290 TraceCheckUtils]: 1: Hoare triple {125686#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,111 INFO L290 TraceCheckUtils]: 2: Hoare triple {125673#(<= 20 ~SIZE~0)} assume true; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,111 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {125673#(<= 20 ~SIZE~0)} {125668#true} #90#return; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,111 INFO L272 TraceCheckUtils]: 4: Hoare triple {125673#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,111 INFO L290 TraceCheckUtils]: 5: Hoare triple {125673#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,111 INFO L272 TraceCheckUtils]: 6: Hoare triple {125673#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {125668#true} is VALID [2022-04-28 04:08:12,112 INFO L290 TraceCheckUtils]: 7: Hoare triple {125668#true} ~cond := #in~cond; {125668#true} is VALID [2022-04-28 04:08:12,112 INFO L290 TraceCheckUtils]: 8: Hoare triple {125668#true} assume !(0 == ~cond); {125668#true} is VALID [2022-04-28 04:08:12,112 INFO L290 TraceCheckUtils]: 9: Hoare triple {125668#true} assume true; {125668#true} is VALID [2022-04-28 04:08:12,112 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {125668#true} {125673#(<= 20 ~SIZE~0)} #86#return; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,112 INFO L290 TraceCheckUtils]: 11: Hoare triple {125673#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {125678#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:08:12,112 INFO L290 TraceCheckUtils]: 12: Hoare triple {125678#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {125679#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:08:12,113 INFO L290 TraceCheckUtils]: 13: Hoare triple {125679#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [418] L25-3-->L25-4_primed: Formula: (let ((.cse3 (<= v_~last~0_805 v_main_~c~0_2092)) (.cse0 (= v_main_~c~0_2092 v_main_~c~0_2091)) (.cse1 (= |v_main_#t~post5_1057| |v_main_#t~post5_1055|)) (.cse2 (= v_main_~st~0_1129 v_main_~st~0_1128))) (or (and (= v_~SIZE~0_726 v_~SIZE~0_726) (= v_~last~0_805 v_~last~0_805) .cse0 .cse1 .cse2) (and (< v_main_~c~0_2091 (+ v_~SIZE~0_726 1)) .cse3 (= v_main_~st~0_1128 0) (< v_main_~c~0_2092 v_main_~c~0_2091)) (and (or (not .cse3) (not (< v_main_~c~0_2092 v_~SIZE~0_726))) .cse0 .cse1 .cse2))) InVars {~SIZE~0=v_~SIZE~0_726, main_~c~0=v_main_~c~0_2092, main_#t~post5=|v_main_#t~post5_1057|, main_~st~0=v_main_~st~0_1129, ~last~0=v_~last~0_805} OutVars{~SIZE~0=v_~SIZE~0_726, main_#t~post5=|v_main_#t~post5_1055|, main_~c~0=v_main_~c~0_2091, main_~st~0=v_main_~st~0_1128, ~last~0=v_~last~0_805} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {125680#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:08:12,113 INFO L290 TraceCheckUtils]: 14: Hoare triple {125680#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [419] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {125680#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:08:12,114 INFO L290 TraceCheckUtils]: 15: Hoare triple {125680#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [420] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_1060| |v_main_#t~post5_1056|)) (.cse1 (= v_main_~c~0_2094 v_main_~c~0_2093))) (or (and (or (not (< v_main_~c~0_2094 v_~SIZE~0_727)) (not (< v_main_~c~0_2094 v_~last~0_806))) .cse0 .cse1) (and (= v_~SIZE~0_727 v_~SIZE~0_727) (= v_~last~0_806 v_~last~0_806) .cse0 .cse1) (and (< v_main_~c~0_2093 (+ v_~last~0_806 1)) (< v_main_~c~0_2093 (+ v_~SIZE~0_727 1)) (< v_main_~c~0_2094 v_main_~c~0_2093)))) InVars {~SIZE~0=v_~SIZE~0_727, main_~c~0=v_main_~c~0_2094, main_#t~post5=|v_main_#t~post5_1060|, ~last~0=v_~last~0_806} OutVars{~SIZE~0=v_~SIZE~0_727, main_#t~post5=|v_main_#t~post5_1056|, main_~c~0=v_main_~c~0_2093, ~last~0=v_~last~0_806} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {125680#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:08:12,114 INFO L290 TraceCheckUtils]: 16: Hoare triple {125680#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [417] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {125681#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:08:12,115 INFO L290 TraceCheckUtils]: 17: Hoare triple {125681#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {125682#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:08:12,115 INFO L290 TraceCheckUtils]: 18: Hoare triple {125682#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {125682#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:08:12,116 INFO L290 TraceCheckUtils]: 19: Hoare triple {125682#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {125683#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:08:12,116 INFO L290 TraceCheckUtils]: 20: Hoare triple {125683#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {125683#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:08:12,117 INFO L272 TraceCheckUtils]: 21: Hoare triple {125683#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {125684#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:08:12,117 INFO L290 TraceCheckUtils]: 22: Hoare triple {125684#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {125685#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:08:12,117 INFO L290 TraceCheckUtils]: 23: Hoare triple {125685#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {125669#false} is VALID [2022-04-28 04:08:12,117 INFO L290 TraceCheckUtils]: 24: Hoare triple {125669#false} assume !false; {125669#false} is VALID [2022-04-28 04:08:12,117 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:08:12,117 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:08:12,117 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [535053564] [2022-04-28 04:08:12,117 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [535053564] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:08:12,118 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2117496352] [2022-04-28 04:08:12,118 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:08:12,118 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:08:12,118 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:08:12,119 INFO L229 MonitoredProcess]: Starting monitored process 80 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:08:12,119 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (80)] Waiting until timeout for monitored process [2022-04-28 04:08:12,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:12,167 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:08:12,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:12,173 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:08:12,351 INFO L272 TraceCheckUtils]: 0: Hoare triple {125668#true} call ULTIMATE.init(); {125668#true} is VALID [2022-04-28 04:08:12,351 INFO L290 TraceCheckUtils]: 1: Hoare triple {125668#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,351 INFO L290 TraceCheckUtils]: 2: Hoare triple {125673#(<= 20 ~SIZE~0)} assume true; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,352 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {125673#(<= 20 ~SIZE~0)} {125668#true} #90#return; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,352 INFO L272 TraceCheckUtils]: 4: Hoare triple {125673#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,352 INFO L290 TraceCheckUtils]: 5: Hoare triple {125673#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,352 INFO L272 TraceCheckUtils]: 6: Hoare triple {125673#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,352 INFO L290 TraceCheckUtils]: 7: Hoare triple {125673#(<= 20 ~SIZE~0)} ~cond := #in~cond; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,353 INFO L290 TraceCheckUtils]: 8: Hoare triple {125673#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,353 INFO L290 TraceCheckUtils]: 9: Hoare triple {125673#(<= 20 ~SIZE~0)} assume true; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,353 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {125673#(<= 20 ~SIZE~0)} {125673#(<= 20 ~SIZE~0)} #86#return; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,353 INFO L290 TraceCheckUtils]: 11: Hoare triple {125673#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:12,354 INFO L290 TraceCheckUtils]: 12: Hoare triple {125673#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {125726#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:08:12,354 INFO L290 TraceCheckUtils]: 13: Hoare triple {125726#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [418] L25-3-->L25-4_primed: Formula: (let ((.cse3 (<= v_~last~0_805 v_main_~c~0_2092)) (.cse0 (= v_main_~c~0_2092 v_main_~c~0_2091)) (.cse1 (= |v_main_#t~post5_1057| |v_main_#t~post5_1055|)) (.cse2 (= v_main_~st~0_1129 v_main_~st~0_1128))) (or (and (= v_~SIZE~0_726 v_~SIZE~0_726) (= v_~last~0_805 v_~last~0_805) .cse0 .cse1 .cse2) (and (< v_main_~c~0_2091 (+ v_~SIZE~0_726 1)) .cse3 (= v_main_~st~0_1128 0) (< v_main_~c~0_2092 v_main_~c~0_2091)) (and (or (not .cse3) (not (< v_main_~c~0_2092 v_~SIZE~0_726))) .cse0 .cse1 .cse2))) InVars {~SIZE~0=v_~SIZE~0_726, main_~c~0=v_main_~c~0_2092, main_#t~post5=|v_main_#t~post5_1057|, main_~st~0=v_main_~st~0_1129, ~last~0=v_~last~0_805} OutVars{~SIZE~0=v_~SIZE~0_726, main_#t~post5=|v_main_#t~post5_1055|, main_~c~0=v_main_~c~0_2091, main_~st~0=v_main_~st~0_1128, ~last~0=v_~last~0_805} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {125730#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:08:12,354 INFO L290 TraceCheckUtils]: 14: Hoare triple {125730#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [419] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {125730#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:08:12,355 INFO L290 TraceCheckUtils]: 15: Hoare triple {125730#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [420] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_1060| |v_main_#t~post5_1056|)) (.cse1 (= v_main_~c~0_2094 v_main_~c~0_2093))) (or (and (or (not (< v_main_~c~0_2094 v_~SIZE~0_727)) (not (< v_main_~c~0_2094 v_~last~0_806))) .cse0 .cse1) (and (= v_~SIZE~0_727 v_~SIZE~0_727) (= v_~last~0_806 v_~last~0_806) .cse0 .cse1) (and (< v_main_~c~0_2093 (+ v_~last~0_806 1)) (< v_main_~c~0_2093 (+ v_~SIZE~0_727 1)) (< v_main_~c~0_2094 v_main_~c~0_2093)))) InVars {~SIZE~0=v_~SIZE~0_727, main_~c~0=v_main_~c~0_2094, main_#t~post5=|v_main_#t~post5_1060|, ~last~0=v_~last~0_806} OutVars{~SIZE~0=v_~SIZE~0_727, main_#t~post5=|v_main_#t~post5_1056|, main_~c~0=v_main_~c~0_2093, ~last~0=v_~last~0_806} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {125730#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:08:12,355 INFO L290 TraceCheckUtils]: 16: Hoare triple {125730#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [417] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {125740#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:08:12,356 INFO L290 TraceCheckUtils]: 17: Hoare triple {125740#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {125669#false} is VALID [2022-04-28 04:08:12,356 INFO L290 TraceCheckUtils]: 18: Hoare triple {125669#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {125669#false} is VALID [2022-04-28 04:08:12,356 INFO L290 TraceCheckUtils]: 19: Hoare triple {125669#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {125669#false} is VALID [2022-04-28 04:08:12,356 INFO L290 TraceCheckUtils]: 20: Hoare triple {125669#false} assume !(~d~0 == ~SIZE~0); {125669#false} is VALID [2022-04-28 04:08:12,356 INFO L272 TraceCheckUtils]: 21: Hoare triple {125669#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {125669#false} is VALID [2022-04-28 04:08:12,356 INFO L290 TraceCheckUtils]: 22: Hoare triple {125669#false} ~cond := #in~cond; {125669#false} is VALID [2022-04-28 04:08:12,356 INFO L290 TraceCheckUtils]: 23: Hoare triple {125669#false} assume 0 == ~cond; {125669#false} is VALID [2022-04-28 04:08:12,356 INFO L290 TraceCheckUtils]: 24: Hoare triple {125669#false} assume !false; {125669#false} is VALID [2022-04-28 04:08:12,356 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:08:12,357 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:08:12,577 INFO L290 TraceCheckUtils]: 24: Hoare triple {125669#false} assume !false; {125669#false} is VALID [2022-04-28 04:08:12,577 INFO L290 TraceCheckUtils]: 23: Hoare triple {125669#false} assume 0 == ~cond; {125669#false} is VALID [2022-04-28 04:08:12,577 INFO L290 TraceCheckUtils]: 22: Hoare triple {125669#false} ~cond := #in~cond; {125669#false} is VALID [2022-04-28 04:08:12,577 INFO L272 TraceCheckUtils]: 21: Hoare triple {125669#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {125669#false} is VALID [2022-04-28 04:08:12,577 INFO L290 TraceCheckUtils]: 20: Hoare triple {125669#false} assume !(~d~0 == ~SIZE~0); {125669#false} is VALID [2022-04-28 04:08:12,578 INFO L290 TraceCheckUtils]: 19: Hoare triple {125669#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {125669#false} is VALID [2022-04-28 04:08:12,578 INFO L290 TraceCheckUtils]: 18: Hoare triple {125669#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {125669#false} is VALID [2022-04-28 04:08:12,578 INFO L290 TraceCheckUtils]: 17: Hoare triple {125786#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {125669#false} is VALID [2022-04-28 04:08:12,578 INFO L290 TraceCheckUtils]: 16: Hoare triple {125790#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [417] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {125786#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:08:12,579 INFO L290 TraceCheckUtils]: 15: Hoare triple {125790#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [420] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_1060| |v_main_#t~post5_1056|)) (.cse1 (= v_main_~c~0_2094 v_main_~c~0_2093))) (or (and (or (not (< v_main_~c~0_2094 v_~SIZE~0_727)) (not (< v_main_~c~0_2094 v_~last~0_806))) .cse0 .cse1) (and (= v_~SIZE~0_727 v_~SIZE~0_727) (= v_~last~0_806 v_~last~0_806) .cse0 .cse1) (and (< v_main_~c~0_2093 (+ v_~last~0_806 1)) (< v_main_~c~0_2093 (+ v_~SIZE~0_727 1)) (< v_main_~c~0_2094 v_main_~c~0_2093)))) InVars {~SIZE~0=v_~SIZE~0_727, main_~c~0=v_main_~c~0_2094, main_#t~post5=|v_main_#t~post5_1060|, ~last~0=v_~last~0_806} OutVars{~SIZE~0=v_~SIZE~0_727, main_#t~post5=|v_main_#t~post5_1056|, main_~c~0=v_main_~c~0_2093, ~last~0=v_~last~0_806} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {125790#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:08:12,579 INFO L290 TraceCheckUtils]: 14: Hoare triple {125790#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [419] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {125790#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:08:12,580 INFO L290 TraceCheckUtils]: 13: Hoare triple {125800#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [418] L25-3-->L25-4_primed: Formula: (let ((.cse3 (<= v_~last~0_805 v_main_~c~0_2092)) (.cse0 (= v_main_~c~0_2092 v_main_~c~0_2091)) (.cse1 (= |v_main_#t~post5_1057| |v_main_#t~post5_1055|)) (.cse2 (= v_main_~st~0_1129 v_main_~st~0_1128))) (or (and (= v_~SIZE~0_726 v_~SIZE~0_726) (= v_~last~0_805 v_~last~0_805) .cse0 .cse1 .cse2) (and (< v_main_~c~0_2091 (+ v_~SIZE~0_726 1)) .cse3 (= v_main_~st~0_1128 0) (< v_main_~c~0_2092 v_main_~c~0_2091)) (and (or (not .cse3) (not (< v_main_~c~0_2092 v_~SIZE~0_726))) .cse0 .cse1 .cse2))) InVars {~SIZE~0=v_~SIZE~0_726, main_~c~0=v_main_~c~0_2092, main_#t~post5=|v_main_#t~post5_1057|, main_~st~0=v_main_~st~0_1129, ~last~0=v_~last~0_805} OutVars{~SIZE~0=v_~SIZE~0_726, main_#t~post5=|v_main_#t~post5_1055|, main_~c~0=v_main_~c~0_2091, main_~st~0=v_main_~st~0_1128, ~last~0=v_~last~0_805} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {125790#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:08:12,580 INFO L290 TraceCheckUtils]: 12: Hoare triple {125804#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {125800#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:08:12,580 INFO L290 TraceCheckUtils]: 11: Hoare triple {125804#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {125804#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:12,580 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {125668#true} {125804#(< 1 ~SIZE~0)} #86#return; {125804#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:12,580 INFO L290 TraceCheckUtils]: 9: Hoare triple {125668#true} assume true; {125668#true} is VALID [2022-04-28 04:08:12,580 INFO L290 TraceCheckUtils]: 8: Hoare triple {125668#true} assume !(0 == ~cond); {125668#true} is VALID [2022-04-28 04:08:12,581 INFO L290 TraceCheckUtils]: 7: Hoare triple {125668#true} ~cond := #in~cond; {125668#true} is VALID [2022-04-28 04:08:12,581 INFO L272 TraceCheckUtils]: 6: Hoare triple {125804#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {125668#true} is VALID [2022-04-28 04:08:12,581 INFO L290 TraceCheckUtils]: 5: Hoare triple {125804#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {125804#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:12,581 INFO L272 TraceCheckUtils]: 4: Hoare triple {125804#(< 1 ~SIZE~0)} call #t~ret7 := main(); {125804#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:12,581 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {125804#(< 1 ~SIZE~0)} {125668#true} #90#return; {125804#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:12,581 INFO L290 TraceCheckUtils]: 2: Hoare triple {125804#(< 1 ~SIZE~0)} assume true; {125804#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:12,582 INFO L290 TraceCheckUtils]: 1: Hoare triple {125668#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {125804#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:12,582 INFO L272 TraceCheckUtils]: 0: Hoare triple {125668#true} call ULTIMATE.init(); {125668#true} is VALID [2022-04-28 04:08:12,582 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:08:12,582 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2117496352] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:08:12,582 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:08:12,582 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:08:13,581 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:08:13,581 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [28983779] [2022-04-28 04:08:13,581 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [28983779] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:08:13,581 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:08:13,581 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [35] imperfect sequences [] total 35 [2022-04-28 04:08:13,582 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [841410373] [2022-04-28 04:08:13,582 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:08:13,582 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 35 states have (on average 1.5714285714285714) internal successors, (55), 33 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:08:13,582 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:08:13,582 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 35 states, 35 states have (on average 1.5714285714285714) internal successors, (55), 33 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:13,616 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:08:13,616 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 35 states [2022-04-28 04:08:13,616 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:08:13,616 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2022-04-28 04:08:13,617 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=308, Invalid=1584, Unknown=0, NotChecked=0, Total=1892 [2022-04-28 04:08:13,617 INFO L87 Difference]: Start difference. First operand 232 states and 279 transitions. Second operand has 35 states, 35 states have (on average 1.5714285714285714) internal successors, (55), 33 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:16,827 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:08:16,827 INFO L93 Difference]: Finished difference Result 383 states and 463 transitions. [2022-04-28 04:08:16,827 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2022-04-28 04:08:16,828 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 35 states have (on average 1.5714285714285714) internal successors, (55), 33 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:08:16,828 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:08:16,828 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 35 states have (on average 1.5714285714285714) internal successors, (55), 33 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:16,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 114 transitions. [2022-04-28 04:08:16,828 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 35 states have (on average 1.5714285714285714) internal successors, (55), 33 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:16,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 114 transitions. [2022-04-28 04:08:16,829 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 114 transitions. [2022-04-28 04:08:16,883 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:08:16,886 INFO L225 Difference]: With dead ends: 383 [2022-04-28 04:08:16,886 INFO L226 Difference]: Without dead ends: 260 [2022-04-28 04:08:16,887 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 15 SemanticMatches, 44 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 916 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=320, Invalid=1750, Unknown=0, NotChecked=0, Total=2070 [2022-04-28 04:08:16,887 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 57 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 1821 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 58 SdHoareTripleChecker+Valid, 85 SdHoareTripleChecker+Invalid, 1832 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1821 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:08:16,887 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [58 Valid, 85 Invalid, 1832 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1821 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-28 04:08:16,887 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 260 states. [2022-04-28 04:08:18,009 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 260 to 232. [2022-04-28 04:08:18,009 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:08:18,009 INFO L82 GeneralOperation]: Start isEquivalent. First operand 260 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:18,010 INFO L74 IsIncluded]: Start isIncluded. First operand 260 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:18,010 INFO L87 Difference]: Start difference. First operand 260 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:18,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:08:18,013 INFO L93 Difference]: Finished difference Result 260 states and 309 transitions. [2022-04-28 04:08:18,013 INFO L276 IsEmpty]: Start isEmpty. Operand 260 states and 309 transitions. [2022-04-28 04:08:18,013 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:08:18,013 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:08:18,013 INFO L74 IsIncluded]: Start isIncluded. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 260 states. [2022-04-28 04:08:18,013 INFO L87 Difference]: Start difference. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 260 states. [2022-04-28 04:08:18,016 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:08:18,016 INFO L93 Difference]: Finished difference Result 260 states and 309 transitions. [2022-04-28 04:08:18,016 INFO L276 IsEmpty]: Start isEmpty. Operand 260 states and 309 transitions. [2022-04-28 04:08:18,016 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:08:18,016 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:08:18,016 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:08:18,016 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:08:18,017 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:18,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-28 04:08:18,020 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-28 04:08:18,020 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:08:18,020 INFO L495 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-28 04:08:18,020 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 35 states, 35 states have (on average 1.5714285714285714) internal successors, (55), 33 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:18,020 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-28 04:08:19,836 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 279 edges. 279 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:08:19,836 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-28 04:08:19,836 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 04:08:19,836 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:08:19,836 INFO L195 NwaCegarLoop]: trace histogram [13, 13, 10, 3, 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:08:19,852 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (80)] Forceful destruction successful, exit code 0 [2022-04-28 04:08:20,037 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 80 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable86 [2022-04-28 04:08:20,037 INFO L420 AbstractCegarLoop]: === Iteration 88 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:08:20,037 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:08:20,037 INFO L85 PathProgramCache]: Analyzing trace with hash 727687069, now seen corresponding path program 76 times [2022-04-28 04:08:20,037 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:08:20,037 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1818335379] [2022-04-28 04:08:20,316 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:08:20,551 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:08:20,552 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:08:20,555 INFO L85 PathProgramCache]: Analyzing trace with hash 786114369, now seen corresponding path program 1 times [2022-04-28 04:08:20,555 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:08:20,555 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1632566422] [2022-04-28 04:08:20,555 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:08:20,555 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:08:20,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:20,693 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:08:20,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:20,697 INFO L290 TraceCheckUtils]: 0: Hoare triple {127641#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,697 INFO L290 TraceCheckUtils]: 1: Hoare triple {127628#(<= 20 ~SIZE~0)} assume true; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,697 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {127628#(<= 20 ~SIZE~0)} {127623#true} #90#return; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,697 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:08:20,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:20,699 INFO L290 TraceCheckUtils]: 0: Hoare triple {127623#true} ~cond := #in~cond; {127623#true} is VALID [2022-04-28 04:08:20,699 INFO L290 TraceCheckUtils]: 1: Hoare triple {127623#true} assume !(0 == ~cond); {127623#true} is VALID [2022-04-28 04:08:20,699 INFO L290 TraceCheckUtils]: 2: Hoare triple {127623#true} assume true; {127623#true} is VALID [2022-04-28 04:08:20,699 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {127623#true} {127628#(<= 20 ~SIZE~0)} #86#return; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,700 INFO L272 TraceCheckUtils]: 0: Hoare triple {127623#true} call ULTIMATE.init(); {127641#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:08:20,700 INFO L290 TraceCheckUtils]: 1: Hoare triple {127641#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,700 INFO L290 TraceCheckUtils]: 2: Hoare triple {127628#(<= 20 ~SIZE~0)} assume true; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,700 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {127628#(<= 20 ~SIZE~0)} {127623#true} #90#return; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,701 INFO L272 TraceCheckUtils]: 4: Hoare triple {127628#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,701 INFO L290 TraceCheckUtils]: 5: Hoare triple {127628#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,701 INFO L272 TraceCheckUtils]: 6: Hoare triple {127628#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {127623#true} is VALID [2022-04-28 04:08:20,701 INFO L290 TraceCheckUtils]: 7: Hoare triple {127623#true} ~cond := #in~cond; {127623#true} is VALID [2022-04-28 04:08:20,701 INFO L290 TraceCheckUtils]: 8: Hoare triple {127623#true} assume !(0 == ~cond); {127623#true} is VALID [2022-04-28 04:08:20,701 INFO L290 TraceCheckUtils]: 9: Hoare triple {127623#true} assume true; {127623#true} is VALID [2022-04-28 04:08:20,701 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {127623#true} {127628#(<= 20 ~SIZE~0)} #86#return; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,702 INFO L290 TraceCheckUtils]: 11: Hoare triple {127628#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {127633#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:08:20,702 INFO L290 TraceCheckUtils]: 12: Hoare triple {127633#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {127634#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:08:20,702 INFO L290 TraceCheckUtils]: 13: Hoare triple {127634#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [422] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_815 v_main_~c~0_2122)) (.cse1 (= v_main_~c~0_2122 v_main_~c~0_2121)) (.cse2 (= v_main_~st~0_1142 v_main_~st~0_1141))) (or (and (< v_main_~c~0_2122 v_main_~c~0_2121) (< v_main_~c~0_2121 (+ v_~SIZE~0_735 1)) (= v_main_~st~0_1141 0) .cse0) (and (= |v_main_#t~post5_1068| |v_main_#t~post5_1070|) .cse1 .cse2 (or (not (< v_main_~c~0_2122 v_~SIZE~0_735)) (not .cse0))) (and (= v_~SIZE~0_735 v_~SIZE~0_735) (= v_~last~0_815 v_~last~0_815) .cse1 .cse2 (= |v_main_#t~post5_1070| |v_main_#t~post5_1068|)))) InVars {~SIZE~0=v_~SIZE~0_735, main_~c~0=v_main_~c~0_2122, main_#t~post5=|v_main_#t~post5_1070|, main_~st~0=v_main_~st~0_1142, ~last~0=v_~last~0_815} OutVars{~SIZE~0=v_~SIZE~0_735, main_#t~post5=|v_main_#t~post5_1068|, main_~c~0=v_main_~c~0_2121, main_~st~0=v_main_~st~0_1141, ~last~0=v_~last~0_815} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {127635#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:08:20,703 INFO L290 TraceCheckUtils]: 14: Hoare triple {127635#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [423] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {127635#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:08:20,703 INFO L290 TraceCheckUtils]: 15: Hoare triple {127635#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [424] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_2124 v_main_~c~0_2123))) (or (and .cse0 (= |v_main_#t~post5_1069| |v_main_#t~post5_1073|) (or (not (< v_main_~c~0_2124 v_~SIZE~0_736)) (not (< v_main_~c~0_2124 v_~last~0_816)))) (and (< v_main_~c~0_2123 (+ v_~last~0_816 1)) (< v_main_~c~0_2124 v_main_~c~0_2123) (< v_main_~c~0_2123 (+ v_~SIZE~0_736 1))) (and (= v_~SIZE~0_736 v_~SIZE~0_736) .cse0 (= |v_main_#t~post5_1073| |v_main_#t~post5_1069|) (= v_~last~0_816 v_~last~0_816)))) InVars {~SIZE~0=v_~SIZE~0_736, main_~c~0=v_main_~c~0_2124, main_#t~post5=|v_main_#t~post5_1073|, ~last~0=v_~last~0_816} OutVars{~SIZE~0=v_~SIZE~0_736, main_#t~post5=|v_main_#t~post5_1069|, main_~c~0=v_main_~c~0_2123, ~last~0=v_~last~0_816} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {127635#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:08:20,704 INFO L290 TraceCheckUtils]: 16: Hoare triple {127635#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [421] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {127636#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:08:20,704 INFO L290 TraceCheckUtils]: 17: Hoare triple {127636#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {127637#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:08:20,705 INFO L290 TraceCheckUtils]: 18: Hoare triple {127637#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {127637#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:08:20,705 INFO L290 TraceCheckUtils]: 19: Hoare triple {127637#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {127638#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:08:20,705 INFO L290 TraceCheckUtils]: 20: Hoare triple {127638#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {127638#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:08:20,706 INFO L272 TraceCheckUtils]: 21: Hoare triple {127638#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {127639#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:08:20,706 INFO L290 TraceCheckUtils]: 22: Hoare triple {127639#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {127640#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:08:20,706 INFO L290 TraceCheckUtils]: 23: Hoare triple {127640#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {127624#false} is VALID [2022-04-28 04:08:20,706 INFO L290 TraceCheckUtils]: 24: Hoare triple {127624#false} assume !false; {127624#false} is VALID [2022-04-28 04:08:20,707 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:08:20,707 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:08:20,707 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1632566422] [2022-04-28 04:08:20,707 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1632566422] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:08:20,707 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1733843539] [2022-04-28 04:08:20,707 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:08:20,707 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:08:20,707 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:08:20,708 INFO L229 MonitoredProcess]: Starting monitored process 81 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:08:20,709 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (81)] Waiting until timeout for monitored process [2022-04-28 04:08:20,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:20,744 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:08:20,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:20,749 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:08:20,916 INFO L272 TraceCheckUtils]: 0: Hoare triple {127623#true} call ULTIMATE.init(); {127623#true} is VALID [2022-04-28 04:08:20,916 INFO L290 TraceCheckUtils]: 1: Hoare triple {127623#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,917 INFO L290 TraceCheckUtils]: 2: Hoare triple {127628#(<= 20 ~SIZE~0)} assume true; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,917 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {127628#(<= 20 ~SIZE~0)} {127623#true} #90#return; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,917 INFO L272 TraceCheckUtils]: 4: Hoare triple {127628#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,917 INFO L290 TraceCheckUtils]: 5: Hoare triple {127628#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,917 INFO L272 TraceCheckUtils]: 6: Hoare triple {127628#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,918 INFO L290 TraceCheckUtils]: 7: Hoare triple {127628#(<= 20 ~SIZE~0)} ~cond := #in~cond; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,918 INFO L290 TraceCheckUtils]: 8: Hoare triple {127628#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,918 INFO L290 TraceCheckUtils]: 9: Hoare triple {127628#(<= 20 ~SIZE~0)} assume true; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,918 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {127628#(<= 20 ~SIZE~0)} {127628#(<= 20 ~SIZE~0)} #86#return; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,918 INFO L290 TraceCheckUtils]: 11: Hoare triple {127628#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:20,919 INFO L290 TraceCheckUtils]: 12: Hoare triple {127628#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {127681#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:08:20,919 INFO L290 TraceCheckUtils]: 13: Hoare triple {127681#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [422] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_815 v_main_~c~0_2122)) (.cse1 (= v_main_~c~0_2122 v_main_~c~0_2121)) (.cse2 (= v_main_~st~0_1142 v_main_~st~0_1141))) (or (and (< v_main_~c~0_2122 v_main_~c~0_2121) (< v_main_~c~0_2121 (+ v_~SIZE~0_735 1)) (= v_main_~st~0_1141 0) .cse0) (and (= |v_main_#t~post5_1068| |v_main_#t~post5_1070|) .cse1 .cse2 (or (not (< v_main_~c~0_2122 v_~SIZE~0_735)) (not .cse0))) (and (= v_~SIZE~0_735 v_~SIZE~0_735) (= v_~last~0_815 v_~last~0_815) .cse1 .cse2 (= |v_main_#t~post5_1070| |v_main_#t~post5_1068|)))) InVars {~SIZE~0=v_~SIZE~0_735, main_~c~0=v_main_~c~0_2122, main_#t~post5=|v_main_#t~post5_1070|, main_~st~0=v_main_~st~0_1142, ~last~0=v_~last~0_815} OutVars{~SIZE~0=v_~SIZE~0_735, main_#t~post5=|v_main_#t~post5_1068|, main_~c~0=v_main_~c~0_2121, main_~st~0=v_main_~st~0_1141, ~last~0=v_~last~0_815} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {127685#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:08:20,920 INFO L290 TraceCheckUtils]: 14: Hoare triple {127685#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [423] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {127685#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:08:20,920 INFO L290 TraceCheckUtils]: 15: Hoare triple {127685#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [424] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_2124 v_main_~c~0_2123))) (or (and .cse0 (= |v_main_#t~post5_1069| |v_main_#t~post5_1073|) (or (not (< v_main_~c~0_2124 v_~SIZE~0_736)) (not (< v_main_~c~0_2124 v_~last~0_816)))) (and (< v_main_~c~0_2123 (+ v_~last~0_816 1)) (< v_main_~c~0_2124 v_main_~c~0_2123) (< v_main_~c~0_2123 (+ v_~SIZE~0_736 1))) (and (= v_~SIZE~0_736 v_~SIZE~0_736) .cse0 (= |v_main_#t~post5_1073| |v_main_#t~post5_1069|) (= v_~last~0_816 v_~last~0_816)))) InVars {~SIZE~0=v_~SIZE~0_736, main_~c~0=v_main_~c~0_2124, main_#t~post5=|v_main_#t~post5_1073|, ~last~0=v_~last~0_816} OutVars{~SIZE~0=v_~SIZE~0_736, main_#t~post5=|v_main_#t~post5_1069|, main_~c~0=v_main_~c~0_2123, ~last~0=v_~last~0_816} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {127685#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:08:20,920 INFO L290 TraceCheckUtils]: 16: Hoare triple {127685#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [421] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {127695#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:08:20,921 INFO L290 TraceCheckUtils]: 17: Hoare triple {127695#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {127624#false} is VALID [2022-04-28 04:08:20,921 INFO L290 TraceCheckUtils]: 18: Hoare triple {127624#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {127624#false} is VALID [2022-04-28 04:08:20,921 INFO L290 TraceCheckUtils]: 19: Hoare triple {127624#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {127624#false} is VALID [2022-04-28 04:08:20,921 INFO L290 TraceCheckUtils]: 20: Hoare triple {127624#false} assume !(~d~0 == ~SIZE~0); {127624#false} is VALID [2022-04-28 04:08:20,921 INFO L272 TraceCheckUtils]: 21: Hoare triple {127624#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {127624#false} is VALID [2022-04-28 04:08:20,921 INFO L290 TraceCheckUtils]: 22: Hoare triple {127624#false} ~cond := #in~cond; {127624#false} is VALID [2022-04-28 04:08:20,921 INFO L290 TraceCheckUtils]: 23: Hoare triple {127624#false} assume 0 == ~cond; {127624#false} is VALID [2022-04-28 04:08:20,921 INFO L290 TraceCheckUtils]: 24: Hoare triple {127624#false} assume !false; {127624#false} is VALID [2022-04-28 04:08:20,921 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:08:20,922 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:08:21,328 INFO L290 TraceCheckUtils]: 24: Hoare triple {127624#false} assume !false; {127624#false} is VALID [2022-04-28 04:08:21,328 INFO L290 TraceCheckUtils]: 23: Hoare triple {127624#false} assume 0 == ~cond; {127624#false} is VALID [2022-04-28 04:08:21,328 INFO L290 TraceCheckUtils]: 22: Hoare triple {127624#false} ~cond := #in~cond; {127624#false} is VALID [2022-04-28 04:08:21,328 INFO L272 TraceCheckUtils]: 21: Hoare triple {127624#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {127624#false} is VALID [2022-04-28 04:08:21,328 INFO L290 TraceCheckUtils]: 20: Hoare triple {127624#false} assume !(~d~0 == ~SIZE~0); {127624#false} is VALID [2022-04-28 04:08:21,328 INFO L290 TraceCheckUtils]: 19: Hoare triple {127624#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {127624#false} is VALID [2022-04-28 04:08:21,329 INFO L290 TraceCheckUtils]: 18: Hoare triple {127624#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {127624#false} is VALID [2022-04-28 04:08:21,329 INFO L290 TraceCheckUtils]: 17: Hoare triple {127741#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {127624#false} is VALID [2022-04-28 04:08:21,329 INFO L290 TraceCheckUtils]: 16: Hoare triple {127745#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [421] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {127741#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:08:21,330 INFO L290 TraceCheckUtils]: 15: Hoare triple {127745#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [424] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_2124 v_main_~c~0_2123))) (or (and .cse0 (= |v_main_#t~post5_1069| |v_main_#t~post5_1073|) (or (not (< v_main_~c~0_2124 v_~SIZE~0_736)) (not (< v_main_~c~0_2124 v_~last~0_816)))) (and (< v_main_~c~0_2123 (+ v_~last~0_816 1)) (< v_main_~c~0_2124 v_main_~c~0_2123) (< v_main_~c~0_2123 (+ v_~SIZE~0_736 1))) (and (= v_~SIZE~0_736 v_~SIZE~0_736) .cse0 (= |v_main_#t~post5_1073| |v_main_#t~post5_1069|) (= v_~last~0_816 v_~last~0_816)))) InVars {~SIZE~0=v_~SIZE~0_736, main_~c~0=v_main_~c~0_2124, main_#t~post5=|v_main_#t~post5_1073|, ~last~0=v_~last~0_816} OutVars{~SIZE~0=v_~SIZE~0_736, main_#t~post5=|v_main_#t~post5_1069|, main_~c~0=v_main_~c~0_2123, ~last~0=v_~last~0_816} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {127745#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:08:21,330 INFO L290 TraceCheckUtils]: 14: Hoare triple {127745#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [423] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {127745#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:08:21,331 INFO L290 TraceCheckUtils]: 13: Hoare triple {127755#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [422] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_815 v_main_~c~0_2122)) (.cse1 (= v_main_~c~0_2122 v_main_~c~0_2121)) (.cse2 (= v_main_~st~0_1142 v_main_~st~0_1141))) (or (and (< v_main_~c~0_2122 v_main_~c~0_2121) (< v_main_~c~0_2121 (+ v_~SIZE~0_735 1)) (= v_main_~st~0_1141 0) .cse0) (and (= |v_main_#t~post5_1068| |v_main_#t~post5_1070|) .cse1 .cse2 (or (not (< v_main_~c~0_2122 v_~SIZE~0_735)) (not .cse0))) (and (= v_~SIZE~0_735 v_~SIZE~0_735) (= v_~last~0_815 v_~last~0_815) .cse1 .cse2 (= |v_main_#t~post5_1070| |v_main_#t~post5_1068|)))) InVars {~SIZE~0=v_~SIZE~0_735, main_~c~0=v_main_~c~0_2122, main_#t~post5=|v_main_#t~post5_1070|, main_~st~0=v_main_~st~0_1142, ~last~0=v_~last~0_815} OutVars{~SIZE~0=v_~SIZE~0_735, main_#t~post5=|v_main_#t~post5_1068|, main_~c~0=v_main_~c~0_2121, main_~st~0=v_main_~st~0_1141, ~last~0=v_~last~0_815} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {127745#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:08:21,331 INFO L290 TraceCheckUtils]: 12: Hoare triple {127759#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {127755#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:08:21,332 INFO L290 TraceCheckUtils]: 11: Hoare triple {127759#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {127759#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:21,332 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {127623#true} {127759#(< 1 ~SIZE~0)} #86#return; {127759#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:21,332 INFO L290 TraceCheckUtils]: 9: Hoare triple {127623#true} assume true; {127623#true} is VALID [2022-04-28 04:08:21,332 INFO L290 TraceCheckUtils]: 8: Hoare triple {127623#true} assume !(0 == ~cond); {127623#true} is VALID [2022-04-28 04:08:21,332 INFO L290 TraceCheckUtils]: 7: Hoare triple {127623#true} ~cond := #in~cond; {127623#true} is VALID [2022-04-28 04:08:21,332 INFO L272 TraceCheckUtils]: 6: Hoare triple {127759#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {127623#true} is VALID [2022-04-28 04:08:21,333 INFO L290 TraceCheckUtils]: 5: Hoare triple {127759#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {127759#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:21,333 INFO L272 TraceCheckUtils]: 4: Hoare triple {127759#(< 1 ~SIZE~0)} call #t~ret7 := main(); {127759#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:21,333 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {127759#(< 1 ~SIZE~0)} {127623#true} #90#return; {127759#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:21,334 INFO L290 TraceCheckUtils]: 2: Hoare triple {127759#(< 1 ~SIZE~0)} assume true; {127759#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:21,334 INFO L290 TraceCheckUtils]: 1: Hoare triple {127623#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {127759#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:21,334 INFO L272 TraceCheckUtils]: 0: Hoare triple {127623#true} call ULTIMATE.init(); {127623#true} is VALID [2022-04-28 04:08:21,334 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:08:21,334 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1733843539] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:08:21,334 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:08:21,335 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:08:22,464 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:08:22,464 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1818335379] [2022-04-28 04:08:22,464 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1818335379] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:08:22,464 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:08:22,464 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [36] imperfect sequences [] total 36 [2022-04-28 04:08:22,464 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [765630326] [2022-04-28 04:08:22,464 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:08:22,464 INFO L78 Accepts]: Start accepts. Automaton has has 36 states, 36 states have (on average 1.5277777777777777) internal successors, (55), 34 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:08:22,465 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:08:22,465 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 36 states, 36 states have (on average 1.5277777777777777) internal successors, (55), 34 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:22,515 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:08:22,516 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 36 states [2022-04-28 04:08:22,516 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:08:22,516 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2022-04-28 04:08:22,516 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=322, Invalid=1658, Unknown=0, NotChecked=0, Total=1980 [2022-04-28 04:08:22,516 INFO L87 Difference]: Start difference. First operand 232 states and 279 transitions. Second operand has 36 states, 36 states have (on average 1.5277777777777777) internal successors, (55), 34 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:25,513 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:08:25,513 INFO L93 Difference]: Finished difference Result 380 states and 460 transitions. [2022-04-28 04:08:25,513 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-28 04:08:25,513 INFO L78 Accepts]: Start accepts. Automaton has has 36 states, 36 states have (on average 1.5277777777777777) internal successors, (55), 34 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:08:25,513 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:08:25,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 36 states have (on average 1.5277777777777777) internal successors, (55), 34 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:25,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 115 transitions. [2022-04-28 04:08:25,514 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 36 states have (on average 1.5277777777777777) internal successors, (55), 34 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:25,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 115 transitions. [2022-04-28 04:08:25,515 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 115 transitions. [2022-04-28 04:08:25,567 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:08:25,570 INFO L225 Difference]: With dead ends: 380 [2022-04-28 04:08:25,570 INFO L226 Difference]: Without dead ends: 257 [2022-04-28 04:08:25,571 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 14 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 909 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=334, Invalid=1828, Unknown=0, NotChecked=0, Total=2162 [2022-04-28 04:08:25,571 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 66 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 1817 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 67 SdHoareTripleChecker+Valid, 71 SdHoareTripleChecker+Invalid, 1828 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1817 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 04:08:25,571 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [67 Valid, 71 Invalid, 1828 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1817 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 04:08:25,571 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 257 states. [2022-04-28 04:08:26,433 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 257 to 232. [2022-04-28 04:08:26,434 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:08:26,434 INFO L82 GeneralOperation]: Start isEquivalent. First operand 257 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:26,434 INFO L74 IsIncluded]: Start isIncluded. First operand 257 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:26,434 INFO L87 Difference]: Start difference. First operand 257 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:26,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:08:26,437 INFO L93 Difference]: Finished difference Result 257 states and 306 transitions. [2022-04-28 04:08:26,437 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 306 transitions. [2022-04-28 04:08:26,437 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:08:26,437 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:08:26,438 INFO L74 IsIncluded]: Start isIncluded. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 257 states. [2022-04-28 04:08:26,438 INFO L87 Difference]: Start difference. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 257 states. [2022-04-28 04:08:26,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:08:26,440 INFO L93 Difference]: Finished difference Result 257 states and 306 transitions. [2022-04-28 04:08:26,440 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 306 transitions. [2022-04-28 04:08:26,441 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:08:26,441 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:08:26,441 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:08:26,441 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:08:26,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:26,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-28 04:08:26,444 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-28 04:08:26,444 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:08:26,444 INFO L495 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-28 04:08:26,444 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 36 states, 36 states have (on average 1.5277777777777777) internal successors, (55), 34 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:26,444 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-28 04:08:28,192 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 279 edges. 279 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:08:28,192 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-28 04:08:28,192 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 04:08:28,192 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:08:28,192 INFO L195 NwaCegarLoop]: trace histogram [13, 13, 11, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:08:28,212 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (81)] Ended with exit code 0 [2022-04-28 04:08:28,413 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 81 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable87 [2022-04-28 04:08:28,413 INFO L420 AbstractCegarLoop]: === Iteration 89 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:08:28,413 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:08:28,413 INFO L85 PathProgramCache]: Analyzing trace with hash -860660833, now seen corresponding path program 77 times [2022-04-28 04:08:28,413 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:08:28,413 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1153784206] [2022-04-28 04:08:28,605 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:08:32,710 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-28 04:08:32,841 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:08:32,842 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:08:32,845 INFO L85 PathProgramCache]: Analyzing trace with hash -1016330175, now seen corresponding path program 1 times [2022-04-28 04:08:32,845 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:08:32,845 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1211631456] [2022-04-28 04:08:32,845 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:08:32,845 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:08:32,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:33,001 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:08:33,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:33,009 INFO L290 TraceCheckUtils]: 0: Hoare triple {129585#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,010 INFO L290 TraceCheckUtils]: 1: Hoare triple {129572#(<= 20 ~SIZE~0)} assume true; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,010 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {129572#(<= 20 ~SIZE~0)} {129567#true} #90#return; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,010 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:08:33,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:33,012 INFO L290 TraceCheckUtils]: 0: Hoare triple {129567#true} ~cond := #in~cond; {129567#true} is VALID [2022-04-28 04:08:33,012 INFO L290 TraceCheckUtils]: 1: Hoare triple {129567#true} assume !(0 == ~cond); {129567#true} is VALID [2022-04-28 04:08:33,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {129567#true} assume true; {129567#true} is VALID [2022-04-28 04:08:33,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129567#true} {129572#(<= 20 ~SIZE~0)} #86#return; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,013 INFO L272 TraceCheckUtils]: 0: Hoare triple {129567#true} call ULTIMATE.init(); {129585#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:08:33,014 INFO L290 TraceCheckUtils]: 1: Hoare triple {129585#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,014 INFO L290 TraceCheckUtils]: 2: Hoare triple {129572#(<= 20 ~SIZE~0)} assume true; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,014 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129572#(<= 20 ~SIZE~0)} {129567#true} #90#return; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,015 INFO L272 TraceCheckUtils]: 4: Hoare triple {129572#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,015 INFO L290 TraceCheckUtils]: 5: Hoare triple {129572#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,015 INFO L272 TraceCheckUtils]: 6: Hoare triple {129572#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {129567#true} is VALID [2022-04-28 04:08:33,015 INFO L290 TraceCheckUtils]: 7: Hoare triple {129567#true} ~cond := #in~cond; {129567#true} is VALID [2022-04-28 04:08:33,015 INFO L290 TraceCheckUtils]: 8: Hoare triple {129567#true} assume !(0 == ~cond); {129567#true} is VALID [2022-04-28 04:08:33,015 INFO L290 TraceCheckUtils]: 9: Hoare triple {129567#true} assume true; {129567#true} is VALID [2022-04-28 04:08:33,015 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {129567#true} {129572#(<= 20 ~SIZE~0)} #86#return; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,016 INFO L290 TraceCheckUtils]: 11: Hoare triple {129572#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {129577#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:08:33,016 INFO L290 TraceCheckUtils]: 12: Hoare triple {129577#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {129578#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:08:33,017 INFO L290 TraceCheckUtils]: 13: Hoare triple {129578#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [426] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_825 v_main_~c~0_2152)) (.cse1 (= v_main_~st~0_1154 v_main_~st~0_1153)) (.cse2 (= |v_main_#t~post5_1083| |v_main_#t~post5_1081|)) (.cse3 (= v_main_~c~0_2152 v_main_~c~0_2151))) (or (and (< v_main_~c~0_2152 v_main_~c~0_2151) (< v_main_~c~0_2151 (+ v_~SIZE~0_744 1)) .cse0 (= v_main_~st~0_1153 0)) (and (= v_~last~0_825 v_~last~0_825) .cse1 .cse2 .cse3 (= v_~SIZE~0_744 v_~SIZE~0_744)) (and (or (not (< v_main_~c~0_2152 v_~SIZE~0_744)) (not .cse0)) .cse1 .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_744, main_~c~0=v_main_~c~0_2152, main_#t~post5=|v_main_#t~post5_1083|, main_~st~0=v_main_~st~0_1154, ~last~0=v_~last~0_825} OutVars{~SIZE~0=v_~SIZE~0_744, main_#t~post5=|v_main_#t~post5_1081|, main_~c~0=v_main_~c~0_2151, main_~st~0=v_main_~st~0_1153, ~last~0=v_~last~0_825} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {129579#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:08:33,017 INFO L290 TraceCheckUtils]: 14: Hoare triple {129579#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [427] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {129579#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:08:33,018 INFO L290 TraceCheckUtils]: 15: Hoare triple {129579#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [428] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_2154 v_main_~c~0_2153)) (.cse1 (= |v_main_#t~post5_1086| |v_main_#t~post5_1082|))) (or (and .cse0 (or (not (< v_main_~c~0_2154 v_~SIZE~0_745)) (not (< v_main_~c~0_2154 v_~last~0_826))) .cse1) (and .cse0 (= v_~last~0_826 v_~last~0_826) (= v_~SIZE~0_745 v_~SIZE~0_745) .cse1) (and (< v_main_~c~0_2153 (+ v_~SIZE~0_745 1)) (< v_main_~c~0_2154 v_main_~c~0_2153) (< v_main_~c~0_2153 (+ v_~last~0_826 1))))) InVars {~SIZE~0=v_~SIZE~0_745, main_~c~0=v_main_~c~0_2154, main_#t~post5=|v_main_#t~post5_1086|, ~last~0=v_~last~0_826} OutVars{~SIZE~0=v_~SIZE~0_745, main_#t~post5=|v_main_#t~post5_1082|, main_~c~0=v_main_~c~0_2153, ~last~0=v_~last~0_826} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {129579#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:08:33,019 INFO L290 TraceCheckUtils]: 16: Hoare triple {129579#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [425] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {129580#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:08:33,019 INFO L290 TraceCheckUtils]: 17: Hoare triple {129580#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {129581#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:08:33,020 INFO L290 TraceCheckUtils]: 18: Hoare triple {129581#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {129581#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:08:33,020 INFO L290 TraceCheckUtils]: 19: Hoare triple {129581#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {129582#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:08:33,021 INFO L290 TraceCheckUtils]: 20: Hoare triple {129582#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {129582#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:08:33,021 INFO L272 TraceCheckUtils]: 21: Hoare triple {129582#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {129583#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:08:33,022 INFO L290 TraceCheckUtils]: 22: Hoare triple {129583#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {129584#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:08:33,022 INFO L290 TraceCheckUtils]: 23: Hoare triple {129584#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {129568#false} is VALID [2022-04-28 04:08:33,022 INFO L290 TraceCheckUtils]: 24: Hoare triple {129568#false} assume !false; {129568#false} is VALID [2022-04-28 04:08:33,022 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:08:33,022 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:08:33,023 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1211631456] [2022-04-28 04:08:33,023 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1211631456] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:08:33,023 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [349263739] [2022-04-28 04:08:33,023 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:08:33,023 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:08:33,023 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:08:33,026 INFO L229 MonitoredProcess]: Starting monitored process 82 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:08:33,027 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (82)] Waiting until timeout for monitored process [2022-04-28 04:08:33,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:33,057 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:08:33,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:33,064 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:08:33,321 INFO L272 TraceCheckUtils]: 0: Hoare triple {129567#true} call ULTIMATE.init(); {129567#true} is VALID [2022-04-28 04:08:33,321 INFO L290 TraceCheckUtils]: 1: Hoare triple {129567#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,321 INFO L290 TraceCheckUtils]: 2: Hoare triple {129572#(<= 20 ~SIZE~0)} assume true; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,322 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129572#(<= 20 ~SIZE~0)} {129567#true} #90#return; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,322 INFO L272 TraceCheckUtils]: 4: Hoare triple {129572#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,322 INFO L290 TraceCheckUtils]: 5: Hoare triple {129572#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,323 INFO L272 TraceCheckUtils]: 6: Hoare triple {129572#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,323 INFO L290 TraceCheckUtils]: 7: Hoare triple {129572#(<= 20 ~SIZE~0)} ~cond := #in~cond; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,323 INFO L290 TraceCheckUtils]: 8: Hoare triple {129572#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,324 INFO L290 TraceCheckUtils]: 9: Hoare triple {129572#(<= 20 ~SIZE~0)} assume true; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,324 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {129572#(<= 20 ~SIZE~0)} {129572#(<= 20 ~SIZE~0)} #86#return; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,324 INFO L290 TraceCheckUtils]: 11: Hoare triple {129572#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:33,325 INFO L290 TraceCheckUtils]: 12: Hoare triple {129572#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {129625#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:08:33,325 INFO L290 TraceCheckUtils]: 13: Hoare triple {129625#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [426] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_825 v_main_~c~0_2152)) (.cse1 (= v_main_~st~0_1154 v_main_~st~0_1153)) (.cse2 (= |v_main_#t~post5_1083| |v_main_#t~post5_1081|)) (.cse3 (= v_main_~c~0_2152 v_main_~c~0_2151))) (or (and (< v_main_~c~0_2152 v_main_~c~0_2151) (< v_main_~c~0_2151 (+ v_~SIZE~0_744 1)) .cse0 (= v_main_~st~0_1153 0)) (and (= v_~last~0_825 v_~last~0_825) .cse1 .cse2 .cse3 (= v_~SIZE~0_744 v_~SIZE~0_744)) (and (or (not (< v_main_~c~0_2152 v_~SIZE~0_744)) (not .cse0)) .cse1 .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_744, main_~c~0=v_main_~c~0_2152, main_#t~post5=|v_main_#t~post5_1083|, main_~st~0=v_main_~st~0_1154, ~last~0=v_~last~0_825} OutVars{~SIZE~0=v_~SIZE~0_744, main_#t~post5=|v_main_#t~post5_1081|, main_~c~0=v_main_~c~0_2151, main_~st~0=v_main_~st~0_1153, ~last~0=v_~last~0_825} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {129629#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:08:33,326 INFO L290 TraceCheckUtils]: 14: Hoare triple {129629#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [427] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {129629#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:08:33,327 INFO L290 TraceCheckUtils]: 15: Hoare triple {129629#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [428] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_2154 v_main_~c~0_2153)) (.cse1 (= |v_main_#t~post5_1086| |v_main_#t~post5_1082|))) (or (and .cse0 (or (not (< v_main_~c~0_2154 v_~SIZE~0_745)) (not (< v_main_~c~0_2154 v_~last~0_826))) .cse1) (and .cse0 (= v_~last~0_826 v_~last~0_826) (= v_~SIZE~0_745 v_~SIZE~0_745) .cse1) (and (< v_main_~c~0_2153 (+ v_~SIZE~0_745 1)) (< v_main_~c~0_2154 v_main_~c~0_2153) (< v_main_~c~0_2153 (+ v_~last~0_826 1))))) InVars {~SIZE~0=v_~SIZE~0_745, main_~c~0=v_main_~c~0_2154, main_#t~post5=|v_main_#t~post5_1086|, ~last~0=v_~last~0_826} OutVars{~SIZE~0=v_~SIZE~0_745, main_#t~post5=|v_main_#t~post5_1082|, main_~c~0=v_main_~c~0_2153, ~last~0=v_~last~0_826} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {129629#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:08:33,327 INFO L290 TraceCheckUtils]: 16: Hoare triple {129629#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [425] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {129639#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:08:33,328 INFO L290 TraceCheckUtils]: 17: Hoare triple {129639#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {129568#false} is VALID [2022-04-28 04:08:33,328 INFO L290 TraceCheckUtils]: 18: Hoare triple {129568#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {129568#false} is VALID [2022-04-28 04:08:33,328 INFO L290 TraceCheckUtils]: 19: Hoare triple {129568#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {129568#false} is VALID [2022-04-28 04:08:33,328 INFO L290 TraceCheckUtils]: 20: Hoare triple {129568#false} assume !(~d~0 == ~SIZE~0); {129568#false} is VALID [2022-04-28 04:08:33,328 INFO L272 TraceCheckUtils]: 21: Hoare triple {129568#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {129568#false} is VALID [2022-04-28 04:08:33,328 INFO L290 TraceCheckUtils]: 22: Hoare triple {129568#false} ~cond := #in~cond; {129568#false} is VALID [2022-04-28 04:08:33,328 INFO L290 TraceCheckUtils]: 23: Hoare triple {129568#false} assume 0 == ~cond; {129568#false} is VALID [2022-04-28 04:08:33,328 INFO L290 TraceCheckUtils]: 24: Hoare triple {129568#false} assume !false; {129568#false} is VALID [2022-04-28 04:08:33,328 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:08:33,328 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:08:33,623 INFO L290 TraceCheckUtils]: 24: Hoare triple {129568#false} assume !false; {129568#false} is VALID [2022-04-28 04:08:33,623 INFO L290 TraceCheckUtils]: 23: Hoare triple {129568#false} assume 0 == ~cond; {129568#false} is VALID [2022-04-28 04:08:33,623 INFO L290 TraceCheckUtils]: 22: Hoare triple {129568#false} ~cond := #in~cond; {129568#false} is VALID [2022-04-28 04:08:33,623 INFO L272 TraceCheckUtils]: 21: Hoare triple {129568#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {129568#false} is VALID [2022-04-28 04:08:33,623 INFO L290 TraceCheckUtils]: 20: Hoare triple {129568#false} assume !(~d~0 == ~SIZE~0); {129568#false} is VALID [2022-04-28 04:08:33,624 INFO L290 TraceCheckUtils]: 19: Hoare triple {129568#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {129568#false} is VALID [2022-04-28 04:08:33,624 INFO L290 TraceCheckUtils]: 18: Hoare triple {129568#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {129568#false} is VALID [2022-04-28 04:08:33,625 INFO L290 TraceCheckUtils]: 17: Hoare triple {129685#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {129568#false} is VALID [2022-04-28 04:08:33,625 INFO L290 TraceCheckUtils]: 16: Hoare triple {129689#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [425] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {129685#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:08:33,626 INFO L290 TraceCheckUtils]: 15: Hoare triple {129689#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [428] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_2154 v_main_~c~0_2153)) (.cse1 (= |v_main_#t~post5_1086| |v_main_#t~post5_1082|))) (or (and .cse0 (or (not (< v_main_~c~0_2154 v_~SIZE~0_745)) (not (< v_main_~c~0_2154 v_~last~0_826))) .cse1) (and .cse0 (= v_~last~0_826 v_~last~0_826) (= v_~SIZE~0_745 v_~SIZE~0_745) .cse1) (and (< v_main_~c~0_2153 (+ v_~SIZE~0_745 1)) (< v_main_~c~0_2154 v_main_~c~0_2153) (< v_main_~c~0_2153 (+ v_~last~0_826 1))))) InVars {~SIZE~0=v_~SIZE~0_745, main_~c~0=v_main_~c~0_2154, main_#t~post5=|v_main_#t~post5_1086|, ~last~0=v_~last~0_826} OutVars{~SIZE~0=v_~SIZE~0_745, main_#t~post5=|v_main_#t~post5_1082|, main_~c~0=v_main_~c~0_2153, ~last~0=v_~last~0_826} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {129689#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:08:33,626 INFO L290 TraceCheckUtils]: 14: Hoare triple {129689#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [427] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {129689#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:08:33,627 INFO L290 TraceCheckUtils]: 13: Hoare triple {129699#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [426] L25-3-->L25-4_primed: Formula: (let ((.cse0 (<= v_~last~0_825 v_main_~c~0_2152)) (.cse1 (= v_main_~st~0_1154 v_main_~st~0_1153)) (.cse2 (= |v_main_#t~post5_1083| |v_main_#t~post5_1081|)) (.cse3 (= v_main_~c~0_2152 v_main_~c~0_2151))) (or (and (< v_main_~c~0_2152 v_main_~c~0_2151) (< v_main_~c~0_2151 (+ v_~SIZE~0_744 1)) .cse0 (= v_main_~st~0_1153 0)) (and (= v_~last~0_825 v_~last~0_825) .cse1 .cse2 .cse3 (= v_~SIZE~0_744 v_~SIZE~0_744)) (and (or (not (< v_main_~c~0_2152 v_~SIZE~0_744)) (not .cse0)) .cse1 .cse2 .cse3))) InVars {~SIZE~0=v_~SIZE~0_744, main_~c~0=v_main_~c~0_2152, main_#t~post5=|v_main_#t~post5_1083|, main_~st~0=v_main_~st~0_1154, ~last~0=v_~last~0_825} OutVars{~SIZE~0=v_~SIZE~0_744, main_#t~post5=|v_main_#t~post5_1081|, main_~c~0=v_main_~c~0_2151, main_~st~0=v_main_~st~0_1153, ~last~0=v_~last~0_825} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {129689#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:08:33,628 INFO L290 TraceCheckUtils]: 12: Hoare triple {129703#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {129699#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:08:33,628 INFO L290 TraceCheckUtils]: 11: Hoare triple {129703#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {129703#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:33,628 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {129567#true} {129703#(< 1 ~SIZE~0)} #86#return; {129703#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:33,628 INFO L290 TraceCheckUtils]: 9: Hoare triple {129567#true} assume true; {129567#true} is VALID [2022-04-28 04:08:33,629 INFO L290 TraceCheckUtils]: 8: Hoare triple {129567#true} assume !(0 == ~cond); {129567#true} is VALID [2022-04-28 04:08:33,629 INFO L290 TraceCheckUtils]: 7: Hoare triple {129567#true} ~cond := #in~cond; {129567#true} is VALID [2022-04-28 04:08:33,629 INFO L272 TraceCheckUtils]: 6: Hoare triple {129703#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {129567#true} is VALID [2022-04-28 04:08:33,629 INFO L290 TraceCheckUtils]: 5: Hoare triple {129703#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {129703#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:33,629 INFO L272 TraceCheckUtils]: 4: Hoare triple {129703#(< 1 ~SIZE~0)} call #t~ret7 := main(); {129703#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:33,629 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129703#(< 1 ~SIZE~0)} {129567#true} #90#return; {129703#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:33,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {129703#(< 1 ~SIZE~0)} assume true; {129703#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:33,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {129567#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {129703#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:33,630 INFO L272 TraceCheckUtils]: 0: Hoare triple {129567#true} call ULTIMATE.init(); {129567#true} is VALID [2022-04-28 04:08:33,630 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:08:33,630 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [349263739] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:08:33,630 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:08:33,630 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:08:34,559 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:08:34,559 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1153784206] [2022-04-28 04:08:34,559 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1153784206] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:08:34,559 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:08:34,559 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [37] imperfect sequences [] total 37 [2022-04-28 04:08:34,559 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [197630804] [2022-04-28 04:08:34,559 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:08:34,559 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 37 states have (on average 1.4864864864864864) internal successors, (55), 35 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:08:34,560 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:08:34,560 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 37 states, 37 states have (on average 1.4864864864864864) internal successors, (55), 35 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:34,589 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:08:34,589 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 37 states [2022-04-28 04:08:34,589 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:08:34,589 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2022-04-28 04:08:34,590 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=336, Invalid=1734, Unknown=0, NotChecked=0, Total=2070 [2022-04-28 04:08:34,590 INFO L87 Difference]: Start difference. First operand 232 states and 279 transitions. Second operand has 37 states, 37 states have (on average 1.4864864864864864) internal successors, (55), 35 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:38,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:08:38,561 INFO L93 Difference]: Finished difference Result 378 states and 458 transitions. [2022-04-28 04:08:38,561 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2022-04-28 04:08:38,561 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 37 states have (on average 1.4864864864864864) internal successors, (55), 35 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:08:38,562 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:08:38,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 37 states have (on average 1.4864864864864864) internal successors, (55), 35 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:38,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 116 transitions. [2022-04-28 04:08:38,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 37 states have (on average 1.4864864864864864) internal successors, (55), 35 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:38,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 116 transitions. [2022-04-28 04:08:38,563 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 116 transitions. [2022-04-28 04:08:38,616 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:08:38,619 INFO L225 Difference]: With dead ends: 378 [2022-04-28 04:08:38,619 INFO L226 Difference]: Without dead ends: 255 [2022-04-28 04:08:38,620 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 13 SemanticMatches, 46 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 893 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=348, Invalid=1908, Unknown=0, NotChecked=0, Total=2256 [2022-04-28 04:08:38,620 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 52 mSDsluCounter, 78 mSDsCounter, 0 mSdLazyCounter, 2237 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 98 SdHoareTripleChecker+Invalid, 2247 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 2237 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-28 04:08:38,620 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [53 Valid, 98 Invalid, 2247 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 2237 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-28 04:08:38,620 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 255 states. [2022-04-28 04:08:39,323 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 255 to 232. [2022-04-28 04:08:39,323 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:08:39,324 INFO L82 GeneralOperation]: Start isEquivalent. First operand 255 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:39,324 INFO L74 IsIncluded]: Start isIncluded. First operand 255 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:39,324 INFO L87 Difference]: Start difference. First operand 255 states. Second operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:39,327 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:08:39,327 INFO L93 Difference]: Finished difference Result 255 states and 304 transitions. [2022-04-28 04:08:39,327 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 304 transitions. [2022-04-28 04:08:39,327 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:08:39,327 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:08:39,327 INFO L74 IsIncluded]: Start isIncluded. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 255 states. [2022-04-28 04:08:39,328 INFO L87 Difference]: Start difference. First operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 255 states. [2022-04-28 04:08:39,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:08:39,330 INFO L93 Difference]: Finished difference Result 255 states and 304 transitions. [2022-04-28 04:08:39,330 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 304 transitions. [2022-04-28 04:08:39,330 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:08:39,330 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:08:39,330 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:08:39,330 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:08:39,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 232 states, 217 states have (on average 1.207373271889401) internal successors, (262), 220 states have internal predecessors, (262), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:39,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-28 04:08:39,334 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-28 04:08:39,334 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:08:39,334 INFO L495 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-28 04:08:39,334 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 37 states, 37 states have (on average 1.4864864864864864) internal successors, (55), 35 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:39,334 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-28 04:08:41,159 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 279 edges. 279 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:08:41,159 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-28 04:08:41,160 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 04:08:41,160 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:08:41,160 INFO L195 NwaCegarLoop]: trace histogram [13, 13, 12, 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:08:41,179 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (82)] Forceful destruction successful, exit code 0 [2022-04-28 04:08:41,377 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 82 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable88 [2022-04-28 04:08:41,378 INFO L420 AbstractCegarLoop]: === Iteration 90 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:08:41,378 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:08:41,378 INFO L85 PathProgramCache]: Analyzing trace with hash -1871778083, now seen corresponding path program 78 times [2022-04-28 04:08:41,378 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:08:41,378 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2022636795] [2022-04-28 04:08:41,567 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 2 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=1}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:08:41,784 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 1 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 04:08:41,785 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 04:08:41,787 INFO L85 PathProgramCache]: Analyzing trace with hash 1476192577, now seen corresponding path program 1 times [2022-04-28 04:08:41,787 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:08:41,787 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1287627879] [2022-04-28 04:08:41,788 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:08:41,788 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:08:41,793 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:41,953 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:08:41,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:41,958 INFO L290 TraceCheckUtils]: 0: Hoare triple {131522#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:41,958 INFO L290 TraceCheckUtils]: 1: Hoare triple {131509#(<= 20 ~SIZE~0)} assume true; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:41,958 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {131509#(<= 20 ~SIZE~0)} {131504#true} #90#return; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:41,959 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:08:41,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:41,960 INFO L290 TraceCheckUtils]: 0: Hoare triple {131504#true} ~cond := #in~cond; {131504#true} is VALID [2022-04-28 04:08:41,960 INFO L290 TraceCheckUtils]: 1: Hoare triple {131504#true} assume !(0 == ~cond); {131504#true} is VALID [2022-04-28 04:08:41,960 INFO L290 TraceCheckUtils]: 2: Hoare triple {131504#true} assume true; {131504#true} is VALID [2022-04-28 04:08:41,961 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {131504#true} {131509#(<= 20 ~SIZE~0)} #86#return; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:41,961 INFO L272 TraceCheckUtils]: 0: Hoare triple {131504#true} call ULTIMATE.init(); {131522#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:08:41,962 INFO L290 TraceCheckUtils]: 1: Hoare triple {131522#(and (= ~last~0 |old(~last~0)|) (= |old(~SIZE~0)| ~SIZE~0) (= |#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:41,962 INFO L290 TraceCheckUtils]: 2: Hoare triple {131509#(<= 20 ~SIZE~0)} assume true; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:41,962 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {131509#(<= 20 ~SIZE~0)} {131504#true} #90#return; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:41,963 INFO L272 TraceCheckUtils]: 4: Hoare triple {131509#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:41,963 INFO L290 TraceCheckUtils]: 5: Hoare triple {131509#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:41,963 INFO L272 TraceCheckUtils]: 6: Hoare triple {131509#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {131504#true} is VALID [2022-04-28 04:08:41,963 INFO L290 TraceCheckUtils]: 7: Hoare triple {131504#true} ~cond := #in~cond; {131504#true} is VALID [2022-04-28 04:08:41,963 INFO L290 TraceCheckUtils]: 8: Hoare triple {131504#true} assume !(0 == ~cond); {131504#true} is VALID [2022-04-28 04:08:41,963 INFO L290 TraceCheckUtils]: 9: Hoare triple {131504#true} assume true; {131504#true} is VALID [2022-04-28 04:08:41,964 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {131504#true} {131509#(<= 20 ~SIZE~0)} #86#return; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:41,964 INFO L290 TraceCheckUtils]: 11: Hoare triple {131509#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {131514#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} is VALID [2022-04-28 04:08:41,964 INFO L290 TraceCheckUtils]: 12: Hoare triple {131514#(and (= main_~a~0 0) (= main_~b~0 0) (<= 20 ~SIZE~0))} assume !false;~st~0 := 1;~c~0 := 0; {131515#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-28 04:08:41,965 INFO L290 TraceCheckUtils]: 13: Hoare triple {131515#(and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= 20 ~SIZE~0) (= main_~c~0 0))} [430] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_2182 v_main_~c~0_2181)) (.cse2 (= v_main_~st~0_1165 v_main_~st~0_1164)) (.cse3 (= |v_main_#t~post5_1096| |v_main_#t~post5_1094|)) (.cse1 (<= v_~last~0_835 v_main_~c~0_2182))) (or (and .cse0 (or (not (< v_main_~c~0_2182 v_~SIZE~0_753)) (not .cse1)) .cse2 .cse3) (and .cse0 (= v_~last~0_835 v_~last~0_835) (= v_~SIZE~0_753 v_~SIZE~0_753) .cse2 .cse3) (and .cse1 (= v_main_~st~0_1164 0) (< v_main_~c~0_2182 v_main_~c~0_2181) (< v_main_~c~0_2181 (+ v_~SIZE~0_753 1))))) InVars {~SIZE~0=v_~SIZE~0_753, main_~c~0=v_main_~c~0_2182, main_#t~post5=|v_main_#t~post5_1096|, main_~st~0=v_main_~st~0_1165, ~last~0=v_~last~0_835} OutVars{~SIZE~0=v_~SIZE~0_753, main_#t~post5=|v_main_#t~post5_1094|, main_~c~0=v_main_~c~0_2181, main_~st~0=v_main_~st~0_1164, ~last~0=v_~last~0_835} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {131516#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:08:41,966 INFO L290 TraceCheckUtils]: 14: Hoare triple {131516#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [431] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {131516#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:08:41,966 INFO L290 TraceCheckUtils]: 15: Hoare triple {131516#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [432] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_1099| |v_main_#t~post5_1095|)) (.cse1 (= v_main_~c~0_2184 v_main_~c~0_2183))) (or (and (< v_main_~c~0_2184 v_main_~c~0_2183) (< v_main_~c~0_2183 (+ v_~SIZE~0_754 1)) (< v_main_~c~0_2183 (+ v_~last~0_836 1))) (and (or (not (< v_main_~c~0_2184 v_~last~0_836)) (not (< v_main_~c~0_2184 v_~SIZE~0_754))) .cse0 .cse1) (and (= v_~SIZE~0_754 v_~SIZE~0_754) (= v_~last~0_836 v_~last~0_836) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_754, main_~c~0=v_main_~c~0_2184, main_#t~post5=|v_main_#t~post5_1099|, ~last~0=v_~last~0_836} OutVars{~SIZE~0=v_~SIZE~0_754, main_#t~post5=|v_main_#t~post5_1095|, main_~c~0=v_main_~c~0_2183, ~last~0=v_~last~0_836} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {131516#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} is VALID [2022-04-28 04:08:41,967 INFO L290 TraceCheckUtils]: 16: Hoare triple {131516#(or (<= (+ ~last~0 20) ~SIZE~0) (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0)))} [429] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {131517#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} is VALID [2022-04-28 04:08:41,968 INFO L290 TraceCheckUtils]: 17: Hoare triple {131517#(or (and (= main_~a~0 0) (= main_~st~0 1) (= main_~b~0 0) (<= ~SIZE~0 main_~c~0)) (<= (+ ~last~0 20) main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {131518#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:08:41,968 INFO L290 TraceCheckUtils]: 18: Hoare triple {131518#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~c~0 == ~last~0 && 0 == ~st~0); {131518#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:08:41,969 INFO L290 TraceCheckUtils]: 19: Hoare triple {131518#(and (or (not (<= (+ ~SIZE~0 1) main_~c~0)) (<= main_~c~0 (+ ~last~0 1))) (= main_~st~0 1) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {131519#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:08:41,969 INFO L290 TraceCheckUtils]: 20: Hoare triple {131519#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} assume !(~d~0 == ~SIZE~0); {131519#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} is VALID [2022-04-28 04:08:41,970 INFO L272 TraceCheckUtils]: 21: Hoare triple {131519#(and (< main_~c~0 (+ ~SIZE~0 1)) (<= ~SIZE~0 main_~c~0) (<= main_~b~0 main_~a~0) (< main_~a~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {131520#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:08:41,970 INFO L290 TraceCheckUtils]: 22: Hoare triple {131520#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {131521#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:08:41,970 INFO L290 TraceCheckUtils]: 23: Hoare triple {131521#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {131505#false} is VALID [2022-04-28 04:08:41,970 INFO L290 TraceCheckUtils]: 24: Hoare triple {131505#false} assume !false; {131505#false} is VALID [2022-04-28 04:08:41,970 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:08:41,971 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:08:41,971 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1287627879] [2022-04-28 04:08:41,971 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1287627879] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:08:41,971 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1350959547] [2022-04-28 04:08:41,971 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:08:41,971 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:08:41,971 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:08:41,972 INFO L229 MonitoredProcess]: Starting monitored process 83 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:08:41,973 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (83)] Waiting until timeout for monitored process [2022-04-28 04:08:42,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:42,001 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 04:08:42,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:08:42,008 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:08:42,205 INFO L272 TraceCheckUtils]: 0: Hoare triple {131504#true} call ULTIMATE.init(); {131504#true} is VALID [2022-04-28 04:08:42,206 INFO L290 TraceCheckUtils]: 1: Hoare triple {131504#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:42,206 INFO L290 TraceCheckUtils]: 2: Hoare triple {131509#(<= 20 ~SIZE~0)} assume true; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:42,207 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {131509#(<= 20 ~SIZE~0)} {131504#true} #90#return; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:42,207 INFO L272 TraceCheckUtils]: 4: Hoare triple {131509#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:42,207 INFO L290 TraceCheckUtils]: 5: Hoare triple {131509#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:42,208 INFO L272 TraceCheckUtils]: 6: Hoare triple {131509#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:42,208 INFO L290 TraceCheckUtils]: 7: Hoare triple {131509#(<= 20 ~SIZE~0)} ~cond := #in~cond; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:42,208 INFO L290 TraceCheckUtils]: 8: Hoare triple {131509#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:42,208 INFO L290 TraceCheckUtils]: 9: Hoare triple {131509#(<= 20 ~SIZE~0)} assume true; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:42,209 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {131509#(<= 20 ~SIZE~0)} {131509#(<= 20 ~SIZE~0)} #86#return; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:42,209 INFO L290 TraceCheckUtils]: 11: Hoare triple {131509#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-28 04:08:42,209 INFO L290 TraceCheckUtils]: 12: Hoare triple {131509#(<= 20 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {131562#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-28 04:08:42,210 INFO L290 TraceCheckUtils]: 13: Hoare triple {131562#(and (= main_~st~0 1) (<= 20 ~SIZE~0) (<= main_~c~0 0))} [430] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_2182 v_main_~c~0_2181)) (.cse2 (= v_main_~st~0_1165 v_main_~st~0_1164)) (.cse3 (= |v_main_#t~post5_1096| |v_main_#t~post5_1094|)) (.cse1 (<= v_~last~0_835 v_main_~c~0_2182))) (or (and .cse0 (or (not (< v_main_~c~0_2182 v_~SIZE~0_753)) (not .cse1)) .cse2 .cse3) (and .cse0 (= v_~last~0_835 v_~last~0_835) (= v_~SIZE~0_753 v_~SIZE~0_753) .cse2 .cse3) (and .cse1 (= v_main_~st~0_1164 0) (< v_main_~c~0_2182 v_main_~c~0_2181) (< v_main_~c~0_2181 (+ v_~SIZE~0_753 1))))) InVars {~SIZE~0=v_~SIZE~0_753, main_~c~0=v_main_~c~0_2182, main_#t~post5=|v_main_#t~post5_1096|, main_~st~0=v_main_~st~0_1165, ~last~0=v_~last~0_835} OutVars{~SIZE~0=v_~SIZE~0_753, main_#t~post5=|v_main_#t~post5_1094|, main_~c~0=v_main_~c~0_2181, main_~st~0=v_main_~st~0_1164, ~last~0=v_~last~0_835} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {131566#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:08:42,211 INFO L290 TraceCheckUtils]: 14: Hoare triple {131566#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [431] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {131566#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:08:42,211 INFO L290 TraceCheckUtils]: 15: Hoare triple {131566#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [432] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_1099| |v_main_#t~post5_1095|)) (.cse1 (= v_main_~c~0_2184 v_main_~c~0_2183))) (or (and (< v_main_~c~0_2184 v_main_~c~0_2183) (< v_main_~c~0_2183 (+ v_~SIZE~0_754 1)) (< v_main_~c~0_2183 (+ v_~last~0_836 1))) (and (or (not (< v_main_~c~0_2184 v_~last~0_836)) (not (< v_main_~c~0_2184 v_~SIZE~0_754))) .cse0 .cse1) (and (= v_~SIZE~0_754 v_~SIZE~0_754) (= v_~last~0_836 v_~last~0_836) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_754, main_~c~0=v_main_~c~0_2184, main_#t~post5=|v_main_#t~post5_1099|, ~last~0=v_~last~0_836} OutVars{~SIZE~0=v_~SIZE~0_754, main_#t~post5=|v_main_#t~post5_1095|, main_~c~0=v_main_~c~0_2183, ~last~0=v_~last~0_836} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {131566#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} is VALID [2022-04-28 04:08:42,212 INFO L290 TraceCheckUtils]: 16: Hoare triple {131566#(and (<= 20 ~SIZE~0) (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)))} [429] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {131576#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} is VALID [2022-04-28 04:08:42,212 INFO L290 TraceCheckUtils]: 17: Hoare triple {131576#(and (or (and (<= ~last~0 0) (= main_~st~0 0)) (= main_~st~0 1)) (<= 20 main_~c~0))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {131505#false} is VALID [2022-04-28 04:08:42,212 INFO L290 TraceCheckUtils]: 18: Hoare triple {131505#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {131505#false} is VALID [2022-04-28 04:08:42,213 INFO L290 TraceCheckUtils]: 19: Hoare triple {131505#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {131505#false} is VALID [2022-04-28 04:08:42,213 INFO L290 TraceCheckUtils]: 20: Hoare triple {131505#false} assume !(~d~0 == ~SIZE~0); {131505#false} is VALID [2022-04-28 04:08:42,213 INFO L272 TraceCheckUtils]: 21: Hoare triple {131505#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {131505#false} is VALID [2022-04-28 04:08:42,213 INFO L290 TraceCheckUtils]: 22: Hoare triple {131505#false} ~cond := #in~cond; {131505#false} is VALID [2022-04-28 04:08:42,213 INFO L290 TraceCheckUtils]: 23: Hoare triple {131505#false} assume 0 == ~cond; {131505#false} is VALID [2022-04-28 04:08:42,213 INFO L290 TraceCheckUtils]: 24: Hoare triple {131505#false} assume !false; {131505#false} is VALID [2022-04-28 04:08:42,213 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:08:42,213 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:08:42,576 INFO L290 TraceCheckUtils]: 24: Hoare triple {131505#false} assume !false; {131505#false} is VALID [2022-04-28 04:08:42,577 INFO L290 TraceCheckUtils]: 23: Hoare triple {131505#false} assume 0 == ~cond; {131505#false} is VALID [2022-04-28 04:08:42,577 INFO L290 TraceCheckUtils]: 22: Hoare triple {131505#false} ~cond := #in~cond; {131505#false} is VALID [2022-04-28 04:08:42,577 INFO L272 TraceCheckUtils]: 21: Hoare triple {131505#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {131505#false} is VALID [2022-04-28 04:08:42,577 INFO L290 TraceCheckUtils]: 20: Hoare triple {131505#false} assume !(~d~0 == ~SIZE~0); {131505#false} is VALID [2022-04-28 04:08:42,577 INFO L290 TraceCheckUtils]: 19: Hoare triple {131505#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {131505#false} is VALID [2022-04-28 04:08:42,577 INFO L290 TraceCheckUtils]: 18: Hoare triple {131505#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {131505#false} is VALID [2022-04-28 04:08:42,577 INFO L290 TraceCheckUtils]: 17: Hoare triple {131622#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {131505#false} is VALID [2022-04-28 04:08:42,578 INFO L290 TraceCheckUtils]: 16: Hoare triple {131626#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [429] L25-4_primed-->L25-4: Formula: (not (< v_main_~c~0_11 v_~SIZE~0_3)) InVars {~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} OutVars{~SIZE~0=v_~SIZE~0_3, main_~c~0=v_main_~c~0_11} AuxVars[] AssignedVars[] {131622#(or (not (<= main_~st~0 0)) (not (<= main_~c~0 (+ ~last~0 1))))} is VALID [2022-04-28 04:08:42,578 INFO L290 TraceCheckUtils]: 15: Hoare triple {131626#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [432] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= |v_main_#t~post5_1099| |v_main_#t~post5_1095|)) (.cse1 (= v_main_~c~0_2184 v_main_~c~0_2183))) (or (and (< v_main_~c~0_2184 v_main_~c~0_2183) (< v_main_~c~0_2183 (+ v_~SIZE~0_754 1)) (< v_main_~c~0_2183 (+ v_~last~0_836 1))) (and (or (not (< v_main_~c~0_2184 v_~last~0_836)) (not (< v_main_~c~0_2184 v_~SIZE~0_754))) .cse0 .cse1) (and (= v_~SIZE~0_754 v_~SIZE~0_754) (= v_~last~0_836 v_~last~0_836) .cse0 .cse1))) InVars {~SIZE~0=v_~SIZE~0_754, main_~c~0=v_main_~c~0_2184, main_#t~post5=|v_main_#t~post5_1099|, ~last~0=v_~last~0_836} OutVars{~SIZE~0=v_~SIZE~0_754, main_#t~post5=|v_main_#t~post5_1095|, main_~c~0=v_main_~c~0_2183, ~last~0=v_~last~0_836} AuxVars[] AssignedVars[main_#t~post5, main_~c~0] {131626#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:08:42,579 INFO L290 TraceCheckUtils]: 14: Hoare triple {131626#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} [431] L25-4_primed-->L25-3: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {131626#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:08:42,579 INFO L290 TraceCheckUtils]: 13: Hoare triple {131636#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} [430] L25-3-->L25-4_primed: Formula: (let ((.cse0 (= v_main_~c~0_2182 v_main_~c~0_2181)) (.cse2 (= v_main_~st~0_1165 v_main_~st~0_1164)) (.cse3 (= |v_main_#t~post5_1096| |v_main_#t~post5_1094|)) (.cse1 (<= v_~last~0_835 v_main_~c~0_2182))) (or (and .cse0 (or (not (< v_main_~c~0_2182 v_~SIZE~0_753)) (not .cse1)) .cse2 .cse3) (and .cse0 (= v_~last~0_835 v_~last~0_835) (= v_~SIZE~0_753 v_~SIZE~0_753) .cse2 .cse3) (and .cse1 (= v_main_~st~0_1164 0) (< v_main_~c~0_2182 v_main_~c~0_2181) (< v_main_~c~0_2181 (+ v_~SIZE~0_753 1))))) InVars {~SIZE~0=v_~SIZE~0_753, main_~c~0=v_main_~c~0_2182, main_#t~post5=|v_main_#t~post5_1096|, main_~st~0=v_main_~st~0_1165, ~last~0=v_~last~0_835} OutVars{~SIZE~0=v_~SIZE~0_753, main_#t~post5=|v_main_#t~post5_1094|, main_~c~0=v_main_~c~0_2181, main_~st~0=v_main_~st~0_1164, ~last~0=v_~last~0_835} AuxVars[] AssignedVars[main_#t~post5, main_~c~0, main_~st~0] {131626#(or (< (+ ~last~0 1) ~SIZE~0) (not (<= main_~st~0 0)))} is VALID [2022-04-28 04:08:42,580 INFO L290 TraceCheckUtils]: 12: Hoare triple {131640#(< 1 ~SIZE~0)} assume !false;~st~0 := 1;~c~0 := 0; {131636#(and (not (<= main_~st~0 0)) (or (<= ~SIZE~0 main_~c~0) (< (+ main_~c~0 1) ~SIZE~0)))} is VALID [2022-04-28 04:08:42,580 INFO L290 TraceCheckUtils]: 11: Hoare triple {131640#(< 1 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {131640#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:42,581 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {131504#true} {131640#(< 1 ~SIZE~0)} #86#return; {131640#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:42,581 INFO L290 TraceCheckUtils]: 9: Hoare triple {131504#true} assume true; {131504#true} is VALID [2022-04-28 04:08:42,581 INFO L290 TraceCheckUtils]: 8: Hoare triple {131504#true} assume !(0 == ~cond); {131504#true} is VALID [2022-04-28 04:08:42,581 INFO L290 TraceCheckUtils]: 7: Hoare triple {131504#true} ~cond := #in~cond; {131504#true} is VALID [2022-04-28 04:08:42,581 INFO L272 TraceCheckUtils]: 6: Hoare triple {131640#(< 1 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {131504#true} is VALID [2022-04-28 04:08:42,581 INFO L290 TraceCheckUtils]: 5: Hoare triple {131640#(< 1 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {131640#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:42,581 INFO L272 TraceCheckUtils]: 4: Hoare triple {131640#(< 1 ~SIZE~0)} call #t~ret7 := main(); {131640#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:42,582 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {131640#(< 1 ~SIZE~0)} {131504#true} #90#return; {131640#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:42,582 INFO L290 TraceCheckUtils]: 2: Hoare triple {131640#(< 1 ~SIZE~0)} assume true; {131640#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:42,582 INFO L290 TraceCheckUtils]: 1: Hoare triple {131504#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(21, 2);call #Ultimate.allocInit(12, 3);~last~0 := 0;~SIZE~0 := 20; {131640#(< 1 ~SIZE~0)} is VALID [2022-04-28 04:08:42,589 INFO L272 TraceCheckUtils]: 0: Hoare triple {131504#true} call ULTIMATE.init(); {131504#true} is VALID [2022-04-28 04:08:42,589 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 04:08:42,589 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1350959547] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:08:42,589 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:08:42,589 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-28 04:08:43,959 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:08:43,959 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2022636795] [2022-04-28 04:08:43,959 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2022636795] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:08:43,959 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:08:43,959 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [38] imperfect sequences [] total 38 [2022-04-28 04:08:43,960 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [696610069] [2022-04-28 04:08:43,960 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:08:43,960 INFO L78 Accepts]: Start accepts. Automaton has has 38 states, 38 states have (on average 1.4473684210526316) internal successors, (55), 36 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:08:43,960 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:08:43,960 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 38 states, 38 states have (on average 1.4473684210526316) internal successors, (55), 36 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:44,005 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:08:44,005 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 38 states [2022-04-28 04:08:44,005 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:08:44,005 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2022-04-28 04:08:44,006 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=350, Invalid=1812, Unknown=0, NotChecked=0, Total=2162 [2022-04-28 04:08:44,006 INFO L87 Difference]: Start difference. First operand 232 states and 279 transitions. Second operand has 38 states, 38 states have (on average 1.4473684210526316) internal successors, (55), 36 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:47,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:08:47,234 INFO L93 Difference]: Finished difference Result 389 states and 473 transitions. [2022-04-28 04:08:47,234 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-04-28 04:08:47,235 INFO L78 Accepts]: Start accepts. Automaton has has 38 states, 38 states have (on average 1.4473684210526316) internal successors, (55), 36 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 04:08:47,235 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:08:47,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 38 states have (on average 1.4473684210526316) internal successors, (55), 36 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:47,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 118 transitions. [2022-04-28 04:08:47,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 38 states have (on average 1.4473684210526316) internal successors, (55), 36 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:47,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 118 transitions. [2022-04-28 04:08:47,236 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 118 transitions. [2022-04-28 04:08:47,291 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:08:47,294 INFO L225 Difference]: With dead ends: 389 [2022-04-28 04:08:47,294 INFO L226 Difference]: Without dead ends: 255 [2022-04-28 04:08:47,295 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 12 SemanticMatches, 47 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 866 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=362, Invalid=1990, Unknown=0, NotChecked=0, Total=2352 [2022-04-28 04:08:47,295 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 81 mSDsluCounter, 53 mSDsCounter, 0 mSdLazyCounter, 2059 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 82 SdHoareTripleChecker+Valid, 74 SdHoareTripleChecker+Invalid, 2070 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 2059 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-28 04:08:47,295 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [82 Valid, 74 Invalid, 2070 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 2059 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-28 04:08:47,295 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 255 states. [2022-04-28 04:08:48,246 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 255 to 235. [2022-04-28 04:08:48,246 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:08:48,246 INFO L82 GeneralOperation]: Start isEquivalent. First operand 255 states. Second operand has 235 states, 220 states have (on average 1.209090909090909) internal successors, (266), 223 states have internal predecessors, (266), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:48,246 INFO L74 IsIncluded]: Start isIncluded. First operand 255 states. Second operand has 235 states, 220 states have (on average 1.209090909090909) internal successors, (266), 223 states have internal predecessors, (266), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:48,247 INFO L87 Difference]: Start difference. First operand 255 states. Second operand has 235 states, 220 states have (on average 1.209090909090909) internal successors, (266), 223 states have internal predecessors, (266), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:48,249 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:08:48,249 INFO L93 Difference]: Finished difference Result 255 states and 305 transitions. [2022-04-28 04:08:48,249 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 305 transitions. [2022-04-28 04:08:48,250 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:08:48,250 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:08:48,250 INFO L74 IsIncluded]: Start isIncluded. First operand has 235 states, 220 states have (on average 1.209090909090909) internal successors, (266), 223 states have internal predecessors, (266), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 255 states. [2022-04-28 04:08:48,250 INFO L87 Difference]: Start difference. First operand has 235 states, 220 states have (on average 1.209090909090909) internal successors, (266), 223 states have internal predecessors, (266), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) Second operand 255 states. [2022-04-28 04:08:48,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:08:48,252 INFO L93 Difference]: Finished difference Result 255 states and 305 transitions. [2022-04-28 04:08:48,253 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 305 transitions. [2022-04-28 04:08:48,253 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:08:48,253 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:08:48,253 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:08:48,253 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:08:48,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 235 states, 220 states have (on average 1.209090909090909) internal successors, (266), 223 states have internal predecessors, (266), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 04:08:48,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 235 states to 235 states and 283 transitions. [2022-04-28 04:08:48,256 INFO L78 Accepts]: Start accepts. Automaton has 235 states and 283 transitions. Word has length 61 [2022-04-28 04:08:48,256 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:08:48,256 INFO L495 AbstractCegarLoop]: Abstraction has 235 states and 283 transitions. [2022-04-28 04:08:48,256 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 38 states, 38 states have (on average 1.4473684210526316) internal successors, (55), 36 states have internal predecessors, (55), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 04:08:48,256 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 235 states and 283 transitions. [2022-04-28 04:08:49,968 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 101 [2022-04-28 04:08:49,971 WARN L230 Executor]: External (MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1) with exit command (exit)) stderr output: (error "out of memory") [2022-04-28 04:08:49,987 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (83)] Forceful destruction successful, exit code 0 [2022-04-28 04:08:50,187 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 83 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable89 [2022-04-28 04:08:50,188 FATAL L? ?]: An unrecoverable error occured during an interaction with an SMT solver: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: External (MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1) with exit command (exit)) Received EOF on stdin. stderr output: (error "out of memory") at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:243) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parseSuccess(Executor.java:258) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Scriptor.push(Scriptor.java:133) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.arrays.DiffWrapperScript.push(DiffWrapperScript.java:90) at de.uni_freiburg.informatik.ultimate.logic.WrapperScript.push(WrapperScript.java:148) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.scripttransfer.HistoryRecordingScript.push(HistoryRecordingScript.java:107) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.ManagedScript.push(ManagedScript.java:124) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.IncrementalHoareTripleChecker.assertPostcondInternal(IncrementalHoareTripleChecker.java:538) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.IncrementalHoareTripleChecker.assertPostcond(IncrementalHoareTripleChecker.java:256) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.IncrementalHoareTripleChecker.prepareAssertionStackAndAddPostcond(IncrementalHoareTripleChecker.java:248) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.IncrementalHoareTripleChecker.checkInternal(IncrementalHoareTripleChecker.java:139) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.InductivityCheck.checkInductivity(InductivityCheck.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.InductivityCheck.(InductivityCheck.java:75) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.refineAbstractionInternal(AbstractCegarLoop.java:500) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:438) 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) Caused by: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: EOF at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser$Action$.CUP$do_action(Parser.java:1465) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser.do_action(Parser.java:658) at com.github.jhoenicke.javacup.runtime.LRParser.parse(LRParser.java:383) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:239) ... 32 more [2022-04-28 04:08:50,194 INFO L158 Benchmark]: Toolchain (without parser) took 753519.98ms. Allocated memory was 167.8MB in the beginning and 300.9MB in the end (delta: 133.2MB). Free memory was 119.1MB in the beginning and 109.4MB in the end (delta: 9.8MB). Peak memory consumption was 166.9MB. Max. memory is 8.0GB. [2022-04-28 04:08:50,194 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 167.8MB. Free memory was 134.9MB in the beginning and 134.9MB in the end (delta: 74.0kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 04:08:50,194 INFO L158 Benchmark]: CACSL2BoogieTranslator took 242.01ms. Allocated memory is still 167.8MB. Free memory was 118.9MB in the beginning and 143.9MB in the end (delta: -25.0MB). Peak memory consumption was 10.9MB. Max. memory is 8.0GB. [2022-04-28 04:08:50,195 INFO L158 Benchmark]: Boogie Preprocessor took 40.79ms. Allocated memory is still 167.8MB. Free memory was 143.9MB in the beginning and 141.9MB in the end (delta: 2.0MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-28 04:08:50,196 INFO L158 Benchmark]: RCFGBuilder took 272.15ms. Allocated memory is still 167.8MB. Free memory was 141.9MB in the beginning and 129.8MB in the end (delta: 12.0MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 04:08:50,197 INFO L158 Benchmark]: TraceAbstraction took 752960.65ms. Allocated memory was 167.8MB in the beginning and 300.9MB in the end (delta: 133.2MB). Free memory was 129.3MB in the beginning and 109.4MB in the end (delta: 19.9MB). Peak memory consumption was 175.9MB. Max. memory is 8.0GB. [2022-04-28 04:08:50,218 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 167.8MB. Free memory was 134.9MB in the beginning and 134.9MB in the end (delta: 74.0kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 242.01ms. Allocated memory is still 167.8MB. Free memory was 118.9MB in the beginning and 143.9MB in the end (delta: -25.0MB). Peak memory consumption was 10.9MB. Max. memory is 8.0GB. * Boogie Preprocessor took 40.79ms. Allocated memory is still 167.8MB. Free memory was 143.9MB in the beginning and 141.9MB in the end (delta: 2.0MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 272.15ms. Allocated memory is still 167.8MB. Free memory was 141.9MB in the beginning and 129.8MB in the end (delta: 12.0MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 752960.65ms. Allocated memory was 167.8MB in the beginning and 300.9MB in the end (delta: 133.2MB). Free memory was 129.3MB in the beginning and 109.4MB in the end (delta: 19.9MB). Peak memory consumption was 175.9MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: SMTLIBException: External (MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1) with exit command (exit)) Received EOF on stdin. stderr output: (error "out of memory") de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: SMTLIBException: External (MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1) with exit command (exit)) Received EOF on stdin. stderr output: (error "out of memory") : de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:243) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...