/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-e106359-m [2022-04-15 06:55:40,226 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 06:55:40,227 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 06:55:40,244 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 06:55:40,245 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 06:55:40,245 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 06:55:40,246 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 06:55:40,247 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 06:55:40,249 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 06:55:40,249 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 06:55:40,250 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 06:55:40,251 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 06:55:40,251 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 06:55:40,252 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 06:55:40,252 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 06:55:40,253 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 06:55:40,253 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 06:55:40,254 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 06:55:40,255 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 06:55:40,256 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 06:55:40,257 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 06:55:40,258 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 06:55:40,258 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 06:55:40,259 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 06:55:40,260 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 06:55:40,261 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 06:55:40,262 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 06:55:40,262 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 06:55:40,262 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 06:55:40,262 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 06:55:40,263 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 06:55:40,263 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 06:55:40,264 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 06:55:40,264 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 06:55:40,264 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 06:55:40,265 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 06:55:40,265 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 06:55:40,266 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 06:55:40,266 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 06:55:40,266 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 06:55:40,266 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 06:55:40,273 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 06:55:40,274 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-15 06:55:40,279 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 06:55:40,279 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 06:55:40,280 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 06:55:40,280 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 06:55:40,280 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 06:55:40,280 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 06:55:40,280 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 06:55:40,280 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 06:55:40,281 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 06:55:40,281 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 06:55:40,281 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 06:55:40,281 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 06:55:40,281 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 06:55:40,281 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 06:55:40,281 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 06:55:40,281 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 06:55:40,281 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 06:55:40,282 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 06:55:40,282 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 06:55:40,282 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 06:55:40,282 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 06:55:40,282 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 06:55:40,282 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 06:55:40,282 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 06:55:40,282 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 06:55:40,282 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-15 06:55:40,448 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 06:55:40,462 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 06:55:40,464 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 06:55:40,464 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 06:55:40,465 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 06:55:40,465 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-15 06:55:40,503 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a86198d3c/5c30e2cfdd6947c2a8cb7dae63c53195/FLAG0a2eb3825 [2022-04-15 06:55:40,864 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 06:55:40,864 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops-crafted-1/nested_delay_notd2.c [2022-04-15 06:55:40,871 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a86198d3c/5c30e2cfdd6947c2a8cb7dae63c53195/FLAG0a2eb3825 [2022-04-15 06:55:40,891 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a86198d3c/5c30e2cfdd6947c2a8cb7dae63c53195 [2022-04-15 06:55:40,894 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 06:55:40,897 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 06:55:40,898 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 06:55:40,898 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 06:55:40,901 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 06:55:40,902 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 06:55:40" (1/1) ... [2022-04-15 06:55:40,903 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1ab239f7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 06:55:40, skipping insertion in model container [2022-04-15 06:55:40,904 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 06:55:40" (1/1) ... [2022-04-15 06:55:40,920 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 06:55:40,939 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 06:55:41,061 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-15 06:55:41,071 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 06:55:41,077 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 06:55:41,084 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-15 06:55:41,089 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 06:55:41,097 INFO L208 MainTranslator]: Completed translation [2022-04-15 06:55:41,098 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 06:55:41 WrapperNode [2022-04-15 06:55:41,098 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 06:55:41,098 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 06:55:41,099 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 06:55:41,099 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 06:55:41,105 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 06:55:41" (1/1) ... [2022-04-15 06:55:41,105 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 06:55:41" (1/1) ... [2022-04-15 06:55:41,109 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 06:55:41" (1/1) ... [2022-04-15 06:55:41,109 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 06:55:41" (1/1) ... [2022-04-15 06:55:41,113 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 06:55:41" (1/1) ... [2022-04-15 06:55:41,115 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 06:55:41" (1/1) ... [2022-04-15 06:55:41,116 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 06:55:41" (1/1) ... [2022-04-15 06:55:41,117 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 06:55:41,118 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 06:55:41,118 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 06:55:41,118 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 06:55:41,119 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 06:55:41" (1/1) ... [2022-04-15 06:55:41,123 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 06:55:41,129 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:55:41,138 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-15 06:55:41,144 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-15 06:55:41,166 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 06:55:41,167 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 06:55:41,167 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 06:55:41,167 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 06:55:41,168 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 06:55:41,168 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 06:55:41,168 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 06:55:41,169 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 06:55:41,169 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 06:55:41,169 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 06:55:41,169 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 06:55:41,170 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 06:55:41,170 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 06:55:41,170 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 06:55:41,170 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 06:55:41,170 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 06:55:41,171 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 06:55:41,171 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 06:55:41,171 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 06:55:41,171 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 06:55:41,215 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 06:55:41,216 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 06:55:41,345 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 06:55:41,350 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 06:55:41,350 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-15 06:55:41,352 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 06:55:41 BoogieIcfgContainer [2022-04-15 06:55:41,352 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 06:55:41,353 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 06:55:41,353 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 06:55:41,355 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 06:55:41,355 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 06:55:40" (1/3) ... [2022-04-15 06:55:41,356 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2d649c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 06:55:41, skipping insertion in model container [2022-04-15 06:55:41,356 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 06:55:41" (2/3) ... [2022-04-15 06:55:41,356 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2d649c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 06:55:41, skipping insertion in model container [2022-04-15 06:55:41,356 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 06:55:41" (3/3) ... [2022-04-15 06:55:41,357 INFO L111 eAbstractionObserver]: Analyzing ICFG nested_delay_notd2.c [2022-04-15 06:55:41,360 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 06:55:41,361 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 06:55:41,390 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 06:55:41,395 INFO L340 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 [2022-04-15 06:55:41,395 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 06:55:41,409 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-15 06:55:41,414 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-04-15 06:55:41,414 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:55:41,415 INFO L499 BasicCegarLoop]: 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-15 06:55:41,415 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:55:41,419 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:55:41,419 INFO L85 PathProgramCache]: Analyzing trace with hash -1039138334, now seen corresponding path program 1 times [2022-04-15 06:55:41,425 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:55:41,425 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [976711945] [2022-04-15 06:55:41,433 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 06:55:41,433 INFO L85 PathProgramCache]: Analyzing trace with hash -1039138334, now seen corresponding path program 2 times [2022-04-15 06:55:41,435 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:55:41,436 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [153504054] [2022-04-15 06:55:41,436 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:55:41,436 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:55:41,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:41,612 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:55:41,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:41,627 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-15 06:55:41,628 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 06:55:41,628 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #90#return; {35#true} is VALID [2022-04-15 06:55:41,628 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:55:41,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:41,634 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 06:55:41,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 06:55:41,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 06:55:41,635 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #86#return; {36#false} is VALID [2022-04-15 06:55:41,636 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-15 06:55:41,636 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-15 06:55:41,636 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 06:55:41,637 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #90#return; {35#true} is VALID [2022-04-15 06:55:41,637 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret7 := main(); {35#true} is VALID [2022-04-15 06:55:41,637 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-15 06:55:41,637 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-15 06:55:41,637 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 06:55:41,638 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 06:55:41,638 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 06:55:41,638 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #86#return; {36#false} is VALID [2022-04-15 06:55:41,638 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-15 06:55:41,638 INFO L290 TraceCheckUtils]: 12: Hoare triple {36#false} assume !false;~st~0 := 1;~c~0 := 0; {36#false} is VALID [2022-04-15 06:55:41,638 INFO L290 TraceCheckUtils]: 13: Hoare triple {36#false} assume !true; {36#false} is VALID [2022-04-15 06:55:41,639 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-15 06:55:41,639 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-15 06:55:41,639 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-15 06:55:41,639 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-15 06:55:41,639 INFO L290 TraceCheckUtils]: 18: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-15 06:55:41,639 INFO L290 TraceCheckUtils]: 19: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-15 06:55:41,640 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-15 06:55:41,640 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-15 06:55:41,640 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:55:41,640 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [153504054] [2022-04-15 06:55:41,641 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [153504054] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:55:41,641 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:55:41,641 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 06:55:41,643 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:55:41,643 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [976711945] [2022-04-15 06:55:41,643 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [976711945] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:55:41,643 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:55:41,643 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 06:55:41,643 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1113127092] [2022-04-15 06:55:41,644 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:55:41,647 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-15 06:55:41,659 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:55:41,661 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-15 06:55:41,681 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-15 06:55:41,681 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 06:55:41,681 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:55:41,706 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 06:55:41,706 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 06:55:41,708 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-15 06:55:41,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:41,811 INFO L93 Difference]: Finished difference Result 50 states and 71 transitions. [2022-04-15 06:55:41,811 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 06:55:41,812 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-15 06:55:41,812 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:55:41,812 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-15 06:55:41,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 71 transitions. [2022-04-15 06:55:41,818 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-15 06:55:41,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 71 transitions. [2022-04-15 06:55:41,822 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 71 transitions. [2022-04-15 06:55:41,882 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-15 06:55:41,887 INFO L225 Difference]: With dead ends: 50 [2022-04-15 06:55:41,887 INFO L226 Difference]: Without dead ends: 27 [2022-04-15 06:55:41,904 INFO L912 BasicCegarLoop]: 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-15 06:55:41,906 INFO L913 BasicCegarLoop]: 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-15 06:55:41,907 INFO L914 BasicCegarLoop]: 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-15 06:55:41,917 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-15 06:55:41,926 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-15 06:55:41,927 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:55:41,927 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-15 06:55:41,928 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-15 06:55:41,928 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-15 06:55:41,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:41,930 INFO L93 Difference]: Finished difference Result 27 states and 33 transitions. [2022-04-15 06:55:41,930 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 33 transitions. [2022-04-15 06:55:41,931 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:55:41,931 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:55:41,931 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-15 06:55:41,932 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-15 06:55:41,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:41,934 INFO L93 Difference]: Finished difference Result 27 states and 33 transitions. [2022-04-15 06:55:41,934 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 33 transitions. [2022-04-15 06:55:41,934 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:55:41,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:55:41,934 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:55:41,934 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:55:41,935 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-15 06:55:41,936 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 33 transitions. [2022-04-15 06:55:41,937 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 33 transitions. Word has length 21 [2022-04-15 06:55:41,937 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:55:41,937 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 33 transitions. [2022-04-15 06:55:41,938 INFO L479 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-15 06:55:41,938 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 33 transitions. [2022-04-15 06:55:41,973 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-15 06:55:41,974 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 33 transitions. [2022-04-15 06:55:41,974 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-04-15 06:55:41,974 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:55:41,974 INFO L499 BasicCegarLoop]: 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-15 06:55:41,975 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 06:55:41,975 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:55:41,975 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:55:41,976 INFO L85 PathProgramCache]: Analyzing trace with hash 677978447, now seen corresponding path program 1 times [2022-04-15 06:55:41,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:55:41,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [151816415] [2022-04-15 06:55:41,977 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 06:55:41,977 INFO L85 PathProgramCache]: Analyzing trace with hash 677978447, now seen corresponding path program 2 times [2022-04-15 06:55:41,977 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:55:41,977 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1335620833] [2022-04-15 06:55:41,977 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:55:41,977 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:55:41,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:42,049 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:55:42,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:42,080 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-15 06:55:42,081 INFO L290 TraceCheckUtils]: 1: Hoare triple {260#(<= 20 ~SIZE~0)} assume true; {260#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:42,081 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {260#(<= 20 ~SIZE~0)} {255#true} #90#return; {260#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:42,081 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:55:42,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:42,087 INFO L290 TraceCheckUtils]: 0: Hoare triple {255#true} ~cond := #in~cond; {255#true} is VALID [2022-04-15 06:55:42,088 INFO L290 TraceCheckUtils]: 1: Hoare triple {255#true} assume !(0 == ~cond); {255#true} is VALID [2022-04-15 06:55:42,088 INFO L290 TraceCheckUtils]: 2: Hoare triple {255#true} assume true; {255#true} is VALID [2022-04-15 06:55:42,088 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {255#true} {260#(<= 20 ~SIZE~0)} #86#return; {260#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:42,089 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-15 06:55:42,090 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-15 06:55:42,090 INFO L290 TraceCheckUtils]: 2: Hoare triple {260#(<= 20 ~SIZE~0)} assume true; {260#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:42,091 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {260#(<= 20 ~SIZE~0)} {255#true} #90#return; {260#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:42,091 INFO L272 TraceCheckUtils]: 4: Hoare triple {260#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {260#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:42,092 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-15 06:55:42,092 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-15 06:55:42,092 INFO L290 TraceCheckUtils]: 7: Hoare triple {255#true} ~cond := #in~cond; {255#true} is VALID [2022-04-15 06:55:42,092 INFO L290 TraceCheckUtils]: 8: Hoare triple {255#true} assume !(0 == ~cond); {255#true} is VALID [2022-04-15 06:55:42,092 INFO L290 TraceCheckUtils]: 9: Hoare triple {255#true} assume true; {255#true} is VALID [2022-04-15 06:55:42,093 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {255#true} {260#(<= 20 ~SIZE~0)} #86#return; {260#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:42,098 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-15 06:55:42,099 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-15 06:55:42,102 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-15 06:55:42,103 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-15 06:55:42,103 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-15 06:55:42,103 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-15 06:55:42,103 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-15 06:55:42,103 INFO L290 TraceCheckUtils]: 18: Hoare triple {256#false} ~cond := #in~cond; {256#false} is VALID [2022-04-15 06:55:42,104 INFO L290 TraceCheckUtils]: 19: Hoare triple {256#false} assume 0 == ~cond; {256#false} is VALID [2022-04-15 06:55:42,104 INFO L290 TraceCheckUtils]: 20: Hoare triple {256#false} assume !false; {256#false} is VALID [2022-04-15 06:55:42,104 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-15 06:55:42,104 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:55:42,104 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1335620833] [2022-04-15 06:55:42,105 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1335620833] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:55:42,105 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:55:42,105 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 06:55:42,105 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:55:42,105 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [151816415] [2022-04-15 06:55:42,105 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [151816415] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:55:42,105 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:55:42,105 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 06:55:42,106 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [776413304] [2022-04-15 06:55:42,106 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:55:42,106 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-15 06:55:42,107 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:55:42,107 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-15 06:55:42,122 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-15 06:55:42,122 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 06:55:42,122 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:55:42,123 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 06:55:42,123 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-15 06:55:42,123 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-15 06:55:42,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:42,294 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-15 06:55:42,294 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 06:55:42,295 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-15 06:55:42,295 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:55:42,295 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-15 06:55:42,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2022-04-15 06:55:42,297 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-15 06:55:42,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2022-04-15 06:55:42,299 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 60 transitions. [2022-04-15 06:55:42,342 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-15 06:55:42,343 INFO L225 Difference]: With dead ends: 46 [2022-04-15 06:55:42,343 INFO L226 Difference]: Without dead ends: 31 [2022-04-15 06:55:42,344 INFO L912 BasicCegarLoop]: 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-15 06:55:42,345 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 39 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 60 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-15 06:55:42,345 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [40 Valid, 25 Invalid, 65 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 60 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 06:55:42,346 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-04-15 06:55:42,363 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 28. [2022-04-15 06:55:42,363 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:55:42,363 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-15 06:55:42,364 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-15 06:55:42,364 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-15 06:55:42,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:42,366 INFO L93 Difference]: Finished difference Result 31 states and 38 transitions. [2022-04-15 06:55:42,366 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 38 transitions. [2022-04-15 06:55:42,366 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:55:42,366 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:55:42,366 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-15 06:55:42,367 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-15 06:55:42,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:42,368 INFO L93 Difference]: Finished difference Result 31 states and 38 transitions. [2022-04-15 06:55:42,368 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 38 transitions. [2022-04-15 06:55:42,369 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:55:42,369 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:55:42,369 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:55:42,369 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:55:42,369 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-15 06:55:42,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 34 transitions. [2022-04-15 06:55:42,370 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 34 transitions. Word has length 21 [2022-04-15 06:55:42,370 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:55:42,371 INFO L478 AbstractCegarLoop]: Abstraction has 28 states and 34 transitions. [2022-04-15 06:55:42,371 INFO L479 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-15 06:55:42,371 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 34 transitions. [2022-04-15 06:55:42,397 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-15 06:55:42,397 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 34 transitions. [2022-04-15 06:55:42,398 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-15 06:55:42,398 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:55:42,398 INFO L499 BasicCegarLoop]: 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-15 06:55:42,398 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-15 06:55:42,398 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:55:42,399 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:55:42,399 INFO L85 PathProgramCache]: Analyzing trace with hash -673447056, now seen corresponding path program 1 times [2022-04-15 06:55:42,399 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:55:42,399 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1659109927] [2022-04-15 06:55:42,783 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-15 06:55:42,784 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:55:42,787 INFO L85 PathProgramCache]: Analyzing trace with hash 315662187, now seen corresponding path program 1 times [2022-04-15 06:55:42,787 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:55:42,789 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [191148120] [2022-04-15 06:55:42,789 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:55:42,789 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:55:42,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:42,840 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:55:42,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:42,849 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-15 06:55:42,850 INFO L290 TraceCheckUtils]: 1: Hoare triple {482#true} assume true; {482#true} is VALID [2022-04-15 06:55:42,850 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {482#true} {482#true} #90#return; {482#true} is VALID [2022-04-15 06:55:42,850 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:55:42,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:42,854 INFO L290 TraceCheckUtils]: 0: Hoare triple {482#true} ~cond := #in~cond; {482#true} is VALID [2022-04-15 06:55:42,854 INFO L290 TraceCheckUtils]: 1: Hoare triple {482#true} assume !(0 == ~cond); {482#true} is VALID [2022-04-15 06:55:42,854 INFO L290 TraceCheckUtils]: 2: Hoare triple {482#true} assume true; {482#true} is VALID [2022-04-15 06:55:42,854 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {482#true} {482#true} #86#return; {482#true} is VALID [2022-04-15 06:55:42,855 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-15 06:55:42,855 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-15 06:55:42,855 INFO L290 TraceCheckUtils]: 2: Hoare triple {482#true} assume true; {482#true} is VALID [2022-04-15 06:55:42,855 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {482#true} {482#true} #90#return; {482#true} is VALID [2022-04-15 06:55:42,855 INFO L272 TraceCheckUtils]: 4: Hoare triple {482#true} call #t~ret7 := main(); {482#true} is VALID [2022-04-15 06:55:42,855 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-15 06:55:42,856 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-15 06:55:42,856 INFO L290 TraceCheckUtils]: 7: Hoare triple {482#true} ~cond := #in~cond; {482#true} is VALID [2022-04-15 06:55:42,856 INFO L290 TraceCheckUtils]: 8: Hoare triple {482#true} assume !(0 == ~cond); {482#true} is VALID [2022-04-15 06:55:42,856 INFO L290 TraceCheckUtils]: 9: Hoare triple {482#true} assume true; {482#true} is VALID [2022-04-15 06:55:42,856 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {482#true} {482#true} #86#return; {482#true} is VALID [2022-04-15 06:55:42,856 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-15 06:55:42,856 INFO L290 TraceCheckUtils]: 12: Hoare triple {482#true} assume !false;~st~0 := 1;~c~0 := 0; {482#true} is VALID [2022-04-15 06:55:42,857 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-15 06:55:42,857 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-15 06:55:42,857 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-15 06:55:42,858 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-15 06:55:42,858 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-15 06:55:42,858 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-15 06:55:42,858 INFO L290 TraceCheckUtils]: 19: Hoare triple {483#false} ~cond := #in~cond; {483#false} is VALID [2022-04-15 06:55:42,858 INFO L290 TraceCheckUtils]: 20: Hoare triple {483#false} assume 0 == ~cond; {483#false} is VALID [2022-04-15 06:55:42,858 INFO L290 TraceCheckUtils]: 21: Hoare triple {483#false} assume !false; {483#false} is VALID [2022-04-15 06:55:42,858 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-15 06:55:42,859 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:55:42,859 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [191148120] [2022-04-15 06:55:42,859 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [191148120] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:55:42,859 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:55:42,859 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-15 06:55:42,907 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:55:42,907 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1659109927] [2022-04-15 06:55:42,907 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1659109927] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:55:42,907 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:55:42,907 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 06:55:42,908 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [590794771] [2022-04-15 06:55:42,908 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:55:42,908 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-15 06:55:42,909 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:55:42,909 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-15 06:55:42,925 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-15 06:55:42,925 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 06:55:42,926 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:55:42,926 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 06:55:42,926 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-15 06:55:42,926 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-15 06:55:43,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:43,218 INFO L93 Difference]: Finished difference Result 59 states and 82 transitions. [2022-04-15 06:55:43,218 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 06:55:43,219 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-15 06:55:43,219 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:55:43,219 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-15 06:55:43,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 80 transitions. [2022-04-15 06:55:43,221 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-15 06:55:43,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 80 transitions. [2022-04-15 06:55:43,223 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 80 transitions. [2022-04-15 06:55:43,309 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-15 06:55:43,311 INFO L225 Difference]: With dead ends: 59 [2022-04-15 06:55:43,311 INFO L226 Difference]: Without dead ends: 43 [2022-04-15 06:55:43,311 INFO L912 BasicCegarLoop]: 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-15 06:55:43,312 INFO L913 BasicCegarLoop]: 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-15 06:55:43,312 INFO L914 BasicCegarLoop]: 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-15 06:55:43,313 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-04-15 06:55:43,345 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 35. [2022-04-15 06:55:43,345 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:55:43,346 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-15 06:55:43,346 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-15 06:55:43,346 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-15 06:55:43,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:43,348 INFO L93 Difference]: Finished difference Result 43 states and 56 transitions. [2022-04-15 06:55:43,348 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 56 transitions. [2022-04-15 06:55:43,349 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:55:43,349 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:55:43,349 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-15 06:55:43,349 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-15 06:55:43,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:43,351 INFO L93 Difference]: Finished difference Result 43 states and 56 transitions. [2022-04-15 06:55:43,351 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 56 transitions. [2022-04-15 06:55:43,351 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:55:43,351 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:55:43,351 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:55:43,351 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:55:43,352 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-15 06:55:43,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 43 transitions. [2022-04-15 06:55:43,353 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 43 transitions. Word has length 24 [2022-04-15 06:55:43,353 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:55:43,353 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 43 transitions. [2022-04-15 06:55:43,353 INFO L479 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-15 06:55:43,353 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 43 transitions. [2022-04-15 06:55:43,389 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-15 06:55:43,389 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 43 transitions. [2022-04-15 06:55:43,390 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-15 06:55:43,390 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:55:43,390 INFO L499 BasicCegarLoop]: 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-15 06:55:43,390 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-15 06:55:43,390 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:55:43,391 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:55:43,391 INFO L85 PathProgramCache]: Analyzing trace with hash 708533296, now seen corresponding path program 1 times [2022-04-15 06:55:43,391 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:55:43,391 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2064768735] [2022-04-15 06:55:43,670 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-15 06:55:43,671 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:55:43,674 INFO L85 PathProgramCache]: Analyzing trace with hash 1961381293, now seen corresponding path program 1 times [2022-04-15 06:55:43,674 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:55:43,675 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [966593845] [2022-04-15 06:55:43,675 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:55:43,675 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:55:43,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:43,718 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:55:43,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:43,725 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-15 06:55:43,725 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 06:55:43,726 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {774#true} {774#true} #90#return; {774#true} is VALID [2022-04-15 06:55:43,726 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:55:43,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:43,729 INFO L290 TraceCheckUtils]: 0: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 06:55:43,730 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 06:55:43,730 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 06:55:43,730 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #86#return; {774#true} is VALID [2022-04-15 06:55:43,731 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-15 06:55:43,731 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-15 06:55:43,731 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 06:55:43,731 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #90#return; {774#true} is VALID [2022-04-15 06:55:43,732 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret7 := main(); {774#true} is VALID [2022-04-15 06:55:43,732 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-15 06:55:43,732 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-15 06:55:43,732 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-15 06:55:43,732 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-15 06:55:43,733 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-15 06:55:43,733 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #86#return; {774#true} is VALID [2022-04-15 06:55:43,733 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-15 06:55:43,733 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-15 06:55:43,734 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-15 06:55:43,734 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-15 06:55:43,735 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-15 06:55:43,735 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-15 06:55:43,736 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-15 06:55:43,736 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-15 06:55:43,736 INFO L290 TraceCheckUtils]: 19: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-15 06:55:43,736 INFO L290 TraceCheckUtils]: 20: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-15 06:55:43,736 INFO L290 TraceCheckUtils]: 21: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-15 06:55:43,737 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-15 06:55:43,737 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:55:43,737 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [966593845] [2022-04-15 06:55:43,737 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [966593845] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:55:43,737 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:55:43,737 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-15 06:55:43,777 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:55:43,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2064768735] [2022-04-15 06:55:43,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2064768735] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:55:43,777 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:55:43,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 06:55:43,777 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1051224609] [2022-04-15 06:55:43,777 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:55:43,778 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-15 06:55:43,778 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:55:43,778 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-15 06:55:43,792 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-15 06:55:43,792 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 06:55:43,792 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:55:43,792 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 06:55:43,792 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=26, Unknown=0, NotChecked=0, Total=42 [2022-04-15 06:55:43,792 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-15 06:55:44,092 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:44,093 INFO L93 Difference]: Finished difference Result 64 states and 85 transitions. [2022-04-15 06:55:44,093 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 06:55:44,093 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-15 06:55:44,093 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:55:44,093 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-15 06:55:44,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 75 transitions. [2022-04-15 06:55:44,095 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-15 06:55:44,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 75 transitions. [2022-04-15 06:55:44,097 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 75 transitions. [2022-04-15 06:55:44,146 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-15 06:55:44,147 INFO L225 Difference]: With dead ends: 64 [2022-04-15 06:55:44,147 INFO L226 Difference]: Without dead ends: 41 [2022-04-15 06:55:44,148 INFO L912 BasicCegarLoop]: 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-15 06:55:44,148 INFO L913 BasicCegarLoop]: 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-15 06:55:44,149 INFO L914 BasicCegarLoop]: 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-15 06:55:44,149 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-15 06:55:44,185 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 34. [2022-04-15 06:55:44,185 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:55:44,185 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-15 06:55:44,185 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-15 06:55:44,186 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-15 06:55:44,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:44,187 INFO L93 Difference]: Finished difference Result 41 states and 52 transitions. [2022-04-15 06:55:44,187 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 52 transitions. [2022-04-15 06:55:44,187 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:55:44,187 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:55:44,188 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-15 06:55:44,188 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-15 06:55:44,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:44,189 INFO L93 Difference]: Finished difference Result 41 states and 52 transitions. [2022-04-15 06:55:44,189 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 52 transitions. [2022-04-15 06:55:44,189 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:55:44,190 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:55:44,190 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:55:44,190 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:55:44,190 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-15 06:55:44,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 40 transitions. [2022-04-15 06:55:44,191 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 40 transitions. Word has length 24 [2022-04-15 06:55:44,191 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:55:44,191 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 40 transitions. [2022-04-15 06:55:44,191 INFO L479 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-15 06:55:44,191 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 40 transitions. [2022-04-15 06:55:44,226 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-15 06:55:44,226 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 40 transitions. [2022-04-15 06:55:44,227 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-04-15 06:55:44,227 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:55:44,227 INFO L499 BasicCegarLoop]: 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-15 06:55:44,227 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-15 06:55:44,227 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:55:44,227 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:55:44,227 INFO L85 PathProgramCache]: Analyzing trace with hash -2061972965, now seen corresponding path program 1 times [2022-04-15 06:55:44,227 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:55:44,228 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [937832961] [2022-04-15 06:55:44,457 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-15 06:55:44,458 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:55:44,460 INFO L85 PathProgramCache]: Analyzing trace with hash -890294784, now seen corresponding path program 1 times [2022-04-15 06:55:44,461 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:55:44,461 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1438317161] [2022-04-15 06:55:44,461 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:55:44,461 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:55:44,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:44,523 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:55:44,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:44,534 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-15 06:55:44,535 INFO L290 TraceCheckUtils]: 1: Hoare triple {1082#(<= 20 ~SIZE~0)} assume true; {1082#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:44,535 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1082#(<= 20 ~SIZE~0)} {1070#true} #90#return; {1075#(not (= ~SIZE~0 0))} is VALID [2022-04-15 06:55:44,535 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:55:44,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:44,540 INFO L290 TraceCheckUtils]: 0: Hoare triple {1070#true} ~cond := #in~cond; {1070#true} is VALID [2022-04-15 06:55:44,540 INFO L290 TraceCheckUtils]: 1: Hoare triple {1070#true} assume !(0 == ~cond); {1070#true} is VALID [2022-04-15 06:55:44,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {1070#true} assume true; {1070#true} is VALID [2022-04-15 06:55:44,541 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1070#true} {1075#(not (= ~SIZE~0 0))} #86#return; {1075#(not (= ~SIZE~0 0))} is VALID [2022-04-15 06:55:44,542 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-15 06:55:44,542 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-15 06:55:44,543 INFO L290 TraceCheckUtils]: 2: Hoare triple {1082#(<= 20 ~SIZE~0)} assume true; {1082#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:44,543 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1082#(<= 20 ~SIZE~0)} {1070#true} #90#return; {1075#(not (= ~SIZE~0 0))} is VALID [2022-04-15 06:55:44,543 INFO L272 TraceCheckUtils]: 4: Hoare triple {1075#(not (= ~SIZE~0 0))} call #t~ret7 := main(); {1075#(not (= ~SIZE~0 0))} is VALID [2022-04-15 06:55:44,544 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-15 06:55:44,544 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-15 06:55:44,544 INFO L290 TraceCheckUtils]: 7: Hoare triple {1070#true} ~cond := #in~cond; {1070#true} is VALID [2022-04-15 06:55:44,544 INFO L290 TraceCheckUtils]: 8: Hoare triple {1070#true} assume !(0 == ~cond); {1070#true} is VALID [2022-04-15 06:55:44,544 INFO L290 TraceCheckUtils]: 9: Hoare triple {1070#true} assume true; {1070#true} is VALID [2022-04-15 06:55:44,545 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1070#true} {1075#(not (= ~SIZE~0 0))} #86#return; {1075#(not (= ~SIZE~0 0))} is VALID [2022-04-15 06:55:44,545 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-15 06:55:44,547 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-15 06:55:44,547 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-15 06:55:44,548 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-15 06:55:44,548 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-15 06:55:44,549 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-15 06:55:44,549 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-15 06:55:44,550 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-15 06:55:44,550 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-15 06:55:44,550 INFO L290 TraceCheckUtils]: 20: Hoare triple {1071#false} ~cond := #in~cond; {1071#false} is VALID [2022-04-15 06:55:44,550 INFO L290 TraceCheckUtils]: 21: Hoare triple {1071#false} assume 0 == ~cond; {1071#false} is VALID [2022-04-15 06:55:44,550 INFO L290 TraceCheckUtils]: 22: Hoare triple {1071#false} assume !false; {1071#false} is VALID [2022-04-15 06:55:44,550 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-15 06:55:44,550 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:55:44,550 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1438317161] [2022-04-15 06:55:44,551 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1438317161] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:55:44,551 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:55:44,551 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 06:55:44,614 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:55:44,614 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [937832961] [2022-04-15 06:55:44,614 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [937832961] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:55:44,614 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:55:44,614 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 06:55:44,614 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [590989917] [2022-04-15 06:55:44,614 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:55:44,615 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-15 06:55:44,616 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:55:44,616 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-15 06:55:44,634 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-15 06:55:44,634 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 06:55:44,634 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:55:44,634 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 06:55:44,634 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=48, Unknown=0, NotChecked=0, Total=72 [2022-04-15 06:55:44,635 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-15 06:55:45,024 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:45,025 INFO L93 Difference]: Finished difference Result 77 states and 98 transitions. [2022-04-15 06:55:45,025 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 06:55:45,025 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-15 06:55:45,025 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:55:45,025 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-15 06:55:45,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 82 transitions. [2022-04-15 06:55:45,027 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-15 06:55:45,029 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 82 transitions. [2022-04-15 06:55:45,029 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 82 transitions. [2022-04-15 06:55:45,084 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-15 06:55:45,085 INFO L225 Difference]: With dead ends: 77 [2022-04-15 06:55:45,085 INFO L226 Difference]: Without dead ends: 55 [2022-04-15 06:55:45,086 INFO L912 BasicCegarLoop]: 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-15 06:55:45,086 INFO L913 BasicCegarLoop]: 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-15 06:55:45,087 INFO L914 BasicCegarLoop]: 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-15 06:55:45,087 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-15 06:55:45,144 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 50. [2022-04-15 06:55:45,144 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:55:45,144 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-15 06:55:45,145 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-15 06:55:45,145 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-15 06:55:45,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:45,146 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-15 06:55:45,146 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 06:55:45,147 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:55:45,147 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:55:45,147 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-15 06:55:45,147 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-15 06:55:45,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:45,149 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-15 06:55:45,149 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-15 06:55:45,149 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:55:45,149 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:55:45,149 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:55:45,149 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:55:45,149 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-15 06:55:45,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 62 transitions. [2022-04-15 06:55:45,150 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 62 transitions. Word has length 25 [2022-04-15 06:55:45,151 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:55:45,151 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 62 transitions. [2022-04-15 06:55:45,151 INFO L479 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-15 06:55:45,151 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 62 transitions. [2022-04-15 06:55:45,203 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-15 06:55:45,203 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 62 transitions. [2022-04-15 06:55:45,203 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-04-15 06:55:45,203 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:55:45,203 INFO L499 BasicCegarLoop]: 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-15 06:55:45,203 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-04-15 06:55:45,204 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:55:45,204 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:55:45,204 INFO L85 PathProgramCache]: Analyzing trace with hash -2060125923, now seen corresponding path program 1 times [2022-04-15 06:55:45,204 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:55:45,204 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [441408168] [2022-04-15 06:55:45,449 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-15 06:55:45,450 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:55:45,452 INFO L85 PathProgramCache]: Analyzing trace with hash -601416382, now seen corresponding path program 1 times [2022-04-15 06:55:45,452 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:55:45,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1131482911] [2022-04-15 06:55:45,452 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:55:45,453 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:55:45,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:45,638 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:55:45,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:45,646 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-15 06:55:45,646 INFO L290 TraceCheckUtils]: 1: Hoare triple {1470#(<= 20 ~SIZE~0)} assume true; {1470#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:45,647 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1470#(<= 20 ~SIZE~0)} {1465#true} #90#return; {1470#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:45,647 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:55:45,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:45,650 INFO L290 TraceCheckUtils]: 0: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-15 06:55:45,651 INFO L290 TraceCheckUtils]: 1: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-15 06:55:45,651 INFO L290 TraceCheckUtils]: 2: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-15 06:55:45,651 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1465#true} {1470#(<= 20 ~SIZE~0)} #86#return; {1470#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:45,652 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-15 06:55:45,652 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-15 06:55:45,653 INFO L290 TraceCheckUtils]: 2: Hoare triple {1470#(<= 20 ~SIZE~0)} assume true; {1470#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:45,653 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1470#(<= 20 ~SIZE~0)} {1465#true} #90#return; {1470#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:45,654 INFO L272 TraceCheckUtils]: 4: Hoare triple {1470#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {1470#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:45,654 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-15 06:55:45,654 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-15 06:55:45,654 INFO L290 TraceCheckUtils]: 7: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-15 06:55:45,654 INFO L290 TraceCheckUtils]: 8: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-15 06:55:45,654 INFO L290 TraceCheckUtils]: 9: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-15 06:55:45,655 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1465#true} {1470#(<= 20 ~SIZE~0)} #86#return; {1470#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:45,655 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-15 06:55:45,656 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-15 06:55:45,656 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-15 06:55:45,657 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-15 06:55:45,658 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-15 06:55:45,658 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-15 06:55:45,659 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-15 06:55:45,659 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-15 06:55:45,660 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-15 06:55:45,661 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-15 06:55:45,661 INFO L290 TraceCheckUtils]: 21: Hoare triple {1482#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1466#false} is VALID [2022-04-15 06:55:45,661 INFO L290 TraceCheckUtils]: 22: Hoare triple {1466#false} assume !false; {1466#false} is VALID [2022-04-15 06:55:45,661 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-15 06:55:45,661 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:55:45,661 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1131482911] [2022-04-15 06:55:45,662 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1131482911] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:55:45,662 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:55:45,662 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 06:55:45,818 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:55:45,818 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [441408168] [2022-04-15 06:55:45,818 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [441408168] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:55:45,818 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:55:45,818 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 06:55:45,818 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1218077400] [2022-04-15 06:55:45,818 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:55:45,819 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-15 06:55:45,819 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:55:45,819 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-15 06:55:45,832 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-15 06:55:45,832 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 06:55:45,832 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:55:45,833 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 06:55:45,833 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=191, Unknown=0, NotChecked=0, Total=240 [2022-04-15 06:55:45,834 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-15 06:55:46,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:46,630 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-04-15 06:55:46,630 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 06:55:46,630 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-15 06:55:46,631 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:55:46,631 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-15 06:55:46,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 81 transitions. [2022-04-15 06:55:46,632 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-15 06:55:46,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 81 transitions. [2022-04-15 06:55:46,633 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 81 transitions. [2022-04-15 06:55:46,690 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-15 06:55:46,691 INFO L225 Difference]: With dead ends: 114 [2022-04-15 06:55:46,691 INFO L226 Difference]: Without dead ends: 76 [2022-04-15 06:55:46,692 INFO L912 BasicCegarLoop]: 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-15 06:55:46,692 INFO L913 BasicCegarLoop]: 17 mSDtfsCounter, 72 mSDsluCounter, 35 mSDsCounter, 0 mSdLazyCounter, 305 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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-15 06:55:46,692 INFO L914 BasicCegarLoop]: 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-15 06:55:46,693 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-15 06:55:46,784 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 65. [2022-04-15 06:55:46,785 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:55:46,785 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-15 06:55:46,785 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-15 06:55:46,785 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-15 06:55:46,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:46,787 INFO L93 Difference]: Finished difference Result 76 states and 94 transitions. [2022-04-15 06:55:46,787 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 94 transitions. [2022-04-15 06:55:46,787 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:55:46,787 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:55:46,788 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-15 06:55:46,788 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-15 06:55:46,789 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:46,789 INFO L93 Difference]: Finished difference Result 76 states and 94 transitions. [2022-04-15 06:55:46,790 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 94 transitions. [2022-04-15 06:55:46,790 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:55:46,790 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:55:46,790 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:55:46,790 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:55:46,790 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-15 06:55:46,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 79 transitions. [2022-04-15 06:55:46,792 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 79 transitions. Word has length 25 [2022-04-15 06:55:46,792 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:55:46,792 INFO L478 AbstractCegarLoop]: Abstraction has 65 states and 79 transitions. [2022-04-15 06:55:46,792 INFO L479 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-15 06:55:46,792 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 79 transitions. [2022-04-15 06:55:46,862 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-15 06:55:46,862 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 79 transitions. [2022-04-15 06:55:46,863 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-04-15 06:55:46,863 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:55:46,863 INFO L499 BasicCegarLoop]: 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-15 06:55:46,863 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-04-15 06:55:46,863 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:55:46,863 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:55:46,863 INFO L85 PathProgramCache]: Analyzing trace with hash 2067453981, now seen corresponding path program 1 times [2022-04-15 06:55:46,863 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:55:46,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [904345017] [2022-04-15 06:55:47,081 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-15 06:55:47,082 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:55:47,084 INFO L85 PathProgramCache]: Analyzing trace with hash -1182836992, now seen corresponding path program 1 times [2022-04-15 06:55:47,084 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:55:47,084 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1213559951] [2022-04-15 06:55:47,084 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:55:47,085 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:55:47,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:47,128 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:55:47,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:47,134 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-15 06:55:47,135 INFO L290 TraceCheckUtils]: 1: Hoare triple {2020#(<= 20 ~SIZE~0)} assume true; {2020#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:47,135 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2020#(<= 20 ~SIZE~0)} {2015#true} #90#return; {2020#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:47,135 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:55:47,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:47,138 INFO L290 TraceCheckUtils]: 0: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-15 06:55:47,139 INFO L290 TraceCheckUtils]: 1: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-15 06:55:47,139 INFO L290 TraceCheckUtils]: 2: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-15 06:55:47,139 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2015#true} {2020#(<= 20 ~SIZE~0)} #86#return; {2020#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:47,140 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-15 06:55:47,140 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-15 06:55:47,140 INFO L290 TraceCheckUtils]: 2: Hoare triple {2020#(<= 20 ~SIZE~0)} assume true; {2020#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:47,157 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2020#(<= 20 ~SIZE~0)} {2015#true} #90#return; {2020#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:47,157 INFO L272 TraceCheckUtils]: 4: Hoare triple {2020#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {2020#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:47,158 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-15 06:55:47,158 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-15 06:55:47,158 INFO L290 TraceCheckUtils]: 7: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-15 06:55:47,158 INFO L290 TraceCheckUtils]: 8: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-15 06:55:47,158 INFO L290 TraceCheckUtils]: 9: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-15 06:55:47,159 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2015#true} {2020#(<= 20 ~SIZE~0)} #86#return; {2020#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:47,159 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-15 06:55:47,160 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-15 06:55:47,160 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-15 06:55:47,161 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-15 06:55:47,161 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-15 06:55:47,162 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-15 06:55:47,162 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-15 06:55:47,162 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-15 06:55:47,163 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-15 06:55:47,163 INFO L290 TraceCheckUtils]: 20: Hoare triple {2016#false} ~cond := #in~cond; {2016#false} is VALID [2022-04-15 06:55:47,163 INFO L290 TraceCheckUtils]: 21: Hoare triple {2016#false} assume 0 == ~cond; {2016#false} is VALID [2022-04-15 06:55:47,163 INFO L290 TraceCheckUtils]: 22: Hoare triple {2016#false} assume !false; {2016#false} is VALID [2022-04-15 06:55:47,163 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-15 06:55:47,163 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:55:47,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1213559951] [2022-04-15 06:55:47,164 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1213559951] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:55:47,164 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:55:47,164 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 06:55:47,213 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:55:47,213 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [904345017] [2022-04-15 06:55:47,213 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [904345017] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:55:47,213 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:55:47,213 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 06:55:47,213 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [42955890] [2022-04-15 06:55:47,213 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:55:47,213 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-15 06:55:47,214 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:55:47,214 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-15 06:55:47,231 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-15 06:55:47,232 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 06:55:47,232 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:55:47,232 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 06:55:47,232 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=44, Unknown=0, NotChecked=0, Total=72 [2022-04-15 06:55:47,233 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-15 06:55:47,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:47,678 INFO L93 Difference]: Finished difference Result 108 states and 137 transitions. [2022-04-15 06:55:47,678 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 06:55:47,678 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-15 06:55:47,678 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:55:47,678 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-15 06:55:47,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 96 transitions. [2022-04-15 06:55:47,680 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-15 06:55:47,681 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 96 transitions. [2022-04-15 06:55:47,681 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 96 transitions. [2022-04-15 06:55:47,743 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-15 06:55:47,744 INFO L225 Difference]: With dead ends: 108 [2022-04-15 06:55:47,744 INFO L226 Difference]: Without dead ends: 86 [2022-04-15 06:55:47,745 INFO L912 BasicCegarLoop]: 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-15 06:55:47,745 INFO L913 BasicCegarLoop]: 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-15 06:55:47,745 INFO L914 BasicCegarLoop]: 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-15 06:55:47,746 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-15 06:55:47,863 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 81. [2022-04-15 06:55:47,864 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:55:47,864 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-15 06:55:47,864 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-15 06:55:47,864 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-15 06:55:47,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:47,866 INFO L93 Difference]: Finished difference Result 86 states and 108 transitions. [2022-04-15 06:55:47,866 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 108 transitions. [2022-04-15 06:55:47,867 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:55:47,867 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:55:47,867 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-15 06:55:47,867 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-15 06:55:47,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:47,869 INFO L93 Difference]: Finished difference Result 86 states and 108 transitions. [2022-04-15 06:55:47,869 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 108 transitions. [2022-04-15 06:55:47,869 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:55:47,869 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:55:47,869 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:55:47,869 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:55:47,869 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-15 06:55:47,871 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 101 transitions. [2022-04-15 06:55:47,871 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 101 transitions. Word has length 25 [2022-04-15 06:55:47,871 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:55:47,871 INFO L478 AbstractCegarLoop]: Abstraction has 81 states and 101 transitions. [2022-04-15 06:55:47,871 INFO L479 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-15 06:55:47,871 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 81 states and 101 transitions. [2022-04-15 06:55:47,958 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-15 06:55:47,959 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 101 transitions. [2022-04-15 06:55:47,959 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-04-15 06:55:47,959 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:55:47,959 INFO L499 BasicCegarLoop]: 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-15 06:55:47,959 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-04-15 06:55:47,959 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:55:47,960 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:55:47,960 INFO L85 PathProgramCache]: Analyzing trace with hash 2069301023, now seen corresponding path program 1 times [2022-04-15 06:55:47,960 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:55:47,960 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [577058761] [2022-04-15 06:55:52,074 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:55:52,192 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-15 06:55:52,193 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:55:52,195 INFO L85 PathProgramCache]: Analyzing trace with hash -893958590, now seen corresponding path program 1 times [2022-04-15 06:55:52,195 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:55:52,195 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [608283533] [2022-04-15 06:55:52,195 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:55:52,196 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:55:52,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:52,383 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:55:52,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:52,390 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-15 06:55:52,390 INFO L290 TraceCheckUtils]: 1: Hoare triple {2595#(<= 20 ~SIZE~0)} assume true; {2595#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:52,390 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2595#(<= 20 ~SIZE~0)} {2590#true} #90#return; {2595#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:52,390 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:55:52,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:52,394 INFO L290 TraceCheckUtils]: 0: Hoare triple {2590#true} ~cond := #in~cond; {2590#true} is VALID [2022-04-15 06:55:52,394 INFO L290 TraceCheckUtils]: 1: Hoare triple {2590#true} assume !(0 == ~cond); {2590#true} is VALID [2022-04-15 06:55:52,394 INFO L290 TraceCheckUtils]: 2: Hoare triple {2590#true} assume true; {2590#true} is VALID [2022-04-15 06:55:52,395 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2590#true} {2595#(<= 20 ~SIZE~0)} #86#return; {2595#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:52,396 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-15 06:55:52,396 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-15 06:55:52,397 INFO L290 TraceCheckUtils]: 2: Hoare triple {2595#(<= 20 ~SIZE~0)} assume true; {2595#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:52,397 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2595#(<= 20 ~SIZE~0)} {2590#true} #90#return; {2595#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:52,404 INFO L272 TraceCheckUtils]: 4: Hoare triple {2595#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {2595#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:52,405 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-15 06:55:52,405 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-15 06:55:52,405 INFO L290 TraceCheckUtils]: 7: Hoare triple {2590#true} ~cond := #in~cond; {2590#true} is VALID [2022-04-15 06:55:52,405 INFO L290 TraceCheckUtils]: 8: Hoare triple {2590#true} assume !(0 == ~cond); {2590#true} is VALID [2022-04-15 06:55:52,405 INFO L290 TraceCheckUtils]: 9: Hoare triple {2590#true} assume true; {2590#true} is VALID [2022-04-15 06:55:52,405 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2590#true} {2595#(<= 20 ~SIZE~0)} #86#return; {2595#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:52,406 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-15 06:55:52,406 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-15 06:55:52,407 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-15 06:55:52,408 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-15 06:55:52,409 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-15 06:55:52,409 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-15 06:55:52,410 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-15 06:55:52,410 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-15 06:55:52,411 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-15 06:55:52,411 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-15 06:55:52,412 INFO L290 TraceCheckUtils]: 21: Hoare triple {2607#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {2591#false} is VALID [2022-04-15 06:55:52,412 INFO L290 TraceCheckUtils]: 22: Hoare triple {2591#false} assume !false; {2591#false} is VALID [2022-04-15 06:55:52,412 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-15 06:55:52,412 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:55:52,412 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [608283533] [2022-04-15 06:55:52,412 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [608283533] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:55:52,412 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:55:52,412 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 06:55:52,536 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:55:52,537 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [577058761] [2022-04-15 06:55:52,537 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [577058761] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:55:52,537 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:55:52,537 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 06:55:52,537 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1522228618] [2022-04-15 06:55:52,537 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:55:52,537 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-15 06:55:52,537 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:55:52,538 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-15 06:55:52,556 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-15 06:55:52,556 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 06:55:52,556 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:55:52,556 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 06:55:52,557 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-15 06:55:52,557 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-15 06:55:53,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:53,465 INFO L93 Difference]: Finished difference Result 106 states and 132 transitions. [2022-04-15 06:55:53,465 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 06:55:53,466 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-15 06:55:53,466 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:55:53,466 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-15 06:55:53,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 63 transitions. [2022-04-15 06:55:53,467 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-15 06:55:53,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 63 transitions. [2022-04-15 06:55:53,468 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 63 transitions. [2022-04-15 06:55:53,517 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-15 06:55:53,518 INFO L225 Difference]: With dead ends: 106 [2022-04-15 06:55:53,518 INFO L226 Difference]: Without dead ends: 104 [2022-04-15 06:55:53,519 INFO L912 BasicCegarLoop]: 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-15 06:55:53,519 INFO L913 BasicCegarLoop]: 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-15 06:55:53,519 INFO L914 BasicCegarLoop]: 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-15 06:55:53,519 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-15 06:55:53,674 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 95. [2022-04-15 06:55:53,674 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:55:53,675 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-15 06:55:53,675 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-15 06:55:53,675 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-15 06:55:53,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:53,677 INFO L93 Difference]: Finished difference Result 104 states and 130 transitions. [2022-04-15 06:55:53,677 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 130 transitions. [2022-04-15 06:55:53,678 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:55:53,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:55:53,678 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-15 06:55:53,678 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-15 06:55:53,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:55:53,680 INFO L93 Difference]: Finished difference Result 104 states and 130 transitions. [2022-04-15 06:55:53,680 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 130 transitions. [2022-04-15 06:55:53,680 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:55:53,680 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:55:53,680 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:55:53,680 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:55:53,681 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-15 06:55:53,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 119 transitions. [2022-04-15 06:55:53,683 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 119 transitions. Word has length 25 [2022-04-15 06:55:53,683 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:55:53,683 INFO L478 AbstractCegarLoop]: Abstraction has 95 states and 119 transitions. [2022-04-15 06:55:53,683 INFO L479 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-15 06:55:53,683 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 95 states and 119 transitions. [2022-04-15 06:55:53,790 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-15 06:55:53,790 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 119 transitions. [2022-04-15 06:55:53,790 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 06:55:53,790 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:55:53,791 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 06:55:53,791 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-04-15 06:55:53,791 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:55:53,791 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:55:53,791 INFO L85 PathProgramCache]: Analyzing trace with hash 1643345404, now seen corresponding path program 1 times [2022-04-15 06:55:53,791 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:55:53,791 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [200388676] [2022-04-15 06:55:55,335 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:55:55,437 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-15 06:55:59,591 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:55:59,711 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-15 06:55:59,713 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:55:59,716 INFO L85 PathProgramCache]: Analyzing trace with hash 1445312577, now seen corresponding path program 1 times [2022-04-15 06:55:59,717 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:55:59,717 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [273161912] [2022-04-15 06:55:59,717 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:55:59,717 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:55:59,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:59,881 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:55:59,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:59,892 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-15 06:55:59,893 INFO L290 TraceCheckUtils]: 1: Hoare triple {3247#(<= 20 ~SIZE~0)} assume true; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:59,893 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3247#(<= 20 ~SIZE~0)} {3242#true} #90#return; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:59,893 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:55:59,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:59,896 INFO L290 TraceCheckUtils]: 0: Hoare triple {3242#true} ~cond := #in~cond; {3242#true} is VALID [2022-04-15 06:55:59,896 INFO L290 TraceCheckUtils]: 1: Hoare triple {3242#true} assume !(0 == ~cond); {3242#true} is VALID [2022-04-15 06:55:59,896 INFO L290 TraceCheckUtils]: 2: Hoare triple {3242#true} assume true; {3242#true} is VALID [2022-04-15 06:55:59,896 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3242#true} {3247#(<= 20 ~SIZE~0)} #86#return; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:59,897 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-15 06:55:59,898 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-15 06:55:59,898 INFO L290 TraceCheckUtils]: 2: Hoare triple {3247#(<= 20 ~SIZE~0)} assume true; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:59,898 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3247#(<= 20 ~SIZE~0)} {3242#true} #90#return; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:59,899 INFO L272 TraceCheckUtils]: 4: Hoare triple {3247#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:59,899 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-15 06:55:59,899 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-15 06:55:59,899 INFO L290 TraceCheckUtils]: 7: Hoare triple {3242#true} ~cond := #in~cond; {3242#true} is VALID [2022-04-15 06:55:59,899 INFO L290 TraceCheckUtils]: 8: Hoare triple {3242#true} assume !(0 == ~cond); {3242#true} is VALID [2022-04-15 06:55:59,899 INFO L290 TraceCheckUtils]: 9: Hoare triple {3242#true} assume true; {3242#true} is VALID [2022-04-15 06:55:59,900 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3242#true} {3247#(<= 20 ~SIZE~0)} #86#return; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:55:59,900 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-15 06:55:59,900 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-15 06:55:59,901 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-15 06:55:59,902 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-15 06:55:59,902 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-15 06:55:59,903 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-15 06:55:59,903 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-15 06:55:59,904 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-15 06:55:59,904 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-15 06:55:59,905 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-15 06:55:59,906 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-15 06:55:59,906 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-15 06:55:59,906 INFO L290 TraceCheckUtils]: 23: Hoare triple {3259#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {3243#false} is VALID [2022-04-15 06:55:59,906 INFO L290 TraceCheckUtils]: 24: Hoare triple {3243#false} assume !false; {3243#false} is VALID [2022-04-15 06:55:59,907 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-15 06:55:59,907 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:55:59,907 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [273161912] [2022-04-15 06:55:59,907 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [273161912] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:55:59,907 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1101089364] [2022-04-15 06:55:59,907 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:55:59,907 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:55:59,907 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:55:59,908 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-15 06:55:59,938 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-15 06:55:59,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:59,967 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:55:59,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:55:59,981 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:56:00,188 INFO L272 TraceCheckUtils]: 0: Hoare triple {3242#true} call ULTIMATE.init(); {3242#true} is VALID [2022-04-15 06:56:00,188 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-15 06:56:00,189 INFO L290 TraceCheckUtils]: 2: Hoare triple {3247#(<= 20 ~SIZE~0)} assume true; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:00,189 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3247#(<= 20 ~SIZE~0)} {3242#true} #90#return; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:00,189 INFO L272 TraceCheckUtils]: 4: Hoare triple {3247#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:00,189 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-15 06:56:00,190 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-15 06:56:00,190 INFO L290 TraceCheckUtils]: 7: Hoare triple {3247#(<= 20 ~SIZE~0)} ~cond := #in~cond; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:00,197 INFO L290 TraceCheckUtils]: 8: Hoare triple {3247#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:00,198 INFO L290 TraceCheckUtils]: 9: Hoare triple {3247#(<= 20 ~SIZE~0)} assume true; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:00,198 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3247#(<= 20 ~SIZE~0)} {3247#(<= 20 ~SIZE~0)} #86#return; {3247#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:00,198 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-15 06:56:00,199 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-15 06:56:00,199 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-15 06:56:00,200 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-15 06:56:00,200 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-15 06:56:00,201 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-15 06:56:00,201 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-15 06:56:00,201 INFO L290 TraceCheckUtils]: 18: Hoare triple {3243#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {3243#false} is VALID [2022-04-15 06:56:00,201 INFO L290 TraceCheckUtils]: 19: Hoare triple {3243#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {3243#false} is VALID [2022-04-15 06:56:00,202 INFO L290 TraceCheckUtils]: 20: Hoare triple {3243#false} assume !(~d~0 == ~SIZE~0); {3243#false} is VALID [2022-04-15 06:56:00,202 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-15 06:56:00,202 INFO L290 TraceCheckUtils]: 22: Hoare triple {3243#false} ~cond := #in~cond; {3243#false} is VALID [2022-04-15 06:56:00,202 INFO L290 TraceCheckUtils]: 23: Hoare triple {3243#false} assume 0 == ~cond; {3243#false} is VALID [2022-04-15 06:56:00,202 INFO L290 TraceCheckUtils]: 24: Hoare triple {3243#false} assume !false; {3243#false} is VALID [2022-04-15 06:56:00,208 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-15 06:56:00,208 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:56:00,475 INFO L290 TraceCheckUtils]: 24: Hoare triple {3243#false} assume !false; {3243#false} is VALID [2022-04-15 06:56:00,476 INFO L290 TraceCheckUtils]: 23: Hoare triple {3243#false} assume 0 == ~cond; {3243#false} is VALID [2022-04-15 06:56:00,476 INFO L290 TraceCheckUtils]: 22: Hoare triple {3243#false} ~cond := #in~cond; {3243#false} is VALID [2022-04-15 06:56:00,476 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-15 06:56:00,476 INFO L290 TraceCheckUtils]: 20: Hoare triple {3243#false} assume !(~d~0 == ~SIZE~0); {3243#false} is VALID [2022-04-15 06:56:00,476 INFO L290 TraceCheckUtils]: 19: Hoare triple {3243#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {3243#false} is VALID [2022-04-15 06:56:00,476 INFO L290 TraceCheckUtils]: 18: Hoare triple {3243#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {3243#false} is VALID [2022-04-15 06:56:00,476 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-15 06:56:00,477 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-15 06:56:00,477 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-15 06:56:00,478 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-15 06:56:00,478 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-15 06:56:00,479 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-15 06:56:00,479 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-15 06:56:00,481 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3242#true} {3378#(< 1 ~SIZE~0)} #86#return; {3378#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:00,481 INFO L290 TraceCheckUtils]: 9: Hoare triple {3242#true} assume true; {3242#true} is VALID [2022-04-15 06:56:00,481 INFO L290 TraceCheckUtils]: 8: Hoare triple {3242#true} assume !(0 == ~cond); {3242#true} is VALID [2022-04-15 06:56:00,481 INFO L290 TraceCheckUtils]: 7: Hoare triple {3242#true} ~cond := #in~cond; {3242#true} is VALID [2022-04-15 06:56:00,481 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-15 06:56:00,482 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-15 06:56:00,482 INFO L272 TraceCheckUtils]: 4: Hoare triple {3378#(< 1 ~SIZE~0)} call #t~ret7 := main(); {3378#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:00,482 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3378#(< 1 ~SIZE~0)} {3242#true} #90#return; {3378#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:00,483 INFO L290 TraceCheckUtils]: 2: Hoare triple {3378#(< 1 ~SIZE~0)} assume true; {3378#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:00,483 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-15 06:56:00,483 INFO L272 TraceCheckUtils]: 0: Hoare triple {3242#true} call ULTIMATE.init(); {3242#true} is VALID [2022-04-15 06:56:00,483 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-15 06:56:00,484 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1101089364] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:56:00,484 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:56:00,484 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:56:00,740 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:56:00,741 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [200388676] [2022-04-15 06:56:00,741 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [200388676] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:56:00,741 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:56:00,741 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 06:56:00,741 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [214508255] [2022-04-15 06:56:00,741 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:56:00,742 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-15 06:56:00,742 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:56:00,742 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-15 06:56:00,758 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-15 06:56:00,759 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 06:56:00,759 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:56:00,759 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 06:56:00,759 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=119, Invalid=481, Unknown=0, NotChecked=0, Total=600 [2022-04-15 06:56:00,759 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-15 06:56:01,525 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:01,525 INFO L93 Difference]: Finished difference Result 172 states and 221 transitions. [2022-04-15 06:56:01,525 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 06:56:01,526 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-15 06:56:01,526 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:56:01,526 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-15 06:56:01,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 74 transitions. [2022-04-15 06:56:01,527 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-15 06:56:01,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 74 transitions. [2022-04-15 06:56:01,528 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 74 transitions. [2022-04-15 06:56:01,579 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-15 06:56:01,580 INFO L225 Difference]: With dead ends: 172 [2022-04-15 06:56:01,580 INFO L226 Difference]: Without dead ends: 107 [2022-04-15 06:56:01,581 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 48 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 162 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=131, Invalid=571, Unknown=0, NotChecked=0, Total=702 [2022-04-15 06:56:01,581 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 46 mSDsluCounter, 38 mSDsCounter, 0 mSdLazyCounter, 356 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-15 06:56:01,581 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [47 Valid, 58 Invalid, 367 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 356 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 06:56:01,582 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2022-04-15 06:56:01,749 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 100. [2022-04-15 06:56:01,749 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:56:01,750 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-15 06:56:01,750 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-15 06:56:01,750 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-15 06:56:01,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:01,752 INFO L93 Difference]: Finished difference Result 107 states and 134 transitions. [2022-04-15 06:56:01,752 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 134 transitions. [2022-04-15 06:56:01,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:56:01,753 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:56:01,753 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-15 06:56:01,753 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-15 06:56:01,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:01,755 INFO L93 Difference]: Finished difference Result 107 states and 134 transitions. [2022-04-15 06:56:01,755 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 134 transitions. [2022-04-15 06:56:01,755 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:56:01,756 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:56:01,756 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:56:01,756 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:56:01,756 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-15 06:56:01,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 125 transitions. [2022-04-15 06:56:01,758 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 125 transitions. Word has length 28 [2022-04-15 06:56:01,758 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:56:01,758 INFO L478 AbstractCegarLoop]: Abstraction has 100 states and 125 transitions. [2022-04-15 06:56:01,758 INFO L479 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-15 06:56:01,759 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 100 states and 125 transitions. [2022-04-15 06:56:01,878 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-15 06:56:01,878 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 125 transitions. [2022-04-15 06:56:01,878 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-15 06:56:01,878 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:56:01,878 INFO L499 BasicCegarLoop]: 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-15 06:56:01,920 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-15 06:56:02,079 WARN L460 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-15 06:56:02,079 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:56:02,080 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:56:02,080 INFO L85 PathProgramCache]: Analyzing trace with hash -646101633, now seen corresponding path program 2 times [2022-04-15 06:56:02,080 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:56:02,080 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1869620931] [2022-04-15 06:56:06,199 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:56:06,305 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-15 06:56:06,532 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-15 06:56:06,534 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:56:06,537 INFO L85 PathProgramCache]: Analyzing trace with hash -357131967, now seen corresponding path program 1 times [2022-04-15 06:56:06,537 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:56:06,537 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2040165980] [2022-04-15 06:56:06,537 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:56:06,537 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:56:06,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:06,725 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:56:06,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:06,731 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-15 06:56:06,732 INFO L290 TraceCheckUtils]: 1: Hoare triple {4191#(<= 20 ~SIZE~0)} assume true; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:06,732 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4191#(<= 20 ~SIZE~0)} {4186#true} #90#return; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:06,732 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:56:06,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:06,735 INFO L290 TraceCheckUtils]: 0: Hoare triple {4186#true} ~cond := #in~cond; {4186#true} is VALID [2022-04-15 06:56:06,735 INFO L290 TraceCheckUtils]: 1: Hoare triple {4186#true} assume !(0 == ~cond); {4186#true} is VALID [2022-04-15 06:56:06,735 INFO L290 TraceCheckUtils]: 2: Hoare triple {4186#true} assume true; {4186#true} is VALID [2022-04-15 06:56:06,735 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4186#true} {4191#(<= 20 ~SIZE~0)} #86#return; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:06,736 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-15 06:56:06,736 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-15 06:56:06,737 INFO L290 TraceCheckUtils]: 2: Hoare triple {4191#(<= 20 ~SIZE~0)} assume true; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:06,737 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4191#(<= 20 ~SIZE~0)} {4186#true} #90#return; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:06,737 INFO L272 TraceCheckUtils]: 4: Hoare triple {4191#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:06,738 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-15 06:56:06,738 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-15 06:56:06,738 INFO L290 TraceCheckUtils]: 7: Hoare triple {4186#true} ~cond := #in~cond; {4186#true} is VALID [2022-04-15 06:56:06,738 INFO L290 TraceCheckUtils]: 8: Hoare triple {4186#true} assume !(0 == ~cond); {4186#true} is VALID [2022-04-15 06:56:06,738 INFO L290 TraceCheckUtils]: 9: Hoare triple {4186#true} assume true; {4186#true} is VALID [2022-04-15 06:56:06,739 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4186#true} {4191#(<= 20 ~SIZE~0)} #86#return; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:06,739 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-15 06:56:06,739 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-15 06:56:06,740 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-15 06:56:06,741 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-15 06:56:06,741 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-15 06:56:06,742 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-15 06:56:06,742 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-15 06:56:06,743 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-15 06:56:06,744 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-15 06:56:06,744 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-15 06:56:06,745 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-15 06:56:06,745 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-15 06:56:06,745 INFO L290 TraceCheckUtils]: 23: Hoare triple {4203#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {4187#false} is VALID [2022-04-15 06:56:06,745 INFO L290 TraceCheckUtils]: 24: Hoare triple {4187#false} assume !false; {4187#false} is VALID [2022-04-15 06:56:06,746 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-15 06:56:06,746 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:56:06,746 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2040165980] [2022-04-15 06:56:06,746 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2040165980] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:56:06,746 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [296439523] [2022-04-15 06:56:06,746 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:56:06,746 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:56:06,746 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:56:06,747 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-15 06:56:06,763 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-15 06:56:06,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:06,793 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:56:06,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:06,800 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:56:07,051 INFO L272 TraceCheckUtils]: 0: Hoare triple {4186#true} call ULTIMATE.init(); {4186#true} is VALID [2022-04-15 06:56:07,051 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-15 06:56:07,052 INFO L290 TraceCheckUtils]: 2: Hoare triple {4191#(<= 20 ~SIZE~0)} assume true; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:07,052 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4191#(<= 20 ~SIZE~0)} {4186#true} #90#return; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:07,052 INFO L272 TraceCheckUtils]: 4: Hoare triple {4191#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:07,053 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-15 06:56:07,053 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-15 06:56:07,053 INFO L290 TraceCheckUtils]: 7: Hoare triple {4191#(<= 20 ~SIZE~0)} ~cond := #in~cond; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:07,054 INFO L290 TraceCheckUtils]: 8: Hoare triple {4191#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:07,054 INFO L290 TraceCheckUtils]: 9: Hoare triple {4191#(<= 20 ~SIZE~0)} assume true; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:07,055 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4191#(<= 20 ~SIZE~0)} {4191#(<= 20 ~SIZE~0)} #86#return; {4191#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:07,055 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-15 06:56:07,055 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-15 06:56:07,056 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-15 06:56:07,056 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-15 06:56:07,057 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-15 06:56:07,058 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-15 06:56:07,058 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-15 06:56:07,058 INFO L290 TraceCheckUtils]: 18: Hoare triple {4187#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {4187#false} is VALID [2022-04-15 06:56:07,058 INFO L290 TraceCheckUtils]: 19: Hoare triple {4187#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {4187#false} is VALID [2022-04-15 06:56:07,058 INFO L290 TraceCheckUtils]: 20: Hoare triple {4187#false} assume !(~d~0 == ~SIZE~0); {4187#false} is VALID [2022-04-15 06:56:07,059 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-15 06:56:07,059 INFO L290 TraceCheckUtils]: 22: Hoare triple {4187#false} ~cond := #in~cond; {4187#false} is VALID [2022-04-15 06:56:07,059 INFO L290 TraceCheckUtils]: 23: Hoare triple {4187#false} assume 0 == ~cond; {4187#false} is VALID [2022-04-15 06:56:07,059 INFO L290 TraceCheckUtils]: 24: Hoare triple {4187#false} assume !false; {4187#false} is VALID [2022-04-15 06:56:07,059 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-15 06:56:07,059 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:56:07,329 INFO L290 TraceCheckUtils]: 24: Hoare triple {4187#false} assume !false; {4187#false} is VALID [2022-04-15 06:56:07,329 INFO L290 TraceCheckUtils]: 23: Hoare triple {4187#false} assume 0 == ~cond; {4187#false} is VALID [2022-04-15 06:56:07,329 INFO L290 TraceCheckUtils]: 22: Hoare triple {4187#false} ~cond := #in~cond; {4187#false} is VALID [2022-04-15 06:56:07,329 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-15 06:56:07,329 INFO L290 TraceCheckUtils]: 20: Hoare triple {4187#false} assume !(~d~0 == ~SIZE~0); {4187#false} is VALID [2022-04-15 06:56:07,330 INFO L290 TraceCheckUtils]: 19: Hoare triple {4187#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {4187#false} is VALID [2022-04-15 06:56:07,330 INFO L290 TraceCheckUtils]: 18: Hoare triple {4187#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {4187#false} is VALID [2022-04-15 06:56:07,330 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-15 06:56:07,331 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-15 06:56:07,332 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-15 06:56:07,332 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-15 06:56:07,333 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-15 06:56:07,334 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-15 06:56:07,334 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-15 06:56:07,335 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4186#true} {4322#(< 1 ~SIZE~0)} #86#return; {4322#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:07,335 INFO L290 TraceCheckUtils]: 9: Hoare triple {4186#true} assume true; {4186#true} is VALID [2022-04-15 06:56:07,335 INFO L290 TraceCheckUtils]: 8: Hoare triple {4186#true} assume !(0 == ~cond); {4186#true} is VALID [2022-04-15 06:56:07,335 INFO L290 TraceCheckUtils]: 7: Hoare triple {4186#true} ~cond := #in~cond; {4186#true} is VALID [2022-04-15 06:56:07,335 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-15 06:56:07,336 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-15 06:56:07,336 INFO L272 TraceCheckUtils]: 4: Hoare triple {4322#(< 1 ~SIZE~0)} call #t~ret7 := main(); {4322#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:07,337 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4322#(< 1 ~SIZE~0)} {4186#true} #90#return; {4322#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:07,337 INFO L290 TraceCheckUtils]: 2: Hoare triple {4322#(< 1 ~SIZE~0)} assume true; {4322#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:07,338 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-15 06:56:07,338 INFO L272 TraceCheckUtils]: 0: Hoare triple {4186#true} call ULTIMATE.init(); {4186#true} is VALID [2022-04-15 06:56:07,338 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-15 06:56:07,338 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [296439523] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:56:07,338 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:56:07,338 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:56:07,672 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:56:07,672 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1869620931] [2022-04-15 06:56:07,672 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1869620931] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:56:07,672 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:56:07,672 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-15 06:56:07,672 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [288106613] [2022-04-15 06:56:07,672 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:56:07,672 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-15 06:56:07,673 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:56:07,673 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-15 06:56:07,695 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-15 06:56:07,695 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-15 06:56:07,695 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:56:07,695 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-15 06:56:07,696 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=126, Invalid=524, Unknown=0, NotChecked=0, Total=650 [2022-04-15 06:56:07,696 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-15 06:56:08,673 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:08,673 INFO L93 Difference]: Finished difference Result 164 states and 210 transitions. [2022-04-15 06:56:08,674 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 06:56:08,674 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-15 06:56:08,674 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:56:08,674 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-15 06:56:08,675 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 76 transitions. [2022-04-15 06:56:08,675 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-15 06:56:08,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 76 transitions. [2022-04-15 06:56:08,676 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 76 transitions. [2022-04-15 06:56:08,729 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-15 06:56:08,731 INFO L225 Difference]: With dead ends: 164 [2022-04-15 06:56:08,731 INFO L226 Difference]: Without dead ends: 110 [2022-04-15 06:56:08,732 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 48 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 208 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=138, Invalid=618, Unknown=0, NotChecked=0, Total=756 [2022-04-15 06:56:08,732 INFO L913 BasicCegarLoop]: 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-15 06:56:08,732 INFO L914 BasicCegarLoop]: 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-15 06:56:08,733 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-15 06:56:08,904 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 103. [2022-04-15 06:56:08,905 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:56:08,905 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-15 06:56:08,905 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-15 06:56:08,906 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-15 06:56:08,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:08,908 INFO L93 Difference]: Finished difference Result 110 states and 137 transitions. [2022-04-15 06:56:08,909 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 137 transitions. [2022-04-15 06:56:08,910 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:56:08,910 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:56:08,910 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-15 06:56:08,910 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-15 06:56:08,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:08,912 INFO L93 Difference]: Finished difference Result 110 states and 137 transitions. [2022-04-15 06:56:08,912 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 137 transitions. [2022-04-15 06:56:08,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:56:08,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:56:08,913 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:56:08,913 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:56:08,914 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-15 06:56:08,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 128 transitions. [2022-04-15 06:56:08,916 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 128 transitions. Word has length 31 [2022-04-15 06:56:08,916 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:56:08,916 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 128 transitions. [2022-04-15 06:56:08,920 INFO L479 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-15 06:56:08,920 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 128 transitions. [2022-04-15 06:56:09,051 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-15 06:56:09,051 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-15 06:56:09,053 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-15 06:56:09,053 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:56:09,053 INFO L499 BasicCegarLoop]: 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-15 06:56:09,073 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-15 06:56:09,271 WARN L460 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-15 06:56:09,271 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:56:09,271 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:56:09,271 INFO L85 PathProgramCache]: Analyzing trace with hash -1657218883, now seen corresponding path program 3 times [2022-04-15 06:56:09,271 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:56:09,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [873803514] [2022-04-15 06:56:09,519 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-15 06:56:09,754 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-15 06:56:09,755 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:56:09,758 INFO L85 PathProgramCache]: Analyzing trace with hash 2135390785, now seen corresponding path program 1 times [2022-04-15 06:56:09,758 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:56:09,758 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1285073692] [2022-04-15 06:56:09,758 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:56:09,759 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:56:09,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:09,928 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:56:09,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:09,934 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-15 06:56:09,934 INFO L290 TraceCheckUtils]: 1: Hoare triple {5132#(<= 20 ~SIZE~0)} assume true; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:09,935 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5132#(<= 20 ~SIZE~0)} {5127#true} #90#return; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:09,935 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:56:09,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:09,937 INFO L290 TraceCheckUtils]: 0: Hoare triple {5127#true} ~cond := #in~cond; {5127#true} is VALID [2022-04-15 06:56:09,937 INFO L290 TraceCheckUtils]: 1: Hoare triple {5127#true} assume !(0 == ~cond); {5127#true} is VALID [2022-04-15 06:56:09,937 INFO L290 TraceCheckUtils]: 2: Hoare triple {5127#true} assume true; {5127#true} is VALID [2022-04-15 06:56:09,938 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5127#true} {5132#(<= 20 ~SIZE~0)} #86#return; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:09,938 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-15 06:56:09,939 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-15 06:56:09,939 INFO L290 TraceCheckUtils]: 2: Hoare triple {5132#(<= 20 ~SIZE~0)} assume true; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:09,940 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5132#(<= 20 ~SIZE~0)} {5127#true} #90#return; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:09,940 INFO L272 TraceCheckUtils]: 4: Hoare triple {5132#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:09,940 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-15 06:56:09,940 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-15 06:56:09,940 INFO L290 TraceCheckUtils]: 7: Hoare triple {5127#true} ~cond := #in~cond; {5127#true} is VALID [2022-04-15 06:56:09,941 INFO L290 TraceCheckUtils]: 8: Hoare triple {5127#true} assume !(0 == ~cond); {5127#true} is VALID [2022-04-15 06:56:09,941 INFO L290 TraceCheckUtils]: 9: Hoare triple {5127#true} assume true; {5127#true} is VALID [2022-04-15 06:56:09,941 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5127#true} {5132#(<= 20 ~SIZE~0)} #86#return; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:09,941 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-15 06:56:09,942 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-15 06:56:09,943 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-15 06:56:09,943 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-15 06:56:09,944 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-15 06:56:09,944 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-15 06:56:09,945 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-15 06:56:09,945 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-15 06:56:09,946 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-15 06:56:09,946 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-15 06:56:09,947 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-15 06:56:09,947 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-15 06:56:09,948 INFO L290 TraceCheckUtils]: 23: Hoare triple {5144#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {5128#false} is VALID [2022-04-15 06:56:09,948 INFO L290 TraceCheckUtils]: 24: Hoare triple {5128#false} assume !false; {5128#false} is VALID [2022-04-15 06:56:09,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-15 06:56:09,948 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:56:09,948 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1285073692] [2022-04-15 06:56:09,948 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1285073692] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:56:09,948 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [269255807] [2022-04-15 06:56:09,948 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:56:09,949 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:56:09,949 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:56:09,961 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-15 06:56:09,962 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-15 06:56:09,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:09,992 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:56:09,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:09,999 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:56:10,251 INFO L272 TraceCheckUtils]: 0: Hoare triple {5127#true} call ULTIMATE.init(); {5127#true} is VALID [2022-04-15 06:56:10,252 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-15 06:56:10,253 INFO L290 TraceCheckUtils]: 2: Hoare triple {5132#(<= 20 ~SIZE~0)} assume true; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:10,253 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5132#(<= 20 ~SIZE~0)} {5127#true} #90#return; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:10,253 INFO L272 TraceCheckUtils]: 4: Hoare triple {5132#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:10,254 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-15 06:56:10,254 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-15 06:56:10,254 INFO L290 TraceCheckUtils]: 7: Hoare triple {5132#(<= 20 ~SIZE~0)} ~cond := #in~cond; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:10,255 INFO L290 TraceCheckUtils]: 8: Hoare triple {5132#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:10,255 INFO L290 TraceCheckUtils]: 9: Hoare triple {5132#(<= 20 ~SIZE~0)} assume true; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:10,255 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5132#(<= 20 ~SIZE~0)} {5132#(<= 20 ~SIZE~0)} #86#return; {5132#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:10,256 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-15 06:56:10,256 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-15 06:56:10,257 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-15 06:56:10,257 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-15 06:56:10,258 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-15 06:56:10,259 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-15 06:56:10,259 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-15 06:56:10,259 INFO L290 TraceCheckUtils]: 18: Hoare triple {5128#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {5128#false} is VALID [2022-04-15 06:56:10,259 INFO L290 TraceCheckUtils]: 19: Hoare triple {5128#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {5128#false} is VALID [2022-04-15 06:56:10,259 INFO L290 TraceCheckUtils]: 20: Hoare triple {5128#false} assume !(~d~0 == ~SIZE~0); {5128#false} is VALID [2022-04-15 06:56:10,259 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-15 06:56:10,259 INFO L290 TraceCheckUtils]: 22: Hoare triple {5128#false} ~cond := #in~cond; {5128#false} is VALID [2022-04-15 06:56:10,260 INFO L290 TraceCheckUtils]: 23: Hoare triple {5128#false} assume 0 == ~cond; {5128#false} is VALID [2022-04-15 06:56:10,260 INFO L290 TraceCheckUtils]: 24: Hoare triple {5128#false} assume !false; {5128#false} is VALID [2022-04-15 06:56:10,260 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-15 06:56:10,260 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:56:10,535 INFO L290 TraceCheckUtils]: 24: Hoare triple {5128#false} assume !false; {5128#false} is VALID [2022-04-15 06:56:10,535 INFO L290 TraceCheckUtils]: 23: Hoare triple {5128#false} assume 0 == ~cond; {5128#false} is VALID [2022-04-15 06:56:10,535 INFO L290 TraceCheckUtils]: 22: Hoare triple {5128#false} ~cond := #in~cond; {5128#false} is VALID [2022-04-15 06:56:10,535 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-15 06:56:10,535 INFO L290 TraceCheckUtils]: 20: Hoare triple {5128#false} assume !(~d~0 == ~SIZE~0); {5128#false} is VALID [2022-04-15 06:56:10,535 INFO L290 TraceCheckUtils]: 19: Hoare triple {5128#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {5128#false} is VALID [2022-04-15 06:56:10,535 INFO L290 TraceCheckUtils]: 18: Hoare triple {5128#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {5128#false} is VALID [2022-04-15 06:56:10,536 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-15 06:56:10,536 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-15 06:56:10,537 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-15 06:56:10,537 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-15 06:56:10,538 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-15 06:56:10,538 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-15 06:56:10,539 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-15 06:56:10,539 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5127#true} {5263#(< 1 ~SIZE~0)} #86#return; {5263#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:10,539 INFO L290 TraceCheckUtils]: 9: Hoare triple {5127#true} assume true; {5127#true} is VALID [2022-04-15 06:56:10,539 INFO L290 TraceCheckUtils]: 8: Hoare triple {5127#true} assume !(0 == ~cond); {5127#true} is VALID [2022-04-15 06:56:10,539 INFO L290 TraceCheckUtils]: 7: Hoare triple {5127#true} ~cond := #in~cond; {5127#true} is VALID [2022-04-15 06:56:10,539 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-15 06:56:10,540 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-15 06:56:10,540 INFO L272 TraceCheckUtils]: 4: Hoare triple {5263#(< 1 ~SIZE~0)} call #t~ret7 := main(); {5263#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:10,541 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5263#(< 1 ~SIZE~0)} {5127#true} #90#return; {5263#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:10,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {5263#(< 1 ~SIZE~0)} assume true; {5263#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:10,542 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-15 06:56:10,542 INFO L272 TraceCheckUtils]: 0: Hoare triple {5127#true} call ULTIMATE.init(); {5127#true} is VALID [2022-04-15 06:56:10,542 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-15 06:56:10,542 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [269255807] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:56:10,542 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:56:10,542 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:56:10,863 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:56:10,863 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [873803514] [2022-04-15 06:56:10,863 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [873803514] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:56:10,863 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:56:10,863 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-15 06:56:10,863 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [457927820] [2022-04-15 06:56:10,863 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:56:10,864 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-15 06:56:10,864 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:56:10,864 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-15 06:56:10,886 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-15 06:56:10,886 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-15 06:56:10,886 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:56:10,887 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-15 06:56:10,887 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=140, Invalid=562, Unknown=0, NotChecked=0, Total=702 [2022-04-15 06:56:10,887 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-15 06:56:11,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:11,777 INFO L93 Difference]: Finished difference Result 180 states and 230 transitions. [2022-04-15 06:56:11,777 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 06:56:11,777 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-15 06:56:11,778 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:56:11,778 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-15 06:56:11,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 78 transitions. [2022-04-15 06:56:11,778 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-15 06:56:11,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 78 transitions. [2022-04-15 06:56:11,779 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 78 transitions. [2022-04-15 06:56:11,833 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-15 06:56:11,834 INFO L225 Difference]: With dead ends: 180 [2022-04-15 06:56:11,834 INFO L226 Difference]: Without dead ends: 115 [2022-04-15 06:56:11,835 INFO L912 BasicCegarLoop]: 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-15 06:56:11,835 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 46 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 451 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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-15 06:56:11,835 INFO L914 BasicCegarLoop]: 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-15 06:56:11,836 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-04-15 06:56:12,017 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 106. [2022-04-15 06:56:12,018 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:56:12,018 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-15 06:56:12,018 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-15 06:56:12,018 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-15 06:56:12,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:12,020 INFO L93 Difference]: Finished difference Result 115 states and 143 transitions. [2022-04-15 06:56:12,020 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 143 transitions. [2022-04-15 06:56:12,020 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:56:12,020 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:56:12,021 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-15 06:56:12,021 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-15 06:56:12,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:12,022 INFO L93 Difference]: Finished difference Result 115 states and 143 transitions. [2022-04-15 06:56:12,022 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 143 transitions. [2022-04-15 06:56:12,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:56:12,023 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:56:12,023 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:56:12,023 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:56:12,023 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-15 06:56:12,025 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 132 transitions. [2022-04-15 06:56:12,025 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 132 transitions. Word has length 31 [2022-04-15 06:56:12,025 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:56:12,025 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 132 transitions. [2022-04-15 06:56:12,025 INFO L479 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-15 06:56:12,025 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 132 transitions. [2022-04-15 06:56:12,158 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-15 06:56:12,158 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 132 transitions. [2022-04-15 06:56:12,158 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 06:56:12,159 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:56:12,159 INFO L499 BasicCegarLoop]: 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-15 06:56:12,180 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-15 06:56:12,359 WARN L460 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-15 06:56:12,359 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:56:12,359 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:56:12,360 INFO L85 PathProgramCache]: Analyzing trace with hash -1482120420, now seen corresponding path program 4 times [2022-04-15 06:56:12,360 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:56:12,360 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1526084809] [2022-04-15 06:56:12,612 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-15 06:56:16,737 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:56:16,847 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-15 06:56:16,849 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:56:16,852 INFO L85 PathProgramCache]: Analyzing trace with hash 332946241, now seen corresponding path program 1 times [2022-04-15 06:56:16,852 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:56:16,852 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1566375954] [2022-04-15 06:56:16,852 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:56:16,852 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:56:16,860 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:17,013 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:56:17,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:17,019 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-15 06:56:17,019 INFO L290 TraceCheckUtils]: 1: Hoare triple {6122#(<= 20 ~SIZE~0)} assume true; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:17,019 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6122#(<= 20 ~SIZE~0)} {6117#true} #90#return; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:17,020 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:56:17,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:17,022 INFO L290 TraceCheckUtils]: 0: Hoare triple {6117#true} ~cond := #in~cond; {6117#true} is VALID [2022-04-15 06:56:17,022 INFO L290 TraceCheckUtils]: 1: Hoare triple {6117#true} assume !(0 == ~cond); {6117#true} is VALID [2022-04-15 06:56:17,022 INFO L290 TraceCheckUtils]: 2: Hoare triple {6117#true} assume true; {6117#true} is VALID [2022-04-15 06:56:17,022 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6117#true} {6122#(<= 20 ~SIZE~0)} #86#return; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:17,023 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-15 06:56:17,023 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-15 06:56:17,024 INFO L290 TraceCheckUtils]: 2: Hoare triple {6122#(<= 20 ~SIZE~0)} assume true; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:17,024 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6122#(<= 20 ~SIZE~0)} {6117#true} #90#return; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:17,024 INFO L272 TraceCheckUtils]: 4: Hoare triple {6122#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:17,025 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-15 06:56:17,025 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-15 06:56:17,025 INFO L290 TraceCheckUtils]: 7: Hoare triple {6117#true} ~cond := #in~cond; {6117#true} is VALID [2022-04-15 06:56:17,025 INFO L290 TraceCheckUtils]: 8: Hoare triple {6117#true} assume !(0 == ~cond); {6117#true} is VALID [2022-04-15 06:56:17,025 INFO L290 TraceCheckUtils]: 9: Hoare triple {6117#true} assume true; {6117#true} is VALID [2022-04-15 06:56:17,025 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6117#true} {6122#(<= 20 ~SIZE~0)} #86#return; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:17,026 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-15 06:56:17,026 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-15 06:56:17,027 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-15 06:56:17,027 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-15 06:56:17,028 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-15 06:56:17,029 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-15 06:56:17,029 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-15 06:56:17,030 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-15 06:56:17,030 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-15 06:56:17,031 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-15 06:56:17,031 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-15 06:56:17,032 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-15 06:56:17,032 INFO L290 TraceCheckUtils]: 23: Hoare triple {6134#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {6118#false} is VALID [2022-04-15 06:56:17,032 INFO L290 TraceCheckUtils]: 24: Hoare triple {6118#false} assume !false; {6118#false} is VALID [2022-04-15 06:56:17,032 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-15 06:56:17,032 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:56:17,032 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1566375954] [2022-04-15 06:56:17,033 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1566375954] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:56:17,033 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1385509309] [2022-04-15 06:56:17,033 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:56:17,033 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:56:17,033 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:56:17,034 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-15 06:56:17,036 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-15 06:56:17,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:17,062 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:56:17,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:17,070 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:56:17,302 INFO L272 TraceCheckUtils]: 0: Hoare triple {6117#true} call ULTIMATE.init(); {6117#true} is VALID [2022-04-15 06:56:17,303 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-15 06:56:17,303 INFO L290 TraceCheckUtils]: 2: Hoare triple {6122#(<= 20 ~SIZE~0)} assume true; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:17,303 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6122#(<= 20 ~SIZE~0)} {6117#true} #90#return; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:17,304 INFO L272 TraceCheckUtils]: 4: Hoare triple {6122#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:17,304 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-15 06:56:17,304 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-15 06:56:17,305 INFO L290 TraceCheckUtils]: 7: Hoare triple {6122#(<= 20 ~SIZE~0)} ~cond := #in~cond; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:17,305 INFO L290 TraceCheckUtils]: 8: Hoare triple {6122#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:17,305 INFO L290 TraceCheckUtils]: 9: Hoare triple {6122#(<= 20 ~SIZE~0)} assume true; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:17,306 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6122#(<= 20 ~SIZE~0)} {6122#(<= 20 ~SIZE~0)} #86#return; {6122#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:17,306 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-15 06:56:17,306 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-15 06:56:17,307 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-15 06:56:17,307 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-15 06:56:17,308 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-15 06:56:17,309 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-15 06:56:17,309 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-15 06:56:17,309 INFO L290 TraceCheckUtils]: 18: Hoare triple {6118#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {6118#false} is VALID [2022-04-15 06:56:17,309 INFO L290 TraceCheckUtils]: 19: Hoare triple {6118#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {6118#false} is VALID [2022-04-15 06:56:17,309 INFO L290 TraceCheckUtils]: 20: Hoare triple {6118#false} assume !(~d~0 == ~SIZE~0); {6118#false} is VALID [2022-04-15 06:56:17,309 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-15 06:56:17,310 INFO L290 TraceCheckUtils]: 22: Hoare triple {6118#false} ~cond := #in~cond; {6118#false} is VALID [2022-04-15 06:56:17,310 INFO L290 TraceCheckUtils]: 23: Hoare triple {6118#false} assume 0 == ~cond; {6118#false} is VALID [2022-04-15 06:56:17,310 INFO L290 TraceCheckUtils]: 24: Hoare triple {6118#false} assume !false; {6118#false} is VALID [2022-04-15 06:56:17,310 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-15 06:56:17,310 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:56:17,576 INFO L290 TraceCheckUtils]: 24: Hoare triple {6118#false} assume !false; {6118#false} is VALID [2022-04-15 06:56:17,576 INFO L290 TraceCheckUtils]: 23: Hoare triple {6118#false} assume 0 == ~cond; {6118#false} is VALID [2022-04-15 06:56:17,576 INFO L290 TraceCheckUtils]: 22: Hoare triple {6118#false} ~cond := #in~cond; {6118#false} is VALID [2022-04-15 06:56:17,576 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-15 06:56:17,576 INFO L290 TraceCheckUtils]: 20: Hoare triple {6118#false} assume !(~d~0 == ~SIZE~0); {6118#false} is VALID [2022-04-15 06:56:17,576 INFO L290 TraceCheckUtils]: 19: Hoare triple {6118#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {6118#false} is VALID [2022-04-15 06:56:17,576 INFO L290 TraceCheckUtils]: 18: Hoare triple {6118#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {6118#false} is VALID [2022-04-15 06:56:17,577 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-15 06:56:17,577 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-15 06:56:17,578 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-15 06:56:17,578 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-15 06:56:17,579 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-15 06:56:17,579 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-15 06:56:17,579 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-15 06:56:17,580 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6117#true} {6253#(< 1 ~SIZE~0)} #86#return; {6253#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:17,580 INFO L290 TraceCheckUtils]: 9: Hoare triple {6117#true} assume true; {6117#true} is VALID [2022-04-15 06:56:17,580 INFO L290 TraceCheckUtils]: 8: Hoare triple {6117#true} assume !(0 == ~cond); {6117#true} is VALID [2022-04-15 06:56:17,580 INFO L290 TraceCheckUtils]: 7: Hoare triple {6117#true} ~cond := #in~cond; {6117#true} is VALID [2022-04-15 06:56:17,580 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-15 06:56:17,580 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-15 06:56:17,581 INFO L272 TraceCheckUtils]: 4: Hoare triple {6253#(< 1 ~SIZE~0)} call #t~ret7 := main(); {6253#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:17,581 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6253#(< 1 ~SIZE~0)} {6117#true} #90#return; {6253#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:17,581 INFO L290 TraceCheckUtils]: 2: Hoare triple {6253#(< 1 ~SIZE~0)} assume true; {6253#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:17,582 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-15 06:56:17,582 INFO L272 TraceCheckUtils]: 0: Hoare triple {6117#true} call ULTIMATE.init(); {6117#true} is VALID [2022-04-15 06:56:17,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-15 06:56:17,582 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1385509309] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:56:17,582 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:56:17,582 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:56:18,010 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:56:18,010 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1526084809] [2022-04-15 06:56:18,010 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1526084809] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:56:18,010 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:56:18,010 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-15 06:56:18,011 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [852524363] [2022-04-15 06:56:18,011 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:56:18,011 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-15 06:56:18,011 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:56:18,011 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-15 06:56:18,044 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-15 06:56:18,044 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-15 06:56:18,044 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:56:18,044 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-15 06:56:18,044 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=133, Invalid=569, Unknown=0, NotChecked=0, Total=702 [2022-04-15 06:56:18,045 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-15 06:56:18,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:18,676 INFO L93 Difference]: Finished difference Result 171 states and 218 transitions. [2022-04-15 06:56:18,676 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 06:56:18,677 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-15 06:56:18,677 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:56:18,677 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-15 06:56:18,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-15 06:56:18,678 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-15 06:56:18,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 79 transitions. [2022-04-15 06:56:18,678 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 79 transitions. [2022-04-15 06:56:18,719 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-15 06:56:18,721 INFO L225 Difference]: With dead ends: 171 [2022-04-15 06:56:18,721 INFO L226 Difference]: Without dead ends: 117 [2022-04-15 06:56:18,722 INFO L912 BasicCegarLoop]: 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-15 06:56:18,722 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 47 mSDsluCounter, 36 mSDsCounter, 0 mSdLazyCounter, 429 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-15 06:56:18,722 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [48 Valid, 56 Invalid, 439 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 429 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 06:56:18,723 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states. [2022-04-15 06:56:18,852 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 109. [2022-04-15 06:56:18,852 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:56:18,853 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-15 06:56:18,853 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-15 06:56:18,853 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-15 06:56:18,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:18,855 INFO L93 Difference]: Finished difference Result 117 states and 145 transitions. [2022-04-15 06:56:18,855 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 145 transitions. [2022-04-15 06:56:18,855 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:56:18,855 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:56:18,856 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-15 06:56:18,856 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-15 06:56:18,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:18,860 INFO L93 Difference]: Finished difference Result 117 states and 145 transitions. [2022-04-15 06:56:18,860 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 145 transitions. [2022-04-15 06:56:18,860 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:56:18,860 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:56:18,860 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:56:18,860 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:56:18,861 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-15 06:56:18,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 135 transitions. [2022-04-15 06:56:18,862 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 135 transitions. Word has length 34 [2022-04-15 06:56:18,862 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:56:18,862 INFO L478 AbstractCegarLoop]: Abstraction has 109 states and 135 transitions. [2022-04-15 06:56:18,862 INFO L479 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-15 06:56:18,862 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 109 states and 135 transitions. [2022-04-15 06:56:19,004 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-15 06:56:19,005 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 135 transitions. [2022-04-15 06:56:19,005 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 06:56:19,005 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:56:19,005 INFO L499 BasicCegarLoop]: 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-15 06:56:19,021 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-15 06:56:19,205 WARN L460 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-15 06:56:19,206 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:56:19,206 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:56:19,206 INFO L85 PathProgramCache]: Analyzing trace with hash 1224498974, now seen corresponding path program 5 times [2022-04-15 06:56:19,206 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:56:19,206 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1837889665] [2022-04-15 06:56:23,337 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:56:23,444 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-15 06:56:26,047 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:56:26,156 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-15 06:56:26,157 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:56:26,160 INFO L85 PathProgramCache]: Analyzing trace with hash -1469498303, now seen corresponding path program 1 times [2022-04-15 06:56:26,160 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:56:26,160 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1014515217] [2022-04-15 06:56:26,160 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:56:26,160 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:56:26,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:26,322 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:56:26,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:26,328 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-15 06:56:26,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {7104#(<= 20 ~SIZE~0)} assume true; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:26,329 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7104#(<= 20 ~SIZE~0)} {7099#true} #90#return; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:26,329 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:56:26,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:26,331 INFO L290 TraceCheckUtils]: 0: Hoare triple {7099#true} ~cond := #in~cond; {7099#true} is VALID [2022-04-15 06:56:26,331 INFO L290 TraceCheckUtils]: 1: Hoare triple {7099#true} assume !(0 == ~cond); {7099#true} is VALID [2022-04-15 06:56:26,331 INFO L290 TraceCheckUtils]: 2: Hoare triple {7099#true} assume true; {7099#true} is VALID [2022-04-15 06:56:26,332 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7099#true} {7104#(<= 20 ~SIZE~0)} #86#return; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:26,332 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-15 06:56:26,333 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-15 06:56:26,333 INFO L290 TraceCheckUtils]: 2: Hoare triple {7104#(<= 20 ~SIZE~0)} assume true; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:26,333 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7104#(<= 20 ~SIZE~0)} {7099#true} #90#return; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:26,334 INFO L272 TraceCheckUtils]: 4: Hoare triple {7104#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:26,334 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-15 06:56:26,334 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-15 06:56:26,334 INFO L290 TraceCheckUtils]: 7: Hoare triple {7099#true} ~cond := #in~cond; {7099#true} is VALID [2022-04-15 06:56:26,334 INFO L290 TraceCheckUtils]: 8: Hoare triple {7099#true} assume !(0 == ~cond); {7099#true} is VALID [2022-04-15 06:56:26,334 INFO L290 TraceCheckUtils]: 9: Hoare triple {7099#true} assume true; {7099#true} is VALID [2022-04-15 06:56:26,335 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7099#true} {7104#(<= 20 ~SIZE~0)} #86#return; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:26,335 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-15 06:56:26,336 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-15 06:56:26,336 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-15 06:56:26,337 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-15 06:56:26,338 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-15 06:56:26,338 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-15 06:56:26,339 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-15 06:56:26,339 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-15 06:56:26,340 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-15 06:56:26,340 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-15 06:56:26,341 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-15 06:56:26,341 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-15 06:56:26,341 INFO L290 TraceCheckUtils]: 23: Hoare triple {7116#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {7100#false} is VALID [2022-04-15 06:56:26,342 INFO L290 TraceCheckUtils]: 24: Hoare triple {7100#false} assume !false; {7100#false} is VALID [2022-04-15 06:56:26,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-15 06:56:26,342 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:56:26,342 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1014515217] [2022-04-15 06:56:26,342 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1014515217] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:56:26,342 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1915864371] [2022-04-15 06:56:26,342 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:56:26,342 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:56:26,342 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:56:26,343 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-15 06:56:26,344 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-15 06:56:26,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:26,374 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:56:26,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:26,381 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:56:26,634 INFO L272 TraceCheckUtils]: 0: Hoare triple {7099#true} call ULTIMATE.init(); {7099#true} is VALID [2022-04-15 06:56:26,635 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-15 06:56:26,636 INFO L290 TraceCheckUtils]: 2: Hoare triple {7104#(<= 20 ~SIZE~0)} assume true; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:26,636 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7104#(<= 20 ~SIZE~0)} {7099#true} #90#return; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:26,636 INFO L272 TraceCheckUtils]: 4: Hoare triple {7104#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:26,637 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-15 06:56:26,637 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-15 06:56:26,637 INFO L290 TraceCheckUtils]: 7: Hoare triple {7104#(<= 20 ~SIZE~0)} ~cond := #in~cond; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:26,638 INFO L290 TraceCheckUtils]: 8: Hoare triple {7104#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:26,638 INFO L290 TraceCheckUtils]: 9: Hoare triple {7104#(<= 20 ~SIZE~0)} assume true; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:26,638 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7104#(<= 20 ~SIZE~0)} {7104#(<= 20 ~SIZE~0)} #86#return; {7104#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:26,639 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-15 06:56:26,639 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-15 06:56:26,640 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-15 06:56:26,640 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-15 06:56:26,641 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-15 06:56:26,641 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-15 06:56:26,642 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-15 06:56:26,642 INFO L290 TraceCheckUtils]: 18: Hoare triple {7100#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {7100#false} is VALID [2022-04-15 06:56:26,642 INFO L290 TraceCheckUtils]: 19: Hoare triple {7100#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {7100#false} is VALID [2022-04-15 06:56:26,642 INFO L290 TraceCheckUtils]: 20: Hoare triple {7100#false} assume !(~d~0 == ~SIZE~0); {7100#false} is VALID [2022-04-15 06:56:26,642 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-15 06:56:26,642 INFO L290 TraceCheckUtils]: 22: Hoare triple {7100#false} ~cond := #in~cond; {7100#false} is VALID [2022-04-15 06:56:26,642 INFO L290 TraceCheckUtils]: 23: Hoare triple {7100#false} assume 0 == ~cond; {7100#false} is VALID [2022-04-15 06:56:26,643 INFO L290 TraceCheckUtils]: 24: Hoare triple {7100#false} assume !false; {7100#false} is VALID [2022-04-15 06:56:26,643 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-15 06:56:26,643 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:56:26,908 INFO L290 TraceCheckUtils]: 24: Hoare triple {7100#false} assume !false; {7100#false} is VALID [2022-04-15 06:56:26,908 INFO L290 TraceCheckUtils]: 23: Hoare triple {7100#false} assume 0 == ~cond; {7100#false} is VALID [2022-04-15 06:56:26,909 INFO L290 TraceCheckUtils]: 22: Hoare triple {7100#false} ~cond := #in~cond; {7100#false} is VALID [2022-04-15 06:56:26,909 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-15 06:56:26,909 INFO L290 TraceCheckUtils]: 20: Hoare triple {7100#false} assume !(~d~0 == ~SIZE~0); {7100#false} is VALID [2022-04-15 06:56:26,909 INFO L290 TraceCheckUtils]: 19: Hoare triple {7100#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {7100#false} is VALID [2022-04-15 06:56:26,909 INFO L290 TraceCheckUtils]: 18: Hoare triple {7100#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {7100#false} is VALID [2022-04-15 06:56:26,909 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-15 06:56:26,910 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-15 06:56:26,910 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-15 06:56:26,911 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-15 06:56:26,911 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-15 06:56:26,912 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-15 06:56:26,912 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-15 06:56:26,912 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7099#true} {7235#(< 1 ~SIZE~0)} #86#return; {7235#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:26,913 INFO L290 TraceCheckUtils]: 9: Hoare triple {7099#true} assume true; {7099#true} is VALID [2022-04-15 06:56:26,913 INFO L290 TraceCheckUtils]: 8: Hoare triple {7099#true} assume !(0 == ~cond); {7099#true} is VALID [2022-04-15 06:56:26,913 INFO L290 TraceCheckUtils]: 7: Hoare triple {7099#true} ~cond := #in~cond; {7099#true} is VALID [2022-04-15 06:56:26,913 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-15 06:56:26,913 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-15 06:56:26,913 INFO L272 TraceCheckUtils]: 4: Hoare triple {7235#(< 1 ~SIZE~0)} call #t~ret7 := main(); {7235#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:26,914 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7235#(< 1 ~SIZE~0)} {7099#true} #90#return; {7235#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:26,914 INFO L290 TraceCheckUtils]: 2: Hoare triple {7235#(< 1 ~SIZE~0)} assume true; {7235#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:26,914 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-15 06:56:26,915 INFO L272 TraceCheckUtils]: 0: Hoare triple {7099#true} call ULTIMATE.init(); {7099#true} is VALID [2022-04-15 06:56:26,915 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-15 06:56:26,915 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1915864371] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:56:26,915 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:56:26,915 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:56:27,337 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:56:27,337 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1837889665] [2022-04-15 06:56:27,337 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1837889665] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:56:27,337 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:56:27,337 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-15 06:56:27,337 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [754045250] [2022-04-15 06:56:27,337 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:56:27,337 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-15 06:56:27,338 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:56:27,338 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-15 06:56:27,373 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-15 06:56:27,374 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-15 06:56:27,374 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:56:27,374 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-15 06:56:27,374 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=147, Invalid=609, Unknown=0, NotChecked=0, Total=756 [2022-04-15 06:56:27,374 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-15 06:56:28,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:28,529 INFO L93 Difference]: Finished difference Result 175 states and 222 transitions. [2022-04-15 06:56:28,529 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 06:56:28,530 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-15 06:56:28,530 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:56:28,530 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-15 06:56:28,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 80 transitions. [2022-04-15 06:56:28,531 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-15 06:56:28,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 80 transitions. [2022-04-15 06:56:28,531 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 80 transitions. [2022-04-15 06:56:28,588 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-15 06:56:28,590 INFO L225 Difference]: With dead ends: 175 [2022-04-15 06:56:28,590 INFO L226 Difference]: Without dead ends: 121 [2022-04-15 06:56:28,590 INFO L912 BasicCegarLoop]: 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-15 06:56:28,591 INFO L913 BasicCegarLoop]: 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-15 06:56:28,591 INFO L914 BasicCegarLoop]: 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-15 06:56:28,591 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-15 06:56:28,806 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 109. [2022-04-15 06:56:28,806 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:56:28,806 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-15 06:56:28,806 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-15 06:56:28,807 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-15 06:56:28,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:28,809 INFO L93 Difference]: Finished difference Result 121 states and 149 transitions. [2022-04-15 06:56:28,809 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 149 transitions. [2022-04-15 06:56:28,809 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:56:28,809 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:56:28,809 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-15 06:56:28,809 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-15 06:56:28,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:28,811 INFO L93 Difference]: Finished difference Result 121 states and 149 transitions. [2022-04-15 06:56:28,811 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 149 transitions. [2022-04-15 06:56:28,811 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:56:28,811 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:56:28,811 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:56:28,811 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:56:28,812 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-15 06:56:28,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 135 transitions. [2022-04-15 06:56:28,813 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 135 transitions. Word has length 34 [2022-04-15 06:56:28,813 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:56:28,813 INFO L478 AbstractCegarLoop]: Abstraction has 109 states and 135 transitions. [2022-04-15 06:56:28,813 INFO L479 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-15 06:56:28,813 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 109 states and 135 transitions. [2022-04-15 06:56:28,950 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-15 06:56:28,950 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 135 transitions. [2022-04-15 06:56:28,950 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 06:56:28,950 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:56:28,950 INFO L499 BasicCegarLoop]: 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-15 06:56:28,968 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-15 06:56:29,151 WARN L460 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-15 06:56:29,151 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:56:29,151 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:56:29,151 INFO L85 PathProgramCache]: Analyzing trace with hash 213381724, now seen corresponding path program 6 times [2022-04-15 06:56:29,151 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:56:29,151 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1530658567] [2022-04-15 06:56:33,274 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:56:33,379 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-15 06:56:36,031 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:56:36,141 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-15 06:56:36,143 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:56:36,146 INFO L85 PathProgramCache]: Analyzing trace with hash 1023024449, now seen corresponding path program 1 times [2022-04-15 06:56:36,146 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:56:36,146 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1152610960] [2022-04-15 06:56:36,146 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:56:36,146 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:56:36,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:36,307 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:56:36,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:36,313 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-15 06:56:36,313 INFO L290 TraceCheckUtils]: 1: Hoare triple {8103#(<= 20 ~SIZE~0)} assume true; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:36,313 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {8103#(<= 20 ~SIZE~0)} {8098#true} #90#return; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:36,313 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:56:36,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:36,316 INFO L290 TraceCheckUtils]: 0: Hoare triple {8098#true} ~cond := #in~cond; {8098#true} is VALID [2022-04-15 06:56:36,316 INFO L290 TraceCheckUtils]: 1: Hoare triple {8098#true} assume !(0 == ~cond); {8098#true} is VALID [2022-04-15 06:56:36,316 INFO L290 TraceCheckUtils]: 2: Hoare triple {8098#true} assume true; {8098#true} is VALID [2022-04-15 06:56:36,316 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8098#true} {8103#(<= 20 ~SIZE~0)} #86#return; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:36,317 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-15 06:56:36,317 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-15 06:56:36,317 INFO L290 TraceCheckUtils]: 2: Hoare triple {8103#(<= 20 ~SIZE~0)} assume true; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:36,318 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8103#(<= 20 ~SIZE~0)} {8098#true} #90#return; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:36,318 INFO L272 TraceCheckUtils]: 4: Hoare triple {8103#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:36,318 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-15 06:56:36,319 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-15 06:56:36,319 INFO L290 TraceCheckUtils]: 7: Hoare triple {8098#true} ~cond := #in~cond; {8098#true} is VALID [2022-04-15 06:56:36,319 INFO L290 TraceCheckUtils]: 8: Hoare triple {8098#true} assume !(0 == ~cond); {8098#true} is VALID [2022-04-15 06:56:36,319 INFO L290 TraceCheckUtils]: 9: Hoare triple {8098#true} assume true; {8098#true} is VALID [2022-04-15 06:56:36,319 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8098#true} {8103#(<= 20 ~SIZE~0)} #86#return; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:36,320 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-15 06:56:36,320 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-15 06:56:36,321 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-15 06:56:36,321 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-15 06:56:36,322 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-15 06:56:36,322 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-15 06:56:36,323 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-15 06:56:36,323 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-15 06:56:36,324 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-15 06:56:36,324 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-15 06:56:36,325 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-15 06:56:36,325 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-15 06:56:36,326 INFO L290 TraceCheckUtils]: 23: Hoare triple {8115#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {8099#false} is VALID [2022-04-15 06:56:36,326 INFO L290 TraceCheckUtils]: 24: Hoare triple {8099#false} assume !false; {8099#false} is VALID [2022-04-15 06:56:36,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-15 06:56:36,326 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:56:36,326 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1152610960] [2022-04-15 06:56:36,326 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1152610960] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:56:36,326 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1623961623] [2022-04-15 06:56:36,326 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:56:36,327 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:56:36,327 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:56:36,327 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-15 06:56:36,328 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-15 06:56:36,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:36,359 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:56:36,365 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:36,366 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:56:36,637 INFO L272 TraceCheckUtils]: 0: Hoare triple {8098#true} call ULTIMATE.init(); {8098#true} is VALID [2022-04-15 06:56:36,638 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-15 06:56:36,639 INFO L290 TraceCheckUtils]: 2: Hoare triple {8103#(<= 20 ~SIZE~0)} assume true; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:36,639 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8103#(<= 20 ~SIZE~0)} {8098#true} #90#return; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:36,639 INFO L272 TraceCheckUtils]: 4: Hoare triple {8103#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:36,640 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-15 06:56:36,640 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-15 06:56:36,641 INFO L290 TraceCheckUtils]: 7: Hoare triple {8103#(<= 20 ~SIZE~0)} ~cond := #in~cond; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:36,641 INFO L290 TraceCheckUtils]: 8: Hoare triple {8103#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:36,641 INFO L290 TraceCheckUtils]: 9: Hoare triple {8103#(<= 20 ~SIZE~0)} assume true; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:36,642 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8103#(<= 20 ~SIZE~0)} {8103#(<= 20 ~SIZE~0)} #86#return; {8103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:36,642 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-15 06:56:36,643 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-15 06:56:36,643 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-15 06:56:36,644 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-15 06:56:36,645 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-15 06:56:36,645 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-15 06:56:36,646 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-15 06:56:36,646 INFO L290 TraceCheckUtils]: 18: Hoare triple {8099#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {8099#false} is VALID [2022-04-15 06:56:36,646 INFO L290 TraceCheckUtils]: 19: Hoare triple {8099#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {8099#false} is VALID [2022-04-15 06:56:36,646 INFO L290 TraceCheckUtils]: 20: Hoare triple {8099#false} assume !(~d~0 == ~SIZE~0); {8099#false} is VALID [2022-04-15 06:56:36,646 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-15 06:56:36,646 INFO L290 TraceCheckUtils]: 22: Hoare triple {8099#false} ~cond := #in~cond; {8099#false} is VALID [2022-04-15 06:56:36,646 INFO L290 TraceCheckUtils]: 23: Hoare triple {8099#false} assume 0 == ~cond; {8099#false} is VALID [2022-04-15 06:56:36,646 INFO L290 TraceCheckUtils]: 24: Hoare triple {8099#false} assume !false; {8099#false} is VALID [2022-04-15 06:56:36,646 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-15 06:56:36,646 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:56:36,925 INFO L290 TraceCheckUtils]: 24: Hoare triple {8099#false} assume !false; {8099#false} is VALID [2022-04-15 06:56:36,925 INFO L290 TraceCheckUtils]: 23: Hoare triple {8099#false} assume 0 == ~cond; {8099#false} is VALID [2022-04-15 06:56:36,925 INFO L290 TraceCheckUtils]: 22: Hoare triple {8099#false} ~cond := #in~cond; {8099#false} is VALID [2022-04-15 06:56:36,925 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-15 06:56:36,925 INFO L290 TraceCheckUtils]: 20: Hoare triple {8099#false} assume !(~d~0 == ~SIZE~0); {8099#false} is VALID [2022-04-15 06:56:36,925 INFO L290 TraceCheckUtils]: 19: Hoare triple {8099#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {8099#false} is VALID [2022-04-15 06:56:36,925 INFO L290 TraceCheckUtils]: 18: Hoare triple {8099#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {8099#false} is VALID [2022-04-15 06:56:36,926 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-15 06:56:36,926 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-15 06:56:36,927 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-15 06:56:36,927 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-15 06:56:36,928 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-15 06:56:36,928 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-15 06:56:36,928 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-15 06:56:36,929 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8098#true} {8234#(< 1 ~SIZE~0)} #86#return; {8234#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:36,929 INFO L290 TraceCheckUtils]: 9: Hoare triple {8098#true} assume true; {8098#true} is VALID [2022-04-15 06:56:36,929 INFO L290 TraceCheckUtils]: 8: Hoare triple {8098#true} assume !(0 == ~cond); {8098#true} is VALID [2022-04-15 06:56:36,929 INFO L290 TraceCheckUtils]: 7: Hoare triple {8098#true} ~cond := #in~cond; {8098#true} is VALID [2022-04-15 06:56:36,929 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-15 06:56:36,930 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-15 06:56:36,930 INFO L272 TraceCheckUtils]: 4: Hoare triple {8234#(< 1 ~SIZE~0)} call #t~ret7 := main(); {8234#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:36,930 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8234#(< 1 ~SIZE~0)} {8098#true} #90#return; {8234#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:36,930 INFO L290 TraceCheckUtils]: 2: Hoare triple {8234#(< 1 ~SIZE~0)} assume true; {8234#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:36,931 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-15 06:56:36,931 INFO L272 TraceCheckUtils]: 0: Hoare triple {8098#true} call ULTIMATE.init(); {8098#true} is VALID [2022-04-15 06:56:36,931 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-15 06:56:36,931 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1623961623] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:56:36,931 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:56:36,931 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:56:37,344 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:56:37,344 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1530658567] [2022-04-15 06:56:37,345 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1530658567] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:56:37,345 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:56:37,345 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-15 06:56:37,345 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1139545341] [2022-04-15 06:56:37,345 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:56:37,345 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-15 06:56:37,345 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:56:37,346 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-15 06:56:37,372 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-15 06:56:37,372 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-15 06:56:37,372 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:56:37,372 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-15 06:56:37,372 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=161, Invalid=651, Unknown=0, NotChecked=0, Total=812 [2022-04-15 06:56:37,372 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-15 06:56:38,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:38,511 INFO L93 Difference]: Finished difference Result 186 states and 237 transitions. [2022-04-15 06:56:38,511 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 06:56:38,511 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-15 06:56:38,511 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:56:38,511 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-15 06:56:38,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 82 transitions. [2022-04-15 06:56:38,512 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-15 06:56:38,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 82 transitions. [2022-04-15 06:56:38,513 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 82 transitions. [2022-04-15 06:56:38,573 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-15 06:56:38,575 INFO L225 Difference]: With dead ends: 186 [2022-04-15 06:56:38,575 INFO L226 Difference]: Without dead ends: 121 [2022-04-15 06:56:38,576 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 48 SyntacticMatches, 3 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 263 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=173, Invalid=757, Unknown=0, NotChecked=0, Total=930 [2022-04-15 06:56:38,576 INFO L913 BasicCegarLoop]: 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-15 06:56:38,577 INFO L914 BasicCegarLoop]: 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-15 06:56:38,577 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-15 06:56:38,827 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 112. [2022-04-15 06:56:38,828 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:56:38,828 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-15 06:56:38,828 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-15 06:56:38,829 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-15 06:56:38,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:38,831 INFO L93 Difference]: Finished difference Result 121 states and 150 transitions. [2022-04-15 06:56:38,831 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 150 transitions. [2022-04-15 06:56:38,831 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:56:38,831 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:56:38,832 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-15 06:56:38,832 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-15 06:56:38,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:38,834 INFO L93 Difference]: Finished difference Result 121 states and 150 transitions. [2022-04-15 06:56:38,834 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 150 transitions. [2022-04-15 06:56:38,834 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:56:38,835 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:56:38,835 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:56:38,835 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:56:38,835 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-15 06:56:38,837 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 139 transitions. [2022-04-15 06:56:38,837 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 139 transitions. Word has length 34 [2022-04-15 06:56:38,837 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:56:38,837 INFO L478 AbstractCegarLoop]: Abstraction has 112 states and 139 transitions. [2022-04-15 06:56:38,837 INFO L479 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-15 06:56:38,837 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 139 transitions. [2022-04-15 06:56:39,014 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-15 06:56:39,015 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 139 transitions. [2022-04-15 06:56:39,015 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 06:56:39,015 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:56:39,015 INFO L499 BasicCegarLoop]: 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-15 06:56:39,031 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-15 06:56:39,215 WARN L460 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-15 06:56:39,216 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:56:39,216 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:56:39,216 INFO L85 PathProgramCache]: Analyzing trace with hash -802454433, now seen corresponding path program 7 times [2022-04-15 06:56:39,216 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:56:39,216 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2146396463] [2022-04-15 06:56:39,461 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-15 06:56:42,404 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:56:42,526 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-15 06:56:42,527 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:56:42,530 INFO L85 PathProgramCache]: Analyzing trace with hash -779420095, now seen corresponding path program 1 times [2022-04-15 06:56:42,531 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:56:42,531 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [417577245] [2022-04-15 06:56:42,531 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:56:42,531 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:56:42,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:42,705 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:56:42,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:42,712 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-15 06:56:42,712 INFO L290 TraceCheckUtils]: 1: Hoare triple {9131#(<= 20 ~SIZE~0)} assume true; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:42,712 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {9131#(<= 20 ~SIZE~0)} {9126#true} #90#return; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:42,713 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:56:42,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:42,715 INFO L290 TraceCheckUtils]: 0: Hoare triple {9126#true} ~cond := #in~cond; {9126#true} is VALID [2022-04-15 06:56:42,716 INFO L290 TraceCheckUtils]: 1: Hoare triple {9126#true} assume !(0 == ~cond); {9126#true} is VALID [2022-04-15 06:56:42,716 INFO L290 TraceCheckUtils]: 2: Hoare triple {9126#true} assume true; {9126#true} is VALID [2022-04-15 06:56:42,716 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9126#true} {9131#(<= 20 ~SIZE~0)} #86#return; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:42,717 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-15 06:56:42,717 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-15 06:56:42,717 INFO L290 TraceCheckUtils]: 2: Hoare triple {9131#(<= 20 ~SIZE~0)} assume true; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:42,718 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9131#(<= 20 ~SIZE~0)} {9126#true} #90#return; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:42,718 INFO L272 TraceCheckUtils]: 4: Hoare triple {9131#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:42,718 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-15 06:56:42,719 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-15 06:56:42,719 INFO L290 TraceCheckUtils]: 7: Hoare triple {9126#true} ~cond := #in~cond; {9126#true} is VALID [2022-04-15 06:56:42,719 INFO L290 TraceCheckUtils]: 8: Hoare triple {9126#true} assume !(0 == ~cond); {9126#true} is VALID [2022-04-15 06:56:42,719 INFO L290 TraceCheckUtils]: 9: Hoare triple {9126#true} assume true; {9126#true} is VALID [2022-04-15 06:56:42,719 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9126#true} {9131#(<= 20 ~SIZE~0)} #86#return; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:42,720 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-15 06:56:42,720 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-15 06:56:42,721 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-15 06:56:42,722 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-15 06:56:42,723 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-15 06:56:42,723 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-15 06:56:42,736 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-15 06:56:42,737 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-15 06:56:42,737 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-15 06:56:42,738 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-15 06:56:42,738 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-15 06:56:42,739 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-15 06:56:42,739 INFO L290 TraceCheckUtils]: 23: Hoare triple {9143#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {9127#false} is VALID [2022-04-15 06:56:42,739 INFO L290 TraceCheckUtils]: 24: Hoare triple {9127#false} assume !false; {9127#false} is VALID [2022-04-15 06:56:42,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-15 06:56:42,739 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:56:42,739 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [417577245] [2022-04-15 06:56:42,739 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [417577245] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:56:42,739 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1480046582] [2022-04-15 06:56:42,739 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:56:42,740 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:56:42,740 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:56:42,752 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-15 06:56:42,753 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-15 06:56:42,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:42,788 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:56:42,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:42,797 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:56:42,991 INFO L272 TraceCheckUtils]: 0: Hoare triple {9126#true} call ULTIMATE.init(); {9126#true} is VALID [2022-04-15 06:56:42,992 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-15 06:56:42,992 INFO L290 TraceCheckUtils]: 2: Hoare triple {9131#(<= 20 ~SIZE~0)} assume true; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:42,993 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9131#(<= 20 ~SIZE~0)} {9126#true} #90#return; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:42,993 INFO L272 TraceCheckUtils]: 4: Hoare triple {9131#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:42,993 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-15 06:56:42,994 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-15 06:56:42,994 INFO L290 TraceCheckUtils]: 7: Hoare triple {9131#(<= 20 ~SIZE~0)} ~cond := #in~cond; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:42,994 INFO L290 TraceCheckUtils]: 8: Hoare triple {9131#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:42,994 INFO L290 TraceCheckUtils]: 9: Hoare triple {9131#(<= 20 ~SIZE~0)} assume true; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:42,995 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9131#(<= 20 ~SIZE~0)} {9131#(<= 20 ~SIZE~0)} #86#return; {9131#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:42,995 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-15 06:56:42,995 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-15 06:56:42,996 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-15 06:56:42,996 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-15 06:56:42,997 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-15 06:56:42,997 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-15 06:56:42,998 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-15 06:56:42,998 INFO L290 TraceCheckUtils]: 18: Hoare triple {9127#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {9127#false} is VALID [2022-04-15 06:56:42,998 INFO L290 TraceCheckUtils]: 19: Hoare triple {9127#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {9127#false} is VALID [2022-04-15 06:56:42,998 INFO L290 TraceCheckUtils]: 20: Hoare triple {9127#false} assume !(~d~0 == ~SIZE~0); {9127#false} is VALID [2022-04-15 06:56:42,998 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-15 06:56:42,998 INFO L290 TraceCheckUtils]: 22: Hoare triple {9127#false} ~cond := #in~cond; {9127#false} is VALID [2022-04-15 06:56:42,998 INFO L290 TraceCheckUtils]: 23: Hoare triple {9127#false} assume 0 == ~cond; {9127#false} is VALID [2022-04-15 06:56:42,998 INFO L290 TraceCheckUtils]: 24: Hoare triple {9127#false} assume !false; {9127#false} is VALID [2022-04-15 06:56:42,998 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-15 06:56:42,998 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:56:43,218 INFO L290 TraceCheckUtils]: 24: Hoare triple {9127#false} assume !false; {9127#false} is VALID [2022-04-15 06:56:43,222 INFO L290 TraceCheckUtils]: 23: Hoare triple {9127#false} assume 0 == ~cond; {9127#false} is VALID [2022-04-15 06:56:43,223 INFO L290 TraceCheckUtils]: 22: Hoare triple {9127#false} ~cond := #in~cond; {9127#false} is VALID [2022-04-15 06:56:43,223 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-15 06:56:43,223 INFO L290 TraceCheckUtils]: 20: Hoare triple {9127#false} assume !(~d~0 == ~SIZE~0); {9127#false} is VALID [2022-04-15 06:56:43,223 INFO L290 TraceCheckUtils]: 19: Hoare triple {9127#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {9127#false} is VALID [2022-04-15 06:56:43,223 INFO L290 TraceCheckUtils]: 18: Hoare triple {9127#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {9127#false} is VALID [2022-04-15 06:56:43,223 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-15 06:56:43,224 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-15 06:56:43,224 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-15 06:56:43,225 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-15 06:56:43,227 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-15 06:56:43,228 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-15 06:56:43,228 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-15 06:56:43,229 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9126#true} {9262#(< 1 ~SIZE~0)} #86#return; {9262#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:43,229 INFO L290 TraceCheckUtils]: 9: Hoare triple {9126#true} assume true; {9126#true} is VALID [2022-04-15 06:56:43,229 INFO L290 TraceCheckUtils]: 8: Hoare triple {9126#true} assume !(0 == ~cond); {9126#true} is VALID [2022-04-15 06:56:43,229 INFO L290 TraceCheckUtils]: 7: Hoare triple {9126#true} ~cond := #in~cond; {9126#true} is VALID [2022-04-15 06:56:43,229 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-15 06:56:43,229 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-15 06:56:43,229 INFO L272 TraceCheckUtils]: 4: Hoare triple {9262#(< 1 ~SIZE~0)} call #t~ret7 := main(); {9262#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:43,230 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9262#(< 1 ~SIZE~0)} {9126#true} #90#return; {9262#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:43,230 INFO L290 TraceCheckUtils]: 2: Hoare triple {9262#(< 1 ~SIZE~0)} assume true; {9262#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:43,230 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-15 06:56:43,230 INFO L272 TraceCheckUtils]: 0: Hoare triple {9126#true} call ULTIMATE.init(); {9126#true} is VALID [2022-04-15 06:56:43,230 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-15 06:56:43,231 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1480046582] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:56:43,231 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:56:43,231 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:56:43,685 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:56:43,685 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2146396463] [2022-04-15 06:56:43,686 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2146396463] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:56:43,686 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:56:43,686 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-15 06:56:43,686 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1314836436] [2022-04-15 06:56:43,686 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:56:43,686 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-15 06:56:43,686 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:56:43,686 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-15 06:56:43,714 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-15 06:56:43,714 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-15 06:56:43,714 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:56:43,715 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-15 06:56:43,715 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=140, Invalid=616, Unknown=0, NotChecked=0, Total=756 [2022-04-15 06:56:43,715 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-15 06:56:44,757 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:44,757 INFO L93 Difference]: Finished difference Result 180 states and 228 transitions. [2022-04-15 06:56:44,757 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 06:56:44,757 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-15 06:56:44,757 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:56:44,757 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-15 06:56:44,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 82 transitions. [2022-04-15 06:56:44,758 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-15 06:56:44,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 82 transitions. [2022-04-15 06:56:44,759 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 82 transitions. [2022-04-15 06:56:44,824 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-15 06:56:44,826 INFO L225 Difference]: With dead ends: 180 [2022-04-15 06:56:44,826 INFO L226 Difference]: Without dead ends: 126 [2022-04-15 06:56:44,826 INFO L912 BasicCegarLoop]: 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-15 06:56:44,827 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 55 mSDsluCounter, 36 mSDsCounter, 0 mSdLazyCounter, 517 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-15 06:56:44,827 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [56 Valid, 56 Invalid, 528 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 517 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 06:56:44,827 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 126 states. [2022-04-15 06:56:45,064 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 126 to 115. [2022-04-15 06:56:45,064 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:56:45,064 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-15 06:56:45,064 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-15 06:56:45,065 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-15 06:56:45,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:45,067 INFO L93 Difference]: Finished difference Result 126 states and 155 transitions. [2022-04-15 06:56:45,067 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 155 transitions. [2022-04-15 06:56:45,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:56:45,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:56:45,067 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-15 06:56:45,067 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-15 06:56:45,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:45,069 INFO L93 Difference]: Finished difference Result 126 states and 155 transitions. [2022-04-15 06:56:45,069 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 155 transitions. [2022-04-15 06:56:45,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:56:45,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:56:45,069 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:56:45,070 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:56:45,070 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-15 06:56:45,071 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 142 transitions. [2022-04-15 06:56:45,071 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 142 transitions. Word has length 37 [2022-04-15 06:56:45,071 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:56:45,071 INFO L478 AbstractCegarLoop]: Abstraction has 115 states and 142 transitions. [2022-04-15 06:56:45,072 INFO L479 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-15 06:56:45,072 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 115 states and 142 transitions. [2022-04-15 06:56:45,221 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-15 06:56:45,222 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 142 transitions. [2022-04-15 06:56:45,222 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 06:56:45,222 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:56:45,222 INFO L499 BasicCegarLoop]: 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-15 06:56:45,238 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-15 06:56:45,422 WARN L460 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-15 06:56:45,423 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:56:45,423 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:56:45,423 INFO L85 PathProgramCache]: Analyzing trace with hash -1620102883, now seen corresponding path program 8 times [2022-04-15 06:56:45,423 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:56:45,423 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [683458083] [2022-04-15 06:56:49,527 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:56:49,639 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-15 06:56:49,861 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-15 06:56:49,863 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:56:49,866 INFO L85 PathProgramCache]: Analyzing trace with hash 1713102657, now seen corresponding path program 1 times [2022-04-15 06:56:49,866 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:56:49,866 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [40520582] [2022-04-15 06:56:49,866 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:56:49,866 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:56:49,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:50,024 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:56:50,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:50,030 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-15 06:56:50,030 INFO L290 TraceCheckUtils]: 1: Hoare triple {10162#(<= 20 ~SIZE~0)} assume true; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:50,031 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10162#(<= 20 ~SIZE~0)} {10157#true} #90#return; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:50,031 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:56:50,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:50,033 INFO L290 TraceCheckUtils]: 0: Hoare triple {10157#true} ~cond := #in~cond; {10157#true} is VALID [2022-04-15 06:56:50,034 INFO L290 TraceCheckUtils]: 1: Hoare triple {10157#true} assume !(0 == ~cond); {10157#true} is VALID [2022-04-15 06:56:50,034 INFO L290 TraceCheckUtils]: 2: Hoare triple {10157#true} assume true; {10157#true} is VALID [2022-04-15 06:56:50,034 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10157#true} {10162#(<= 20 ~SIZE~0)} #86#return; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:50,035 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-15 06:56:50,035 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-15 06:56:50,035 INFO L290 TraceCheckUtils]: 2: Hoare triple {10162#(<= 20 ~SIZE~0)} assume true; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:50,036 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10162#(<= 20 ~SIZE~0)} {10157#true} #90#return; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:50,036 INFO L272 TraceCheckUtils]: 4: Hoare triple {10162#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:50,036 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-15 06:56:50,037 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-15 06:56:50,037 INFO L290 TraceCheckUtils]: 7: Hoare triple {10157#true} ~cond := #in~cond; {10157#true} is VALID [2022-04-15 06:56:50,037 INFO L290 TraceCheckUtils]: 8: Hoare triple {10157#true} assume !(0 == ~cond); {10157#true} is VALID [2022-04-15 06:56:50,037 INFO L290 TraceCheckUtils]: 9: Hoare triple {10157#true} assume true; {10157#true} is VALID [2022-04-15 06:56:50,037 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10157#true} {10162#(<= 20 ~SIZE~0)} #86#return; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:50,038 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-15 06:56:50,038 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-15 06:56:50,039 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-15 06:56:50,040 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-15 06:56:50,040 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-15 06:56:50,041 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-15 06:56:50,042 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-15 06:56:50,042 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-15 06:56:50,043 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-15 06:56:50,044 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-15 06:56:50,044 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-15 06:56:50,045 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-15 06:56:50,045 INFO L290 TraceCheckUtils]: 23: Hoare triple {10174#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {10158#false} is VALID [2022-04-15 06:56:50,045 INFO L290 TraceCheckUtils]: 24: Hoare triple {10158#false} assume !false; {10158#false} is VALID [2022-04-15 06:56:50,045 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-15 06:56:50,045 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:56:50,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [40520582] [2022-04-15 06:56:50,046 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [40520582] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:56:50,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [394789207] [2022-04-15 06:56:50,046 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:56:50,046 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:56:50,046 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:56:50,047 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-15 06:56:50,070 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-15 06:56:50,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:50,099 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:56:50,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:50,106 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:56:50,362 INFO L272 TraceCheckUtils]: 0: Hoare triple {10157#true} call ULTIMATE.init(); {10157#true} is VALID [2022-04-15 06:56:50,363 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-15 06:56:50,363 INFO L290 TraceCheckUtils]: 2: Hoare triple {10162#(<= 20 ~SIZE~0)} assume true; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:50,364 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10162#(<= 20 ~SIZE~0)} {10157#true} #90#return; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:50,364 INFO L272 TraceCheckUtils]: 4: Hoare triple {10162#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:50,364 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-15 06:56:50,365 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-15 06:56:50,365 INFO L290 TraceCheckUtils]: 7: Hoare triple {10162#(<= 20 ~SIZE~0)} ~cond := #in~cond; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:50,365 INFO L290 TraceCheckUtils]: 8: Hoare triple {10162#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:50,366 INFO L290 TraceCheckUtils]: 9: Hoare triple {10162#(<= 20 ~SIZE~0)} assume true; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:50,366 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10162#(<= 20 ~SIZE~0)} {10162#(<= 20 ~SIZE~0)} #86#return; {10162#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:50,366 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-15 06:56:50,367 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-15 06:56:50,368 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-15 06:56:50,368 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-15 06:56:50,369 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-15 06:56:50,369 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-15 06:56:50,370 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-15 06:56:50,370 INFO L290 TraceCheckUtils]: 18: Hoare triple {10158#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {10158#false} is VALID [2022-04-15 06:56:50,370 INFO L290 TraceCheckUtils]: 19: Hoare triple {10158#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {10158#false} is VALID [2022-04-15 06:56:50,370 INFO L290 TraceCheckUtils]: 20: Hoare triple {10158#false} assume !(~d~0 == ~SIZE~0); {10158#false} is VALID [2022-04-15 06:56:50,370 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-15 06:56:50,370 INFO L290 TraceCheckUtils]: 22: Hoare triple {10158#false} ~cond := #in~cond; {10158#false} is VALID [2022-04-15 06:56:50,370 INFO L290 TraceCheckUtils]: 23: Hoare triple {10158#false} assume 0 == ~cond; {10158#false} is VALID [2022-04-15 06:56:50,370 INFO L290 TraceCheckUtils]: 24: Hoare triple {10158#false} assume !false; {10158#false} is VALID [2022-04-15 06:56:50,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-15 06:56:50,370 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:56:50,636 INFO L290 TraceCheckUtils]: 24: Hoare triple {10158#false} assume !false; {10158#false} is VALID [2022-04-15 06:56:50,636 INFO L290 TraceCheckUtils]: 23: Hoare triple {10158#false} assume 0 == ~cond; {10158#false} is VALID [2022-04-15 06:56:50,636 INFO L290 TraceCheckUtils]: 22: Hoare triple {10158#false} ~cond := #in~cond; {10158#false} is VALID [2022-04-15 06:56:50,636 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-15 06:56:50,637 INFO L290 TraceCheckUtils]: 20: Hoare triple {10158#false} assume !(~d~0 == ~SIZE~0); {10158#false} is VALID [2022-04-15 06:56:50,637 INFO L290 TraceCheckUtils]: 19: Hoare triple {10158#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {10158#false} is VALID [2022-04-15 06:56:50,637 INFO L290 TraceCheckUtils]: 18: Hoare triple {10158#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {10158#false} is VALID [2022-04-15 06:56:50,637 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-15 06:56:50,638 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-15 06:56:50,638 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-15 06:56:50,638 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-15 06:56:50,639 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-15 06:56:50,640 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-15 06:56:50,640 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-15 06:56:50,640 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10157#true} {10293#(< 1 ~SIZE~0)} #86#return; {10293#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:50,640 INFO L290 TraceCheckUtils]: 9: Hoare triple {10157#true} assume true; {10157#true} is VALID [2022-04-15 06:56:50,641 INFO L290 TraceCheckUtils]: 8: Hoare triple {10157#true} assume !(0 == ~cond); {10157#true} is VALID [2022-04-15 06:56:50,641 INFO L290 TraceCheckUtils]: 7: Hoare triple {10157#true} ~cond := #in~cond; {10157#true} is VALID [2022-04-15 06:56:50,641 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-15 06:56:50,641 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-15 06:56:50,641 INFO L272 TraceCheckUtils]: 4: Hoare triple {10293#(< 1 ~SIZE~0)} call #t~ret7 := main(); {10293#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:50,642 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10293#(< 1 ~SIZE~0)} {10157#true} #90#return; {10293#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:50,642 INFO L290 TraceCheckUtils]: 2: Hoare triple {10293#(< 1 ~SIZE~0)} assume true; {10293#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:50,642 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-15 06:56:50,642 INFO L272 TraceCheckUtils]: 0: Hoare triple {10157#true} call ULTIMATE.init(); {10157#true} is VALID [2022-04-15 06:56:50,643 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-15 06:56:50,643 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [394789207] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:56:50,643 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:56:50,643 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:56:51,142 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:56:51,142 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [683458083] [2022-04-15 06:56:51,142 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [683458083] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:56:51,142 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:56:51,142 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-15 06:56:51,142 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1537323743] [2022-04-15 06:56:51,142 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:56:51,143 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-15 06:56:51,143 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:56:51,143 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-15 06:56:51,163 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-15 06:56:51,163 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-15 06:56:51,163 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:56:51,163 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-15 06:56:51,163 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=154, Invalid=658, Unknown=0, NotChecked=0, Total=812 [2022-04-15 06:56:51,163 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-15 06:56:52,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:52,368 INFO L93 Difference]: Finished difference Result 183 states and 231 transitions. [2022-04-15 06:56:52,368 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 06:56:52,368 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-15 06:56:52,368 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:56:52,368 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-15 06:56:52,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 83 transitions. [2022-04-15 06:56:52,369 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-15 06:56:52,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 83 transitions. [2022-04-15 06:56:52,370 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 83 transitions. [2022-04-15 06:56:52,434 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-15 06:56:52,435 INFO L225 Difference]: With dead ends: 183 [2022-04-15 06:56:52,435 INFO L226 Difference]: Without dead ends: 129 [2022-04-15 06:56:52,436 INFO L912 BasicCegarLoop]: 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-15 06:56:52,436 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 47 mSDsluCounter, 46 mSDsCounter, 0 mSdLazyCounter, 626 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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-15 06:56:52,436 INFO L914 BasicCegarLoop]: 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-15 06:56:52,436 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-15 06:56:52,673 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 115. [2022-04-15 06:56:52,673 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:56:52,674 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-15 06:56:52,674 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-15 06:56:52,674 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-15 06:56:52,675 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:52,676 INFO L93 Difference]: Finished difference Result 129 states and 158 transitions. [2022-04-15 06:56:52,676 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 158 transitions. [2022-04-15 06:56:52,676 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:56:52,676 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:56:52,676 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-15 06:56:52,676 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-15 06:56:52,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:56:52,678 INFO L93 Difference]: Finished difference Result 129 states and 158 transitions. [2022-04-15 06:56:52,678 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 158 transitions. [2022-04-15 06:56:52,678 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:56:52,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:56:52,678 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:56:52,678 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:56:52,678 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-15 06:56:52,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 142 transitions. [2022-04-15 06:56:52,680 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 142 transitions. Word has length 37 [2022-04-15 06:56:52,680 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:56:52,680 INFO L478 AbstractCegarLoop]: Abstraction has 115 states and 142 transitions. [2022-04-15 06:56:52,680 INFO L479 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-15 06:56:52,680 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 115 states and 142 transitions. [2022-04-15 06:56:52,836 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-15 06:56:52,836 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 142 transitions. [2022-04-15 06:56:52,836 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 06:56:52,836 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:56:52,837 INFO L499 BasicCegarLoop]: 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-15 06:56:52,860 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-15 06:56:53,037 WARN L460 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-15 06:56:53,037 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:56:53,038 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:56:53,038 INFO L85 PathProgramCache]: Analyzing trace with hash 1086516511, now seen corresponding path program 9 times [2022-04-15 06:56:53,038 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:56:53,038 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1896454777] [2022-04-15 06:56:53,288 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-15 06:56:57,394 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:56:57,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-15 06:56:57,490 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:56:57,493 INFO L85 PathProgramCache]: Analyzing trace with hash -89341887, now seen corresponding path program 1 times [2022-04-15 06:56:57,493 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:56:57,493 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [468304999] [2022-04-15 06:56:57,493 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:56:57,493 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:56:57,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:57,704 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:56:57,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:57,711 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-15 06:56:57,711 INFO L290 TraceCheckUtils]: 1: Hoare triple {11206#(<= 20 ~SIZE~0)} assume true; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:57,712 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {11206#(<= 20 ~SIZE~0)} {11201#true} #90#return; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:57,712 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:56:57,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:57,715 INFO L290 TraceCheckUtils]: 0: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-15 06:56:57,715 INFO L290 TraceCheckUtils]: 1: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-15 06:56:57,715 INFO L290 TraceCheckUtils]: 2: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-15 06:56:57,715 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11201#true} {11206#(<= 20 ~SIZE~0)} #86#return; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:57,716 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-15 06:56:57,716 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-15 06:56:57,717 INFO L290 TraceCheckUtils]: 2: Hoare triple {11206#(<= 20 ~SIZE~0)} assume true; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:57,717 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11206#(<= 20 ~SIZE~0)} {11201#true} #90#return; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:57,717 INFO L272 TraceCheckUtils]: 4: Hoare triple {11206#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:57,718 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-15 06:56:57,718 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-15 06:56:57,718 INFO L290 TraceCheckUtils]: 7: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-15 06:56:57,718 INFO L290 TraceCheckUtils]: 8: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-15 06:56:57,718 INFO L290 TraceCheckUtils]: 9: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-15 06:56:57,718 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11201#true} {11206#(<= 20 ~SIZE~0)} #86#return; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:57,719 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-15 06:56:57,719 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-15 06:56:57,720 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-15 06:56:57,720 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-15 06:56:57,721 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-15 06:56:57,722 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-15 06:56:57,722 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-15 06:56:57,723 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-15 06:56:57,723 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-15 06:56:57,724 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-15 06:56:57,725 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-15 06:56:57,725 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-15 06:56:57,725 INFO L290 TraceCheckUtils]: 23: Hoare triple {11218#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {11202#false} is VALID [2022-04-15 06:56:57,725 INFO L290 TraceCheckUtils]: 24: Hoare triple {11202#false} assume !false; {11202#false} is VALID [2022-04-15 06:56:57,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-15 06:56:57,726 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:56:57,726 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [468304999] [2022-04-15 06:56:57,726 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [468304999] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:56:57,726 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1540209459] [2022-04-15 06:56:57,726 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:56:57,726 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:56:57,726 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:56:57,727 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-15 06:56:57,728 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-15 06:56:57,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:57,758 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:56:57,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:56:57,765 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:56:57,991 INFO L272 TraceCheckUtils]: 0: Hoare triple {11201#true} call ULTIMATE.init(); {11201#true} is VALID [2022-04-15 06:56:57,991 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-15 06:56:57,992 INFO L290 TraceCheckUtils]: 2: Hoare triple {11206#(<= 20 ~SIZE~0)} assume true; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:57,992 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11206#(<= 20 ~SIZE~0)} {11201#true} #90#return; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:57,992 INFO L272 TraceCheckUtils]: 4: Hoare triple {11206#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:57,992 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-15 06:56:57,993 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-15 06:56:57,993 INFO L290 TraceCheckUtils]: 7: Hoare triple {11206#(<= 20 ~SIZE~0)} ~cond := #in~cond; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:57,993 INFO L290 TraceCheckUtils]: 8: Hoare triple {11206#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:57,993 INFO L290 TraceCheckUtils]: 9: Hoare triple {11206#(<= 20 ~SIZE~0)} assume true; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:57,994 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11206#(<= 20 ~SIZE~0)} {11206#(<= 20 ~SIZE~0)} #86#return; {11206#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:56:57,998 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-15 06:56:57,998 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-15 06:56:57,999 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-15 06:56:57,999 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-15 06:56:58,000 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-15 06:56:58,000 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-15 06:56:58,001 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-15 06:56:58,001 INFO L290 TraceCheckUtils]: 18: Hoare triple {11202#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {11202#false} is VALID [2022-04-15 06:56:58,001 INFO L290 TraceCheckUtils]: 19: Hoare triple {11202#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {11202#false} is VALID [2022-04-15 06:56:58,001 INFO L290 TraceCheckUtils]: 20: Hoare triple {11202#false} assume !(~d~0 == ~SIZE~0); {11202#false} is VALID [2022-04-15 06:56:58,001 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-15 06:56:58,001 INFO L290 TraceCheckUtils]: 22: Hoare triple {11202#false} ~cond := #in~cond; {11202#false} is VALID [2022-04-15 06:56:58,001 INFO L290 TraceCheckUtils]: 23: Hoare triple {11202#false} assume 0 == ~cond; {11202#false} is VALID [2022-04-15 06:56:58,001 INFO L290 TraceCheckUtils]: 24: Hoare triple {11202#false} assume !false; {11202#false} is VALID [2022-04-15 06:56:58,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-15 06:56:58,002 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:56:58,231 INFO L290 TraceCheckUtils]: 24: Hoare triple {11202#false} assume !false; {11202#false} is VALID [2022-04-15 06:56:58,232 INFO L290 TraceCheckUtils]: 23: Hoare triple {11202#false} assume 0 == ~cond; {11202#false} is VALID [2022-04-15 06:56:58,232 INFO L290 TraceCheckUtils]: 22: Hoare triple {11202#false} ~cond := #in~cond; {11202#false} is VALID [2022-04-15 06:56:58,232 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-15 06:56:58,232 INFO L290 TraceCheckUtils]: 20: Hoare triple {11202#false} assume !(~d~0 == ~SIZE~0); {11202#false} is VALID [2022-04-15 06:56:58,232 INFO L290 TraceCheckUtils]: 19: Hoare triple {11202#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {11202#false} is VALID [2022-04-15 06:56:58,232 INFO L290 TraceCheckUtils]: 18: Hoare triple {11202#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {11202#false} is VALID [2022-04-15 06:56:58,232 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-15 06:56:58,233 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-15 06:56:58,233 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-15 06:56:58,234 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-15 06:56:58,235 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-15 06:56:58,235 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-15 06:56:58,235 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-15 06:56:58,236 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11201#true} {11337#(< 1 ~SIZE~0)} #86#return; {11337#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:58,236 INFO L290 TraceCheckUtils]: 9: Hoare triple {11201#true} assume true; {11201#true} is VALID [2022-04-15 06:56:58,236 INFO L290 TraceCheckUtils]: 8: Hoare triple {11201#true} assume !(0 == ~cond); {11201#true} is VALID [2022-04-15 06:56:58,236 INFO L290 TraceCheckUtils]: 7: Hoare triple {11201#true} ~cond := #in~cond; {11201#true} is VALID [2022-04-15 06:56:58,236 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-15 06:56:58,236 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-15 06:56:58,237 INFO L272 TraceCheckUtils]: 4: Hoare triple {11337#(< 1 ~SIZE~0)} call #t~ret7 := main(); {11337#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:58,237 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11337#(< 1 ~SIZE~0)} {11201#true} #90#return; {11337#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:58,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {11337#(< 1 ~SIZE~0)} assume true; {11337#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:56:58,238 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-15 06:56:58,238 INFO L272 TraceCheckUtils]: 0: Hoare triple {11201#true} call ULTIMATE.init(); {11201#true} is VALID [2022-04-15 06:56:58,239 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-15 06:56:58,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1540209459] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:56:58,239 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:56:58,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:56:58,691 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:56:58,691 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1896454777] [2022-04-15 06:56:58,691 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1896454777] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:56:58,691 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:56:58,691 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-15 06:56:58,691 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [844075593] [2022-04-15 06:56:58,691 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:56:58,692 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-15 06:56:58,692 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:56:58,692 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-15 06:56:58,719 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-15 06:56:58,719 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-15 06:56:58,719 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:56:58,719 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-15 06:56:58,719 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=168, Invalid=702, Unknown=0, NotChecked=0, Total=870 [2022-04-15 06:56:58,720 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-15 06:57:00,090 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:00,090 INFO L93 Difference]: Finished difference Result 181 states and 229 transitions. [2022-04-15 06:57:00,090 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 06:57:00,091 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-15 06:57:00,091 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:57:00,091 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-15 06:57:00,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 84 transitions. [2022-04-15 06:57:00,092 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-15 06:57:00,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 84 transitions. [2022-04-15 06:57:00,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 84 transitions. [2022-04-15 06:57:00,150 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-15 06:57:00,152 INFO L225 Difference]: With dead ends: 181 [2022-04-15 06:57:00,152 INFO L226 Difference]: Without dead ends: 127 [2022-04-15 06:57:00,152 INFO L912 BasicCegarLoop]: 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-15 06:57:00,153 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 53 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 786 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-15 06:57:00,153 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [54 Valid, 70 Invalid, 797 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 786 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 06:57:00,153 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2022-04-15 06:57:00,390 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 115. [2022-04-15 06:57:00,390 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:57:00,391 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-15 06:57:00,391 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-15 06:57:00,391 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-15 06:57:00,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:00,393 INFO L93 Difference]: Finished difference Result 127 states and 156 transitions. [2022-04-15 06:57:00,393 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 156 transitions. [2022-04-15 06:57:00,393 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:57:00,394 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:57:00,394 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-15 06:57:00,394 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-15 06:57:00,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:00,395 INFO L93 Difference]: Finished difference Result 127 states and 156 transitions. [2022-04-15 06:57:00,396 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 156 transitions. [2022-04-15 06:57:00,396 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:57:00,396 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:57:00,396 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:57:00,397 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:57:00,397 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-15 06:57:00,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 142 transitions. [2022-04-15 06:57:00,401 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 142 transitions. Word has length 37 [2022-04-15 06:57:00,401 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:57:00,401 INFO L478 AbstractCegarLoop]: Abstraction has 115 states and 142 transitions. [2022-04-15 06:57:00,402 INFO L479 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-15 06:57:00,402 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 115 states and 142 transitions. [2022-04-15 06:57:00,533 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-15 06:57:00,533 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 142 transitions. [2022-04-15 06:57:00,534 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 06:57:00,534 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:57:00,534 INFO L499 BasicCegarLoop]: 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-15 06:57:00,552 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-15 06:57:00,751 WARN L460 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-15 06:57:00,751 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:57:00,751 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:57:00,751 INFO L85 PathProgramCache]: Analyzing trace with hash 75399261, now seen corresponding path program 10 times [2022-04-15 06:57:00,751 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:57:00,751 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1440382834] [2022-04-15 06:57:04,865 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:57:04,970 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-15 06:57:07,889 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:57:08,002 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-15 06:57:08,003 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:57:08,006 INFO L85 PathProgramCache]: Analyzing trace with hash -1891786431, now seen corresponding path program 1 times [2022-04-15 06:57:08,007 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:57:08,007 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [843976707] [2022-04-15 06:57:08,007 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:57:08,007 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:57:08,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:08,199 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:57:08,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:08,222 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-15 06:57:08,222 INFO L290 TraceCheckUtils]: 1: Hoare triple {12243#(<= 20 ~SIZE~0)} assume true; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:08,222 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {12243#(<= 20 ~SIZE~0)} {12238#true} #90#return; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:08,223 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:57:08,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:08,226 INFO L290 TraceCheckUtils]: 0: Hoare triple {12238#true} ~cond := #in~cond; {12238#true} is VALID [2022-04-15 06:57:08,226 INFO L290 TraceCheckUtils]: 1: Hoare triple {12238#true} assume !(0 == ~cond); {12238#true} is VALID [2022-04-15 06:57:08,226 INFO L290 TraceCheckUtils]: 2: Hoare triple {12238#true} assume true; {12238#true} is VALID [2022-04-15 06:57:08,227 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12238#true} {12243#(<= 20 ~SIZE~0)} #86#return; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:08,227 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-15 06:57:08,228 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-15 06:57:08,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {12243#(<= 20 ~SIZE~0)} assume true; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:08,228 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12243#(<= 20 ~SIZE~0)} {12238#true} #90#return; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:08,229 INFO L272 TraceCheckUtils]: 4: Hoare triple {12243#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:08,229 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-15 06:57:08,229 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-15 06:57:08,229 INFO L290 TraceCheckUtils]: 7: Hoare triple {12238#true} ~cond := #in~cond; {12238#true} is VALID [2022-04-15 06:57:08,230 INFO L290 TraceCheckUtils]: 8: Hoare triple {12238#true} assume !(0 == ~cond); {12238#true} is VALID [2022-04-15 06:57:08,230 INFO L290 TraceCheckUtils]: 9: Hoare triple {12238#true} assume true; {12238#true} is VALID [2022-04-15 06:57:08,231 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12238#true} {12243#(<= 20 ~SIZE~0)} #86#return; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:08,231 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-15 06:57:08,231 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-15 06:57:08,232 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-15 06:57:08,235 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-15 06:57:08,236 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-15 06:57:08,237 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-15 06:57:08,237 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-15 06:57:08,238 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-15 06:57:08,238 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-15 06:57:08,239 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-15 06:57:08,239 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-15 06:57:08,240 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-15 06:57:08,240 INFO L290 TraceCheckUtils]: 23: Hoare triple {12255#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {12239#false} is VALID [2022-04-15 06:57:08,240 INFO L290 TraceCheckUtils]: 24: Hoare triple {12239#false} assume !false; {12239#false} is VALID [2022-04-15 06:57:08,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-15 06:57:08,240 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:57:08,240 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [843976707] [2022-04-15 06:57:08,241 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [843976707] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:57:08,241 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [453926355] [2022-04-15 06:57:08,241 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:57:08,241 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:57:08,241 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:57:08,251 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-15 06:57:08,262 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-15 06:57:08,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:08,283 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:57:08,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:08,290 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:57:08,548 INFO L272 TraceCheckUtils]: 0: Hoare triple {12238#true} call ULTIMATE.init(); {12238#true} is VALID [2022-04-15 06:57:08,549 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-15 06:57:08,549 INFO L290 TraceCheckUtils]: 2: Hoare triple {12243#(<= 20 ~SIZE~0)} assume true; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:08,550 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12243#(<= 20 ~SIZE~0)} {12238#true} #90#return; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:08,550 INFO L272 TraceCheckUtils]: 4: Hoare triple {12243#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:08,550 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-15 06:57:08,551 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-15 06:57:08,551 INFO L290 TraceCheckUtils]: 7: Hoare triple {12243#(<= 20 ~SIZE~0)} ~cond := #in~cond; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:08,551 INFO L290 TraceCheckUtils]: 8: Hoare triple {12243#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:08,552 INFO L290 TraceCheckUtils]: 9: Hoare triple {12243#(<= 20 ~SIZE~0)} assume true; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:08,552 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12243#(<= 20 ~SIZE~0)} {12243#(<= 20 ~SIZE~0)} #86#return; {12243#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:08,553 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-15 06:57:08,553 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-15 06:57:08,554 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-15 06:57:08,555 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-15 06:57:08,555 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-15 06:57:08,556 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-15 06:57:08,557 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-15 06:57:08,557 INFO L290 TraceCheckUtils]: 18: Hoare triple {12239#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {12239#false} is VALID [2022-04-15 06:57:08,557 INFO L290 TraceCheckUtils]: 19: Hoare triple {12239#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {12239#false} is VALID [2022-04-15 06:57:08,557 INFO L290 TraceCheckUtils]: 20: Hoare triple {12239#false} assume !(~d~0 == ~SIZE~0); {12239#false} is VALID [2022-04-15 06:57:08,557 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-15 06:57:08,557 INFO L290 TraceCheckUtils]: 22: Hoare triple {12239#false} ~cond := #in~cond; {12239#false} is VALID [2022-04-15 06:57:08,557 INFO L290 TraceCheckUtils]: 23: Hoare triple {12239#false} assume 0 == ~cond; {12239#false} is VALID [2022-04-15 06:57:08,557 INFO L290 TraceCheckUtils]: 24: Hoare triple {12239#false} assume !false; {12239#false} is VALID [2022-04-15 06:57:08,557 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-15 06:57:08,557 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:57:08,853 INFO L290 TraceCheckUtils]: 24: Hoare triple {12239#false} assume !false; {12239#false} is VALID [2022-04-15 06:57:08,853 INFO L290 TraceCheckUtils]: 23: Hoare triple {12239#false} assume 0 == ~cond; {12239#false} is VALID [2022-04-15 06:57:08,853 INFO L290 TraceCheckUtils]: 22: Hoare triple {12239#false} ~cond := #in~cond; {12239#false} is VALID [2022-04-15 06:57:08,853 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-15 06:57:08,853 INFO L290 TraceCheckUtils]: 20: Hoare triple {12239#false} assume !(~d~0 == ~SIZE~0); {12239#false} is VALID [2022-04-15 06:57:08,853 INFO L290 TraceCheckUtils]: 19: Hoare triple {12239#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {12239#false} is VALID [2022-04-15 06:57:08,853 INFO L290 TraceCheckUtils]: 18: Hoare triple {12239#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {12239#false} is VALID [2022-04-15 06:57:08,854 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-15 06:57:08,854 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-15 06:57:08,855 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-15 06:57:08,855 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-15 06:57:08,856 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-15 06:57:08,856 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-15 06:57:08,856 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-15 06:57:08,857 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12238#true} {12374#(< 1 ~SIZE~0)} #86#return; {12374#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:08,857 INFO L290 TraceCheckUtils]: 9: Hoare triple {12238#true} assume true; {12238#true} is VALID [2022-04-15 06:57:08,857 INFO L290 TraceCheckUtils]: 8: Hoare triple {12238#true} assume !(0 == ~cond); {12238#true} is VALID [2022-04-15 06:57:08,857 INFO L290 TraceCheckUtils]: 7: Hoare triple {12238#true} ~cond := #in~cond; {12238#true} is VALID [2022-04-15 06:57:08,857 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-15 06:57:08,857 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-15 06:57:08,858 INFO L272 TraceCheckUtils]: 4: Hoare triple {12374#(< 1 ~SIZE~0)} call #t~ret7 := main(); {12374#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:08,858 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12374#(< 1 ~SIZE~0)} {12238#true} #90#return; {12374#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:08,858 INFO L290 TraceCheckUtils]: 2: Hoare triple {12374#(< 1 ~SIZE~0)} assume true; {12374#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:08,859 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-15 06:57:08,859 INFO L272 TraceCheckUtils]: 0: Hoare triple {12238#true} call ULTIMATE.init(); {12238#true} is VALID [2022-04-15 06:57:08,859 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-15 06:57:08,859 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [453926355] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:57:08,859 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:57:08,859 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:57:09,444 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:57:09,445 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1440382834] [2022-04-15 06:57:09,445 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1440382834] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:57:09,445 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:57:09,445 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-15 06:57:09,445 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1371600778] [2022-04-15 06:57:09,445 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:57:09,445 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-15 06:57:09,446 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:57:09,446 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-15 06:57:09,472 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-15 06:57:09,472 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-15 06:57:09,472 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:57:09,472 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-15 06:57:09,473 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=182, Invalid=748, Unknown=0, NotChecked=0, Total=930 [2022-04-15 06:57:09,473 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-15 06:57:10,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:10,760 INFO L93 Difference]: Finished difference Result 192 states and 244 transitions. [2022-04-15 06:57:10,760 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-15 06:57:10,760 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-15 06:57:10,760 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:57:10,761 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-15 06:57:10,761 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 86 transitions. [2022-04-15 06:57:10,761 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-15 06:57:10,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 86 transitions. [2022-04-15 06:57:10,762 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 86 transitions. [2022-04-15 06:57:10,823 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-15 06:57:10,824 INFO L225 Difference]: With dead ends: 192 [2022-04-15 06:57:10,824 INFO L226 Difference]: Without dead ends: 127 [2022-04-15 06:57:10,825 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 48 SyntacticMatches, 4 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 318 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=194, Invalid=862, Unknown=0, NotChecked=0, Total=1056 [2022-04-15 06:57:10,825 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 53 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 671 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-15 06:57:10,825 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [54 Valid, 65 Invalid, 681 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 671 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 06:57:10,826 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2022-04-15 06:57:11,074 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 118. [2022-04-15 06:57:11,075 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:57:11,075 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-15 06:57:11,075 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-15 06:57:11,075 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-15 06:57:11,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:11,077 INFO L93 Difference]: Finished difference Result 127 states and 157 transitions. [2022-04-15 06:57:11,077 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 157 transitions. [2022-04-15 06:57:11,077 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:57:11,077 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:57:11,077 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-15 06:57:11,077 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-15 06:57:11,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:11,079 INFO L93 Difference]: Finished difference Result 127 states and 157 transitions. [2022-04-15 06:57:11,079 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 157 transitions. [2022-04-15 06:57:11,079 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:57:11,079 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:57:11,079 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:57:11,079 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:57:11,080 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-15 06:57:11,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 118 states to 118 states and 146 transitions. [2022-04-15 06:57:11,081 INFO L78 Accepts]: Start accepts. Automaton has 118 states and 146 transitions. Word has length 37 [2022-04-15 06:57:11,081 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:57:11,081 INFO L478 AbstractCegarLoop]: Abstraction has 118 states and 146 transitions. [2022-04-15 06:57:11,081 INFO L479 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-15 06:57:11,081 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 118 states and 146 transitions. [2022-04-15 06:57:11,243 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-15 06:57:11,243 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 146 transitions. [2022-04-15 06:57:11,244 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 06:57:11,244 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:57:11,244 INFO L499 BasicCegarLoop]: 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-15 06:57:11,260 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-15 06:57:11,444 WARN L460 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-15 06:57:11,445 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:57:11,445 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:57:11,445 INFO L85 PathProgramCache]: Analyzing trace with hash -1742968907, now seen corresponding path program 1 times [2022-04-15 06:57:11,445 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:57:11,445 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1144129899] [2022-04-15 06:57:11,674 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-15 06:57:11,939 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-15 06:57:11,940 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:57:11,943 INFO L85 PathProgramCache]: Analyzing trace with hash 333271952, now seen corresponding path program 1 times [2022-04-15 06:57:11,943 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:57:11,943 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1879058992] [2022-04-15 06:57:11,943 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:57:11,943 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:57:11,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:11,993 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:57:11,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:12,003 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-15 06:57:12,004 INFO L290 TraceCheckUtils]: 1: Hoare triple {13309#(<= 20 ~SIZE~0)} assume true; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:12,004 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13309#(<= 20 ~SIZE~0)} {13304#true} #90#return; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:12,004 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:57:12,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:12,015 INFO L290 TraceCheckUtils]: 0: Hoare triple {13304#true} ~cond := #in~cond; {13304#true} is VALID [2022-04-15 06:57:12,016 INFO L290 TraceCheckUtils]: 1: Hoare triple {13304#true} assume !(0 == ~cond); {13304#true} is VALID [2022-04-15 06:57:12,016 INFO L290 TraceCheckUtils]: 2: Hoare triple {13304#true} assume true; {13304#true} is VALID [2022-04-15 06:57:12,016 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13304#true} {13309#(<= 20 ~SIZE~0)} #86#return; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:12,016 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-15 06:57:12,017 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-15 06:57:12,017 INFO L290 TraceCheckUtils]: 2: Hoare triple {13309#(<= 20 ~SIZE~0)} assume true; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:12,017 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13309#(<= 20 ~SIZE~0)} {13304#true} #90#return; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:12,018 INFO L272 TraceCheckUtils]: 4: Hoare triple {13309#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:12,018 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-15 06:57:12,018 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-15 06:57:12,018 INFO L290 TraceCheckUtils]: 7: Hoare triple {13304#true} ~cond := #in~cond; {13304#true} is VALID [2022-04-15 06:57:12,018 INFO L290 TraceCheckUtils]: 8: Hoare triple {13304#true} assume !(0 == ~cond); {13304#true} is VALID [2022-04-15 06:57:12,018 INFO L290 TraceCheckUtils]: 9: Hoare triple {13304#true} assume true; {13304#true} is VALID [2022-04-15 06:57:12,019 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13304#true} {13309#(<= 20 ~SIZE~0)} #86#return; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:12,019 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-15 06:57:12,019 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-15 06:57:12,020 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-15 06:57:12,020 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-15 06:57:12,020 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-15 06:57:12,021 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-15 06:57:12,021 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-15 06:57:12,021 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-15 06:57:12,022 INFO L290 TraceCheckUtils]: 19: Hoare triple {13315#(<= (+ 19 main_~c~0) ~SIZE~0)} assume !(~c~0 < ~SIZE~0); {13305#false} is VALID [2022-04-15 06:57:12,022 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-15 06:57:12,022 INFO L290 TraceCheckUtils]: 21: Hoare triple {13305#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {13305#false} is VALID [2022-04-15 06:57:12,022 INFO L290 TraceCheckUtils]: 22: Hoare triple {13305#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {13305#false} is VALID [2022-04-15 06:57:12,022 INFO L290 TraceCheckUtils]: 23: Hoare triple {13305#false} assume !(~d~0 == ~SIZE~0); {13305#false} is VALID [2022-04-15 06:57:12,022 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-15 06:57:12,022 INFO L290 TraceCheckUtils]: 25: Hoare triple {13305#false} ~cond := #in~cond; {13305#false} is VALID [2022-04-15 06:57:12,022 INFO L290 TraceCheckUtils]: 26: Hoare triple {13305#false} assume 0 == ~cond; {13305#false} is VALID [2022-04-15 06:57:12,022 INFO L290 TraceCheckUtils]: 27: Hoare triple {13305#false} assume !false; {13305#false} is VALID [2022-04-15 06:57:12,022 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-15 06:57:12,022 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:57:12,023 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1879058992] [2022-04-15 06:57:12,023 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1879058992] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:57:12,024 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1466359843] [2022-04-15 06:57:12,024 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:57:12,024 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:57:12,024 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:57:12,029 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-15 06:57:12,029 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-15 06:57:12,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:12,061 INFO L263 TraceCheckSpWp]: Trace formula consists of 110 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 06:57:12,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:12,070 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:57:12,213 INFO L272 TraceCheckUtils]: 0: Hoare triple {13304#true} call ULTIMATE.init(); {13304#true} is VALID [2022-04-15 06:57:12,213 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-15 06:57:12,214 INFO L290 TraceCheckUtils]: 2: Hoare triple {13309#(<= 20 ~SIZE~0)} assume true; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:12,214 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13309#(<= 20 ~SIZE~0)} {13304#true} #90#return; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:12,214 INFO L272 TraceCheckUtils]: 4: Hoare triple {13309#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:12,214 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-15 06:57:12,215 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-15 06:57:12,215 INFO L290 TraceCheckUtils]: 7: Hoare triple {13309#(<= 20 ~SIZE~0)} ~cond := #in~cond; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:12,215 INFO L290 TraceCheckUtils]: 8: Hoare triple {13309#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:12,216 INFO L290 TraceCheckUtils]: 9: Hoare triple {13309#(<= 20 ~SIZE~0)} assume true; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:12,216 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13309#(<= 20 ~SIZE~0)} {13309#(<= 20 ~SIZE~0)} #86#return; {13309#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:12,216 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-15 06:57:12,217 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-15 06:57:12,217 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-15 06:57:12,217 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-15 06:57:12,218 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-15 06:57:12,218 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-15 06:57:12,219 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-15 06:57:12,219 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-15 06:57:12,219 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-15 06:57:12,220 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-15 06:57:12,220 INFO L290 TraceCheckUtils]: 21: Hoare triple {13305#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {13305#false} is VALID [2022-04-15 06:57:12,220 INFO L290 TraceCheckUtils]: 22: Hoare triple {13305#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {13305#false} is VALID [2022-04-15 06:57:12,220 INFO L290 TraceCheckUtils]: 23: Hoare triple {13305#false} assume !(~d~0 == ~SIZE~0); {13305#false} is VALID [2022-04-15 06:57:12,220 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-15 06:57:12,220 INFO L290 TraceCheckUtils]: 25: Hoare triple {13305#false} ~cond := #in~cond; {13305#false} is VALID [2022-04-15 06:57:12,220 INFO L290 TraceCheckUtils]: 26: Hoare triple {13305#false} assume 0 == ~cond; {13305#false} is VALID [2022-04-15 06:57:12,220 INFO L290 TraceCheckUtils]: 27: Hoare triple {13305#false} assume !false; {13305#false} is VALID [2022-04-15 06:57:12,220 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-15 06:57:12,220 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:57:12,331 INFO L290 TraceCheckUtils]: 27: Hoare triple {13305#false} assume !false; {13305#false} is VALID [2022-04-15 06:57:12,331 INFO L290 TraceCheckUtils]: 26: Hoare triple {13305#false} assume 0 == ~cond; {13305#false} is VALID [2022-04-15 06:57:12,331 INFO L290 TraceCheckUtils]: 25: Hoare triple {13305#false} ~cond := #in~cond; {13305#false} is VALID [2022-04-15 06:57:12,331 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-15 06:57:12,331 INFO L290 TraceCheckUtils]: 23: Hoare triple {13305#false} assume !(~d~0 == ~SIZE~0); {13305#false} is VALID [2022-04-15 06:57:12,331 INFO L290 TraceCheckUtils]: 22: Hoare triple {13305#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {13305#false} is VALID [2022-04-15 06:57:12,332 INFO L290 TraceCheckUtils]: 21: Hoare triple {13305#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {13305#false} is VALID [2022-04-15 06:57:12,332 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-15 06:57:12,332 INFO L290 TraceCheckUtils]: 19: Hoare triple {13427#(< main_~c~0 ~SIZE~0)} assume !(~c~0 < ~SIZE~0); {13305#false} is VALID [2022-04-15 06:57:12,332 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-15 06:57:12,333 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-15 06:57:12,333 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-15 06:57:12,333 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-15 06:57:12,334 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-15 06:57:12,334 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-15 06:57:12,334 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-15 06:57:12,335 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-15 06:57:12,335 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13304#true} {13441#(< 1 ~SIZE~0)} #86#return; {13441#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:12,335 INFO L290 TraceCheckUtils]: 9: Hoare triple {13304#true} assume true; {13304#true} is VALID [2022-04-15 06:57:12,335 INFO L290 TraceCheckUtils]: 8: Hoare triple {13304#true} assume !(0 == ~cond); {13304#true} is VALID [2022-04-15 06:57:12,335 INFO L290 TraceCheckUtils]: 7: Hoare triple {13304#true} ~cond := #in~cond; {13304#true} is VALID [2022-04-15 06:57:12,335 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-15 06:57:12,336 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-15 06:57:12,336 INFO L272 TraceCheckUtils]: 4: Hoare triple {13441#(< 1 ~SIZE~0)} call #t~ret7 := main(); {13441#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:12,336 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13441#(< 1 ~SIZE~0)} {13304#true} #90#return; {13441#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:12,337 INFO L290 TraceCheckUtils]: 2: Hoare triple {13441#(< 1 ~SIZE~0)} assume true; {13441#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:12,337 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-15 06:57:12,337 INFO L272 TraceCheckUtils]: 0: Hoare triple {13304#true} call ULTIMATE.init(); {13304#true} is VALID [2022-04-15 06:57:12,337 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-15 06:57:12,337 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1466359843] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:57:12,338 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:57:12,338 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5, 5] total 11 [2022-04-15 06:57:12,405 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:57:12,405 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1144129899] [2022-04-15 06:57:12,406 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1144129899] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:57:12,406 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:57:12,406 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 06:57:12,406 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1607294178] [2022-04-15 06:57:12,406 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:57:12,406 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-15 06:57:12,406 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:57:12,406 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-15 06:57:12,428 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-15 06:57:12,428 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 06:57:12,428 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:57:12,429 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 06:57:12,429 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=113, Unknown=0, NotChecked=0, Total=182 [2022-04-15 06:57:12,429 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-15 06:57:12,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:12,939 INFO L93 Difference]: Finished difference Result 215 states and 274 transitions. [2022-04-15 06:57:12,939 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 06:57:12,939 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-15 06:57:12,939 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:57:12,939 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-15 06:57:12,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 67 transitions. [2022-04-15 06:57:12,940 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-15 06:57:12,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 67 transitions. [2022-04-15 06:57:12,941 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 67 transitions. [2022-04-15 06:57:12,985 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-15 06:57:12,987 INFO L225 Difference]: With dead ends: 215 [2022-04-15 06:57:12,987 INFO L226 Difference]: Without dead ends: 152 [2022-04-15 06:57:12,987 INFO L912 BasicCegarLoop]: 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-15 06:57:12,987 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 43 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 87 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-15 06:57:12,987 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 25 Invalid, 104 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 87 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 06:57:12,988 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 152 states. [2022-04-15 06:57:13,282 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 152 to 133. [2022-04-15 06:57:13,282 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:57:13,282 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-15 06:57:13,282 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-15 06:57:13,282 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-15 06:57:13,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:13,285 INFO L93 Difference]: Finished difference Result 152 states and 186 transitions. [2022-04-15 06:57:13,285 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 186 transitions. [2022-04-15 06:57:13,285 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:57:13,285 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:57:13,285 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-15 06:57:13,285 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-15 06:57:13,288 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:13,288 INFO L93 Difference]: Finished difference Result 152 states and 186 transitions. [2022-04-15 06:57:13,288 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 186 transitions. [2022-04-15 06:57:13,288 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:57:13,288 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:57:13,288 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:57:13,288 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:57:13,289 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-15 06:57:13,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 164 transitions. [2022-04-15 06:57:13,291 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 164 transitions. Word has length 39 [2022-04-15 06:57:13,291 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:57:13,291 INFO L478 AbstractCegarLoop]: Abstraction has 133 states and 164 transitions. [2022-04-15 06:57:13,291 INFO L479 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-15 06:57:13,291 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 133 states and 164 transitions. [2022-04-15 06:57:13,482 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-15 06:57:13,482 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 164 transitions. [2022-04-15 06:57:13,482 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-15 06:57:13,482 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:57:13,483 INFO L499 BasicCegarLoop]: 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-15 06:57:13,501 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-15 06:57:13,683 WARN L460 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-15 06:57:13,683 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:57:13,683 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:57:13,683 INFO L85 PathProgramCache]: Analyzing trace with hash 651130940, now seen corresponding path program 11 times [2022-04-15 06:57:13,684 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:57:13,684 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [591913030] [2022-04-15 06:57:16,618 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-15 06:57:16,830 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-15 06:57:16,831 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:57:16,834 INFO L85 PathProgramCache]: Analyzing trace with hash -1201708223, now seen corresponding path program 1 times [2022-04-15 06:57:16,835 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:57:16,835 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [830856340] [2022-04-15 06:57:16,835 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:57:16,835 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:57:16,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:16,998 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:57:16,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:17,003 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-15 06:57:17,004 INFO L290 TraceCheckUtils]: 1: Hoare triple {14502#(<= 20 ~SIZE~0)} assume true; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:17,004 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {14502#(<= 20 ~SIZE~0)} {14497#true} #90#return; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:17,004 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:57:17,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:17,006 INFO L290 TraceCheckUtils]: 0: Hoare triple {14497#true} ~cond := #in~cond; {14497#true} is VALID [2022-04-15 06:57:17,006 INFO L290 TraceCheckUtils]: 1: Hoare triple {14497#true} assume !(0 == ~cond); {14497#true} is VALID [2022-04-15 06:57:17,007 INFO L290 TraceCheckUtils]: 2: Hoare triple {14497#true} assume true; {14497#true} is VALID [2022-04-15 06:57:17,007 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14497#true} {14502#(<= 20 ~SIZE~0)} #86#return; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:17,007 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-15 06:57:17,008 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-15 06:57:17,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {14502#(<= 20 ~SIZE~0)} assume true; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:17,009 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14502#(<= 20 ~SIZE~0)} {14497#true} #90#return; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:17,009 INFO L272 TraceCheckUtils]: 4: Hoare triple {14502#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:17,009 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-15 06:57:17,009 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-15 06:57:17,009 INFO L290 TraceCheckUtils]: 7: Hoare triple {14497#true} ~cond := #in~cond; {14497#true} is VALID [2022-04-15 06:57:17,009 INFO L290 TraceCheckUtils]: 8: Hoare triple {14497#true} assume !(0 == ~cond); {14497#true} is VALID [2022-04-15 06:57:17,010 INFO L290 TraceCheckUtils]: 9: Hoare triple {14497#true} assume true; {14497#true} is VALID [2022-04-15 06:57:17,010 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14497#true} {14502#(<= 20 ~SIZE~0)} #86#return; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:17,010 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-15 06:57:17,011 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-15 06:57:17,011 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-15 06:57:17,012 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-15 06:57:17,013 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-15 06:57:17,013 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-15 06:57:17,014 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-15 06:57:17,014 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-15 06:57:17,015 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-15 06:57:17,015 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-15 06:57:17,016 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-15 06:57:17,016 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-15 06:57:17,016 INFO L290 TraceCheckUtils]: 23: Hoare triple {14514#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {14498#false} is VALID [2022-04-15 06:57:17,017 INFO L290 TraceCheckUtils]: 24: Hoare triple {14498#false} assume !false; {14498#false} is VALID [2022-04-15 06:57:17,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-15 06:57:17,017 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:57:17,017 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [830856340] [2022-04-15 06:57:17,017 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [830856340] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:57:17,017 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [406409875] [2022-04-15 06:57:17,017 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:57:17,017 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:57:17,017 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:57:17,018 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-15 06:57:17,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-15 06:57:17,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:17,049 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:57:17,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:17,056 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:57:17,318 INFO L272 TraceCheckUtils]: 0: Hoare triple {14497#true} call ULTIMATE.init(); {14497#true} is VALID [2022-04-15 06:57:17,319 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-15 06:57:17,319 INFO L290 TraceCheckUtils]: 2: Hoare triple {14502#(<= 20 ~SIZE~0)} assume true; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:17,319 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14502#(<= 20 ~SIZE~0)} {14497#true} #90#return; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:17,320 INFO L272 TraceCheckUtils]: 4: Hoare triple {14502#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:17,320 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-15 06:57:17,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-15 06:57:17,321 INFO L290 TraceCheckUtils]: 7: Hoare triple {14502#(<= 20 ~SIZE~0)} ~cond := #in~cond; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:17,321 INFO L290 TraceCheckUtils]: 8: Hoare triple {14502#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:17,322 INFO L290 TraceCheckUtils]: 9: Hoare triple {14502#(<= 20 ~SIZE~0)} assume true; {14502#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:17,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-15 06:57:17,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-15 06:57:17,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-15 06:57:17,324 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-15 06:57:17,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-15 06:57:17,325 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-15 06:57:17,326 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-15 06:57:17,326 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-15 06:57:17,327 INFO L290 TraceCheckUtils]: 18: Hoare triple {14498#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {14498#false} is VALID [2022-04-15 06:57:17,327 INFO L290 TraceCheckUtils]: 19: Hoare triple {14498#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {14498#false} is VALID [2022-04-15 06:57:17,327 INFO L290 TraceCheckUtils]: 20: Hoare triple {14498#false} assume !(~d~0 == ~SIZE~0); {14498#false} is VALID [2022-04-15 06:57:17,327 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-15 06:57:17,327 INFO L290 TraceCheckUtils]: 22: Hoare triple {14498#false} ~cond := #in~cond; {14498#false} is VALID [2022-04-15 06:57:17,327 INFO L290 TraceCheckUtils]: 23: Hoare triple {14498#false} assume 0 == ~cond; {14498#false} is VALID [2022-04-15 06:57:17,327 INFO L290 TraceCheckUtils]: 24: Hoare triple {14498#false} assume !false; {14498#false} is VALID [2022-04-15 06:57:17,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-15 06:57:17,327 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:57:17,616 INFO L290 TraceCheckUtils]: 24: Hoare triple {14498#false} assume !false; {14498#false} is VALID [2022-04-15 06:57:17,616 INFO L290 TraceCheckUtils]: 23: Hoare triple {14498#false} assume 0 == ~cond; {14498#false} is VALID [2022-04-15 06:57:17,616 INFO L290 TraceCheckUtils]: 22: Hoare triple {14498#false} ~cond := #in~cond; {14498#false} is VALID [2022-04-15 06:57:17,616 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-15 06:57:17,616 INFO L290 TraceCheckUtils]: 20: Hoare triple {14498#false} assume !(~d~0 == ~SIZE~0); {14498#false} is VALID [2022-04-15 06:57:17,616 INFO L290 TraceCheckUtils]: 19: Hoare triple {14498#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {14498#false} is VALID [2022-04-15 06:57:17,616 INFO L290 TraceCheckUtils]: 18: Hoare triple {14498#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {14498#false} is VALID [2022-04-15 06:57:17,617 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-15 06:57:17,617 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-15 06:57:17,618 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-15 06:57:17,618 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-15 06:57:17,619 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-15 06:57:17,619 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-15 06:57:17,620 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-15 06:57:17,620 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14497#true} {14633#(< 1 ~SIZE~0)} #86#return; {14633#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:17,620 INFO L290 TraceCheckUtils]: 9: Hoare triple {14497#true} assume true; {14497#true} is VALID [2022-04-15 06:57:17,620 INFO L290 TraceCheckUtils]: 8: Hoare triple {14497#true} assume !(0 == ~cond); {14497#true} is VALID [2022-04-15 06:57:17,620 INFO L290 TraceCheckUtils]: 7: Hoare triple {14497#true} ~cond := #in~cond; {14497#true} is VALID [2022-04-15 06:57:17,620 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-15 06:57:17,621 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-15 06:57:17,621 INFO L272 TraceCheckUtils]: 4: Hoare triple {14633#(< 1 ~SIZE~0)} call #t~ret7 := main(); {14633#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:17,621 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14633#(< 1 ~SIZE~0)} {14497#true} #90#return; {14633#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:17,622 INFO L290 TraceCheckUtils]: 2: Hoare triple {14633#(< 1 ~SIZE~0)} assume true; {14633#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:17,622 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-15 06:57:17,622 INFO L272 TraceCheckUtils]: 0: Hoare triple {14497#true} call ULTIMATE.init(); {14497#true} is VALID [2022-04-15 06:57:17,622 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-15 06:57:17,623 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [406409875] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:57:17,623 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:57:17,623 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:57:18,120 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:57:18,120 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [591913030] [2022-04-15 06:57:18,121 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [591913030] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:57:18,121 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:57:18,121 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-15 06:57:18,121 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1960008448] [2022-04-15 06:57:18,121 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:57:18,121 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-15 06:57:18,121 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:57:18,122 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-15 06:57:18,141 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-15 06:57:18,141 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-15 06:57:18,141 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:57:18,141 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-15 06:57:18,141 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=147, Invalid=665, Unknown=0, NotChecked=0, Total=812 [2022-04-15 06:57:18,141 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-15 06:57:19,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:19,306 INFO L93 Difference]: Finished difference Result 221 states and 276 transitions. [2022-04-15 06:57:19,306 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 06:57:19,306 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-15 06:57:19,306 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:57:19,306 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-15 06:57:19,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 85 transitions. [2022-04-15 06:57:19,307 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-15 06:57:19,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 85 transitions. [2022-04-15 06:57:19,307 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 85 transitions. [2022-04-15 06:57:19,378 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-15 06:57:19,380 INFO L225 Difference]: With dead ends: 221 [2022-04-15 06:57:19,380 INFO L226 Difference]: Without dead ends: 152 [2022-04-15 06:57:19,381 INFO L912 BasicCegarLoop]: 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-15 06:57:19,382 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 45 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 585 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-15 06:57:19,382 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [46 Valid, 60 Invalid, 595 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 585 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 06:57:19,386 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 152 states. [2022-04-15 06:57:19,657 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 152 to 136. [2022-04-15 06:57:19,657 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:57:19,658 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-15 06:57:19,658 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-15 06:57:19,658 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-15 06:57:19,661 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:19,661 INFO L93 Difference]: Finished difference Result 152 states and 185 transitions. [2022-04-15 06:57:19,661 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 185 transitions. [2022-04-15 06:57:19,661 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:57:19,661 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:57:19,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 152 states. [2022-04-15 06:57:19,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 152 states. [2022-04-15 06:57:19,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:19,664 INFO L93 Difference]: Finished difference Result 152 states and 185 transitions. [2022-04-15 06:57:19,664 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 185 transitions. [2022-04-15 06:57:19,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:57:19,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:57:19,664 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:57:19,664 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:57:19,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-15 06:57:19,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 167 transitions. [2022-04-15 06:57:19,666 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 167 transitions. Word has length 40 [2022-04-15 06:57:19,666 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:57:19,666 INFO L478 AbstractCegarLoop]: Abstraction has 136 states and 167 transitions. [2022-04-15 06:57:19,666 INFO L479 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-15 06:57:19,666 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 136 states and 167 transitions. [2022-04-15 06:57:19,902 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-15 06:57:19,902 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 167 transitions. [2022-04-15 06:57:19,903 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-15 06:57:19,903 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:57:19,903 INFO L499 BasicCegarLoop]: 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-15 06:57:19,921 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-15 06:57:20,119 WARN L460 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-15 06:57:20,119 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:57:20,119 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:57:20,119 INFO L85 PathProgramCache]: Analyzing trace with hash -1154307394, now seen corresponding path program 12 times [2022-04-15 06:57:20,120 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:57:20,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [678916587] [2022-04-15 06:57:20,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-15 06:57:22,801 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:57:22,891 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-15 06:57:22,892 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:57:22,903 INFO L85 PathProgramCache]: Analyzing trace with hash 1290814529, now seen corresponding path program 1 times [2022-04-15 06:57:22,904 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:57:22,904 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1463088897] [2022-04-15 06:57:22,904 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:57:22,904 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:57:22,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:23,092 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:57:23,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:23,097 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-15 06:57:23,098 INFO L290 TraceCheckUtils]: 1: Hoare triple {15710#(<= 20 ~SIZE~0)} assume true; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:23,098 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15710#(<= 20 ~SIZE~0)} {15705#true} #90#return; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:23,098 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:57:23,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:23,101 INFO L290 TraceCheckUtils]: 0: Hoare triple {15705#true} ~cond := #in~cond; {15705#true} is VALID [2022-04-15 06:57:23,101 INFO L290 TraceCheckUtils]: 1: Hoare triple {15705#true} assume !(0 == ~cond); {15705#true} is VALID [2022-04-15 06:57:23,101 INFO L290 TraceCheckUtils]: 2: Hoare triple {15705#true} assume true; {15705#true} is VALID [2022-04-15 06:57:23,101 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15705#true} {15710#(<= 20 ~SIZE~0)} #86#return; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:23,102 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-15 06:57:23,102 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-15 06:57:23,103 INFO L290 TraceCheckUtils]: 2: Hoare triple {15710#(<= 20 ~SIZE~0)} assume true; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:23,103 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15710#(<= 20 ~SIZE~0)} {15705#true} #90#return; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:23,103 INFO L272 TraceCheckUtils]: 4: Hoare triple {15710#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:23,104 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-15 06:57:23,104 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-15 06:57:23,104 INFO L290 TraceCheckUtils]: 7: Hoare triple {15705#true} ~cond := #in~cond; {15705#true} is VALID [2022-04-15 06:57:23,104 INFO L290 TraceCheckUtils]: 8: Hoare triple {15705#true} assume !(0 == ~cond); {15705#true} is VALID [2022-04-15 06:57:23,104 INFO L290 TraceCheckUtils]: 9: Hoare triple {15705#true} assume true; {15705#true} is VALID [2022-04-15 06:57:23,104 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15705#true} {15710#(<= 20 ~SIZE~0)} #86#return; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:23,105 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-15 06:57:23,105 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-15 06:57:23,106 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-15 06:57:23,106 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-15 06:57:23,107 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-15 06:57:23,107 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-15 06:57:23,108 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-15 06:57:23,109 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-15 06:57:23,109 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-15 06:57:23,110 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-15 06:57:23,110 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-15 06:57:23,111 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-15 06:57:23,111 INFO L290 TraceCheckUtils]: 23: Hoare triple {15722#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {15706#false} is VALID [2022-04-15 06:57:23,111 INFO L290 TraceCheckUtils]: 24: Hoare triple {15706#false} assume !false; {15706#false} is VALID [2022-04-15 06:57:23,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-15 06:57:23,111 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:57:23,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1463088897] [2022-04-15 06:57:23,111 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1463088897] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:57:23,112 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [649286672] [2022-04-15 06:57:23,112 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:57:23,112 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:57:23,112 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:57:23,124 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-15 06:57:23,125 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-15 06:57:23,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:23,155 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:57:23,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:23,162 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:57:23,420 INFO L272 TraceCheckUtils]: 0: Hoare triple {15705#true} call ULTIMATE.init(); {15705#true} is VALID [2022-04-15 06:57:23,421 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-15 06:57:23,421 INFO L290 TraceCheckUtils]: 2: Hoare triple {15710#(<= 20 ~SIZE~0)} assume true; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:23,421 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15710#(<= 20 ~SIZE~0)} {15705#true} #90#return; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:23,422 INFO L272 TraceCheckUtils]: 4: Hoare triple {15710#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:23,422 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-15 06:57:23,422 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-15 06:57:23,423 INFO L290 TraceCheckUtils]: 7: Hoare triple {15710#(<= 20 ~SIZE~0)} ~cond := #in~cond; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:23,423 INFO L290 TraceCheckUtils]: 8: Hoare triple {15710#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:23,423 INFO L290 TraceCheckUtils]: 9: Hoare triple {15710#(<= 20 ~SIZE~0)} assume true; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:23,424 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15710#(<= 20 ~SIZE~0)} {15710#(<= 20 ~SIZE~0)} #86#return; {15710#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:23,424 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-15 06:57:23,424 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-15 06:57:23,425 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-15 06:57:23,426 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-15 06:57:23,426 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-15 06:57:23,427 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-15 06:57:23,427 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-15 06:57:23,427 INFO L290 TraceCheckUtils]: 18: Hoare triple {15706#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {15706#false} is VALID [2022-04-15 06:57:23,427 INFO L290 TraceCheckUtils]: 19: Hoare triple {15706#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {15706#false} is VALID [2022-04-15 06:57:23,428 INFO L290 TraceCheckUtils]: 20: Hoare triple {15706#false} assume !(~d~0 == ~SIZE~0); {15706#false} is VALID [2022-04-15 06:57:23,428 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-15 06:57:23,428 INFO L290 TraceCheckUtils]: 22: Hoare triple {15706#false} ~cond := #in~cond; {15706#false} is VALID [2022-04-15 06:57:23,428 INFO L290 TraceCheckUtils]: 23: Hoare triple {15706#false} assume 0 == ~cond; {15706#false} is VALID [2022-04-15 06:57:23,428 INFO L290 TraceCheckUtils]: 24: Hoare triple {15706#false} assume !false; {15706#false} is VALID [2022-04-15 06:57:23,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-15 06:57:23,428 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:57:23,725 INFO L290 TraceCheckUtils]: 24: Hoare triple {15706#false} assume !false; {15706#false} is VALID [2022-04-15 06:57:23,725 INFO L290 TraceCheckUtils]: 23: Hoare triple {15706#false} assume 0 == ~cond; {15706#false} is VALID [2022-04-15 06:57:23,725 INFO L290 TraceCheckUtils]: 22: Hoare triple {15706#false} ~cond := #in~cond; {15706#false} is VALID [2022-04-15 06:57:23,726 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-15 06:57:23,726 INFO L290 TraceCheckUtils]: 20: Hoare triple {15706#false} assume !(~d~0 == ~SIZE~0); {15706#false} is VALID [2022-04-15 06:57:23,726 INFO L290 TraceCheckUtils]: 19: Hoare triple {15706#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {15706#false} is VALID [2022-04-15 06:57:23,726 INFO L290 TraceCheckUtils]: 18: Hoare triple {15706#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {15706#false} is VALID [2022-04-15 06:57:23,726 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-15 06:57:23,727 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-15 06:57:23,727 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-15 06:57:23,728 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-15 06:57:23,728 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-15 06:57:23,729 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-15 06:57:23,729 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-15 06:57:23,730 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15705#true} {15841#(< 1 ~SIZE~0)} #86#return; {15841#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:23,730 INFO L290 TraceCheckUtils]: 9: Hoare triple {15705#true} assume true; {15705#true} is VALID [2022-04-15 06:57:23,730 INFO L290 TraceCheckUtils]: 8: Hoare triple {15705#true} assume !(0 == ~cond); {15705#true} is VALID [2022-04-15 06:57:23,730 INFO L290 TraceCheckUtils]: 7: Hoare triple {15705#true} ~cond := #in~cond; {15705#true} is VALID [2022-04-15 06:57:23,730 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-15 06:57:23,730 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-15 06:57:23,731 INFO L272 TraceCheckUtils]: 4: Hoare triple {15841#(< 1 ~SIZE~0)} call #t~ret7 := main(); {15841#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:23,731 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15841#(< 1 ~SIZE~0)} {15705#true} #90#return; {15841#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:23,731 INFO L290 TraceCheckUtils]: 2: Hoare triple {15841#(< 1 ~SIZE~0)} assume true; {15841#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:23,732 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-15 06:57:23,732 INFO L272 TraceCheckUtils]: 0: Hoare triple {15705#true} call ULTIMATE.init(); {15705#true} is VALID [2022-04-15 06:57:23,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-15 06:57:23,732 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [649286672] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:57:23,732 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:57:23,732 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:57:24,368 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:57:24,368 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [678916587] [2022-04-15 06:57:24,368 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [678916587] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:57:24,368 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:57:24,368 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-15 06:57:24,368 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1662770525] [2022-04-15 06:57:24,368 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:57:24,369 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-15 06:57:24,369 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:57:24,369 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-15 06:57:24,399 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-15 06:57:24,399 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-15 06:57:24,399 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:57:24,400 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-15 06:57:24,400 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=161, Invalid=709, Unknown=0, NotChecked=0, Total=870 [2022-04-15 06:57:24,400 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-15 06:57:25,868 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:25,868 INFO L93 Difference]: Finished difference Result 224 states and 279 transitions. [2022-04-15 06:57:25,868 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 06:57:25,869 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-15 06:57:25,869 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:57:25,869 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-15 06:57:25,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 86 transitions. [2022-04-15 06:57:25,870 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-15 06:57:25,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 86 transitions. [2022-04-15 06:57:25,870 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 86 transitions. [2022-04-15 06:57:25,931 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-15 06:57:25,938 INFO L225 Difference]: With dead ends: 224 [2022-04-15 06:57:25,939 INFO L226 Difference]: Without dead ends: 155 [2022-04-15 06:57:25,939 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 48 SyntacticMatches, 8 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 363 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=173, Invalid=819, Unknown=0, NotChecked=0, Total=992 [2022-04-15 06:57:25,939 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 55 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 671 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-15 06:57:25,940 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [56 Valid, 64 Invalid, 682 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 671 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 06:57:25,940 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 155 states. [2022-04-15 06:57:26,179 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 155 to 136. [2022-04-15 06:57:26,179 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:57:26,180 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-15 06:57:26,180 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-15 06:57:26,180 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-15 06:57:26,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:26,182 INFO L93 Difference]: Finished difference Result 155 states and 188 transitions. [2022-04-15 06:57:26,182 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 188 transitions. [2022-04-15 06:57:26,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:57:26,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:57:26,182 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-15 06:57:26,183 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-15 06:57:26,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:26,184 INFO L93 Difference]: Finished difference Result 155 states and 188 transitions. [2022-04-15 06:57:26,184 INFO L276 IsEmpty]: Start isEmpty. Operand 155 states and 188 transitions. [2022-04-15 06:57:26,184 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:57:26,184 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:57:26,185 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:57:26,185 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:57:26,185 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-15 06:57:26,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 167 transitions. [2022-04-15 06:57:26,186 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 167 transitions. Word has length 40 [2022-04-15 06:57:26,186 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:57:26,187 INFO L478 AbstractCegarLoop]: Abstraction has 136 states and 167 transitions. [2022-04-15 06:57:26,187 INFO L479 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-15 06:57:26,187 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 136 states and 167 transitions. [2022-04-15 06:57:26,404 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-15 06:57:26,404 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 167 transitions. [2022-04-15 06:57:26,405 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-15 06:57:26,405 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:57:26,405 INFO L499 BasicCegarLoop]: 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-15 06:57:26,421 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-15 06:57:26,605 WARN L460 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-15 06:57:26,605 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:57:26,606 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:57:26,606 INFO L85 PathProgramCache]: Analyzing trace with hash -1971955844, now seen corresponding path program 13 times [2022-04-15 06:57:26,606 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:57:26,606 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1286215239] [2022-04-15 06:57:29,936 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:57:30,050 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-15 06:57:30,265 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-15 06:57:30,266 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:57:30,269 INFO L85 PathProgramCache]: Analyzing trace with hash -511630015, now seen corresponding path program 1 times [2022-04-15 06:57:30,269 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:57:30,269 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1608011736] [2022-04-15 06:57:30,269 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:57:30,270 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:57:30,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:30,448 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:57:30,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:30,454 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-15 06:57:30,454 INFO L290 TraceCheckUtils]: 1: Hoare triple {16931#(<= 20 ~SIZE~0)} assume true; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:30,455 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {16931#(<= 20 ~SIZE~0)} {16926#true} #90#return; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:30,455 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:57:30,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:30,459 INFO L290 TraceCheckUtils]: 0: Hoare triple {16926#true} ~cond := #in~cond; {16926#true} is VALID [2022-04-15 06:57:30,459 INFO L290 TraceCheckUtils]: 1: Hoare triple {16926#true} assume !(0 == ~cond); {16926#true} is VALID [2022-04-15 06:57:30,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {16926#true} assume true; {16926#true} is VALID [2022-04-15 06:57:30,459 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16926#true} {16931#(<= 20 ~SIZE~0)} #86#return; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:30,460 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-15 06:57:30,460 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-15 06:57:30,460 INFO L290 TraceCheckUtils]: 2: Hoare triple {16931#(<= 20 ~SIZE~0)} assume true; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:30,461 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16931#(<= 20 ~SIZE~0)} {16926#true} #90#return; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:30,461 INFO L272 TraceCheckUtils]: 4: Hoare triple {16931#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:30,461 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-15 06:57:30,461 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-15 06:57:30,461 INFO L290 TraceCheckUtils]: 7: Hoare triple {16926#true} ~cond := #in~cond; {16926#true} is VALID [2022-04-15 06:57:30,461 INFO L290 TraceCheckUtils]: 8: Hoare triple {16926#true} assume !(0 == ~cond); {16926#true} is VALID [2022-04-15 06:57:30,461 INFO L290 TraceCheckUtils]: 9: Hoare triple {16926#true} assume true; {16926#true} is VALID [2022-04-15 06:57:30,462 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16926#true} {16931#(<= 20 ~SIZE~0)} #86#return; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:30,462 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-15 06:57:30,462 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-15 06:57:30,463 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-15 06:57:30,463 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-15 06:57:30,466 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-15 06:57:30,467 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-15 06:57:30,467 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-15 06:57:30,468 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-15 06:57:30,468 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-15 06:57:30,471 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-15 06:57:30,471 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-15 06:57:30,471 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-15 06:57:30,472 INFO L290 TraceCheckUtils]: 23: Hoare triple {16943#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {16927#false} is VALID [2022-04-15 06:57:30,472 INFO L290 TraceCheckUtils]: 24: Hoare triple {16927#false} assume !false; {16927#false} is VALID [2022-04-15 06:57:30,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-15 06:57:30,472 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:57:30,472 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1608011736] [2022-04-15 06:57:30,472 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1608011736] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:57:30,472 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [804919944] [2022-04-15 06:57:30,472 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:57:30,472 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:57:30,473 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:57:30,474 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-15 06:57:30,474 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-15 06:57:30,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:30,503 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:57:30,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:30,508 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:57:30,756 INFO L272 TraceCheckUtils]: 0: Hoare triple {16926#true} call ULTIMATE.init(); {16926#true} is VALID [2022-04-15 06:57:30,757 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-15 06:57:30,757 INFO L290 TraceCheckUtils]: 2: Hoare triple {16931#(<= 20 ~SIZE~0)} assume true; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:30,758 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16931#(<= 20 ~SIZE~0)} {16926#true} #90#return; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:30,758 INFO L272 TraceCheckUtils]: 4: Hoare triple {16931#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:30,758 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-15 06:57:30,759 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-15 06:57:30,761 INFO L290 TraceCheckUtils]: 7: Hoare triple {16931#(<= 20 ~SIZE~0)} ~cond := #in~cond; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:30,762 INFO L290 TraceCheckUtils]: 8: Hoare triple {16931#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:30,762 INFO L290 TraceCheckUtils]: 9: Hoare triple {16931#(<= 20 ~SIZE~0)} assume true; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:30,762 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16931#(<= 20 ~SIZE~0)} {16931#(<= 20 ~SIZE~0)} #86#return; {16931#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:30,762 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-15 06:57:30,763 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-15 06:57:30,764 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-15 06:57:30,764 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-15 06:57:30,765 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-15 06:57:30,765 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-15 06:57:30,766 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-15 06:57:30,766 INFO L290 TraceCheckUtils]: 18: Hoare triple {16927#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {16927#false} is VALID [2022-04-15 06:57:30,766 INFO L290 TraceCheckUtils]: 19: Hoare triple {16927#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {16927#false} is VALID [2022-04-15 06:57:30,766 INFO L290 TraceCheckUtils]: 20: Hoare triple {16927#false} assume !(~d~0 == ~SIZE~0); {16927#false} is VALID [2022-04-15 06:57:30,766 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-15 06:57:30,766 INFO L290 TraceCheckUtils]: 22: Hoare triple {16927#false} ~cond := #in~cond; {16927#false} is VALID [2022-04-15 06:57:30,766 INFO L290 TraceCheckUtils]: 23: Hoare triple {16927#false} assume 0 == ~cond; {16927#false} is VALID [2022-04-15 06:57:30,766 INFO L290 TraceCheckUtils]: 24: Hoare triple {16927#false} assume !false; {16927#false} is VALID [2022-04-15 06:57:30,766 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-15 06:57:30,767 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:57:31,027 INFO L290 TraceCheckUtils]: 24: Hoare triple {16927#false} assume !false; {16927#false} is VALID [2022-04-15 06:57:31,027 INFO L290 TraceCheckUtils]: 23: Hoare triple {16927#false} assume 0 == ~cond; {16927#false} is VALID [2022-04-15 06:57:31,027 INFO L290 TraceCheckUtils]: 22: Hoare triple {16927#false} ~cond := #in~cond; {16927#false} is VALID [2022-04-15 06:57:31,027 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-15 06:57:31,028 INFO L290 TraceCheckUtils]: 20: Hoare triple {16927#false} assume !(~d~0 == ~SIZE~0); {16927#false} is VALID [2022-04-15 06:57:31,028 INFO L290 TraceCheckUtils]: 19: Hoare triple {16927#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {16927#false} is VALID [2022-04-15 06:57:31,028 INFO L290 TraceCheckUtils]: 18: Hoare triple {16927#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {16927#false} is VALID [2022-04-15 06:57:31,028 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-15 06:57:31,029 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-15 06:57:31,029 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-15 06:57:31,029 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-15 06:57:31,030 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-15 06:57:31,030 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-15 06:57:31,031 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-15 06:57:31,031 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16926#true} {17062#(< 1 ~SIZE~0)} #86#return; {17062#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:31,031 INFO L290 TraceCheckUtils]: 9: Hoare triple {16926#true} assume true; {16926#true} is VALID [2022-04-15 06:57:31,031 INFO L290 TraceCheckUtils]: 8: Hoare triple {16926#true} assume !(0 == ~cond); {16926#true} is VALID [2022-04-15 06:57:31,031 INFO L290 TraceCheckUtils]: 7: Hoare triple {16926#true} ~cond := #in~cond; {16926#true} is VALID [2022-04-15 06:57:31,032 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-15 06:57:31,032 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-15 06:57:31,032 INFO L272 TraceCheckUtils]: 4: Hoare triple {17062#(< 1 ~SIZE~0)} call #t~ret7 := main(); {17062#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:31,032 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17062#(< 1 ~SIZE~0)} {16926#true} #90#return; {17062#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:31,033 INFO L290 TraceCheckUtils]: 2: Hoare triple {17062#(< 1 ~SIZE~0)} assume true; {17062#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:31,033 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-15 06:57:31,033 INFO L272 TraceCheckUtils]: 0: Hoare triple {16926#true} call ULTIMATE.init(); {16926#true} is VALID [2022-04-15 06:57:31,033 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-15 06:57:31,033 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [804919944] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:57:31,034 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:57:31,034 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:57:31,604 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:57:31,604 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1286215239] [2022-04-15 06:57:31,604 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1286215239] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:57:31,604 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:57:31,604 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-15 06:57:31,604 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1759578477] [2022-04-15 06:57:31,604 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:57:31,604 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-15 06:57:31,604 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:57:31,605 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-15 06:57:31,633 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-15 06:57:31,633 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-15 06:57:31,633 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:57:31,633 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-15 06:57:31,634 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=175, Invalid=755, Unknown=0, NotChecked=0, Total=930 [2022-04-15 06:57:31,634 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-15 06:57:33,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:33,032 INFO L93 Difference]: Finished difference Result 221 states and 276 transitions. [2022-04-15 06:57:33,032 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-15 06:57:33,032 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-15 06:57:33,032 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:57:33,032 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-15 06:57:33,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 87 transitions. [2022-04-15 06:57:33,033 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-15 06:57:33,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 87 transitions. [2022-04-15 06:57:33,033 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 87 transitions. [2022-04-15 06:57:33,095 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-15 06:57:33,097 INFO L225 Difference]: With dead ends: 221 [2022-04-15 06:57:33,097 INFO L226 Difference]: Without dead ends: 152 [2022-04-15 06:57:33,097 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 48 SyntacticMatches, 7 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 377 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=187, Invalid=869, Unknown=0, NotChecked=0, Total=1056 [2022-04-15 06:57:33,097 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 50 mSDsluCounter, 36 mSDsCounter, 0 mSdLazyCounter, 654 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-15 06:57:33,098 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [51 Valid, 56 Invalid, 664 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 654 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 06:57:33,098 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 152 states. [2022-04-15 06:57:33,417 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 152 to 136. [2022-04-15 06:57:33,417 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:57:33,417 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-15 06:57:33,417 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-15 06:57:33,417 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-15 06:57:33,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:33,419 INFO L93 Difference]: Finished difference Result 152 states and 185 transitions. [2022-04-15 06:57:33,419 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 185 transitions. [2022-04-15 06:57:33,419 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:57:33,419 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:57:33,420 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-15 06:57:33,420 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-15 06:57:33,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:33,421 INFO L93 Difference]: Finished difference Result 152 states and 185 transitions. [2022-04-15 06:57:33,421 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 185 transitions. [2022-04-15 06:57:33,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:57:33,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:57:33,422 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:57:33,422 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:57:33,422 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-15 06:57:33,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 167 transitions. [2022-04-15 06:57:33,423 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 167 transitions. Word has length 40 [2022-04-15 06:57:33,423 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:57:33,423 INFO L478 AbstractCegarLoop]: Abstraction has 136 states and 167 transitions. [2022-04-15 06:57:33,424 INFO L479 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-15 06:57:33,424 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 136 states and 167 transitions. [2022-04-15 06:57:33,627 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-15 06:57:33,627 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 167 transitions. [2022-04-15 06:57:33,628 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-15 06:57:33,628 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:57:33,628 INFO L499 BasicCegarLoop]: 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-15 06:57:33,647 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-15 06:57:33,828 WARN L460 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-15 06:57:33,829 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:57:33,829 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:57:33,829 INFO L85 PathProgramCache]: Analyzing trace with hash 734663550, now seen corresponding path program 14 times [2022-04-15 06:57:33,829 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:57:33,829 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [207841013] [2022-04-15 06:57:37,978 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:57:38,107 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-15 06:57:38,330 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-15 06:57:38,332 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:57:38,335 INFO L85 PathProgramCache]: Analyzing trace with hash 1980892737, now seen corresponding path program 1 times [2022-04-15 06:57:38,335 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:57:38,335 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [333744613] [2022-04-15 06:57:38,335 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:57:38,335 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:57:38,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:38,565 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:57:38,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:38,570 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-15 06:57:38,571 INFO L290 TraceCheckUtils]: 1: Hoare triple {18141#(<= 20 ~SIZE~0)} assume true; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:38,571 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {18141#(<= 20 ~SIZE~0)} {18136#true} #90#return; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:38,571 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:57:38,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:38,576 INFO L290 TraceCheckUtils]: 0: Hoare triple {18136#true} ~cond := #in~cond; {18136#true} is VALID [2022-04-15 06:57:38,576 INFO L290 TraceCheckUtils]: 1: Hoare triple {18136#true} assume !(0 == ~cond); {18136#true} is VALID [2022-04-15 06:57:38,576 INFO L290 TraceCheckUtils]: 2: Hoare triple {18136#true} assume true; {18136#true} is VALID [2022-04-15 06:57:38,576 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18136#true} {18141#(<= 20 ~SIZE~0)} #86#return; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:38,577 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-15 06:57:38,577 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-15 06:57:38,577 INFO L290 TraceCheckUtils]: 2: Hoare triple {18141#(<= 20 ~SIZE~0)} assume true; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:38,578 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18141#(<= 20 ~SIZE~0)} {18136#true} #90#return; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:38,578 INFO L272 TraceCheckUtils]: 4: Hoare triple {18141#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:38,578 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-15 06:57:38,578 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-15 06:57:38,578 INFO L290 TraceCheckUtils]: 7: Hoare triple {18136#true} ~cond := #in~cond; {18136#true} is VALID [2022-04-15 06:57:38,578 INFO L290 TraceCheckUtils]: 8: Hoare triple {18136#true} assume !(0 == ~cond); {18136#true} is VALID [2022-04-15 06:57:38,579 INFO L290 TraceCheckUtils]: 9: Hoare triple {18136#true} assume true; {18136#true} is VALID [2022-04-15 06:57:38,579 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18136#true} {18141#(<= 20 ~SIZE~0)} #86#return; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:38,579 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-15 06:57:38,580 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-15 06:57:38,580 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-15 06:57:38,581 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-15 06:57:38,581 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-15 06:57:38,582 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-15 06:57:38,582 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-15 06:57:38,592 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-15 06:57:38,593 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-15 06:57:38,594 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-15 06:57:38,594 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-15 06:57:38,595 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-15 06:57:38,595 INFO L290 TraceCheckUtils]: 23: Hoare triple {18153#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {18137#false} is VALID [2022-04-15 06:57:38,595 INFO L290 TraceCheckUtils]: 24: Hoare triple {18137#false} assume !false; {18137#false} is VALID [2022-04-15 06:57:38,595 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-15 06:57:38,595 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:57:38,595 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [333744613] [2022-04-15 06:57:38,596 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [333744613] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:57:38,596 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1967280881] [2022-04-15 06:57:38,596 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:57:38,596 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:57:38,596 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:57:38,597 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-15 06:57:38,598 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-15 06:57:38,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:38,627 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:57:38,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:38,634 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:57:38,843 INFO L272 TraceCheckUtils]: 0: Hoare triple {18136#true} call ULTIMATE.init(); {18136#true} is VALID [2022-04-15 06:57:38,843 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-15 06:57:38,844 INFO L290 TraceCheckUtils]: 2: Hoare triple {18141#(<= 20 ~SIZE~0)} assume true; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:38,844 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18141#(<= 20 ~SIZE~0)} {18136#true} #90#return; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:38,844 INFO L272 TraceCheckUtils]: 4: Hoare triple {18141#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:38,844 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-15 06:57:38,845 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-15 06:57:38,845 INFO L290 TraceCheckUtils]: 7: Hoare triple {18141#(<= 20 ~SIZE~0)} ~cond := #in~cond; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:38,845 INFO L290 TraceCheckUtils]: 8: Hoare triple {18141#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:38,845 INFO L290 TraceCheckUtils]: 9: Hoare triple {18141#(<= 20 ~SIZE~0)} assume true; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:38,845 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18141#(<= 20 ~SIZE~0)} {18141#(<= 20 ~SIZE~0)} #86#return; {18141#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:38,846 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-15 06:57:38,846 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-15 06:57:38,847 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-15 06:57:38,847 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-15 06:57:38,847 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-15 06:57:38,848 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-15 06:57:38,848 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-15 06:57:38,848 INFO L290 TraceCheckUtils]: 18: Hoare triple {18137#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {18137#false} is VALID [2022-04-15 06:57:38,848 INFO L290 TraceCheckUtils]: 19: Hoare triple {18137#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {18137#false} is VALID [2022-04-15 06:57:38,848 INFO L290 TraceCheckUtils]: 20: Hoare triple {18137#false} assume !(~d~0 == ~SIZE~0); {18137#false} is VALID [2022-04-15 06:57:38,849 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-15 06:57:38,849 INFO L290 TraceCheckUtils]: 22: Hoare triple {18137#false} ~cond := #in~cond; {18137#false} is VALID [2022-04-15 06:57:38,849 INFO L290 TraceCheckUtils]: 23: Hoare triple {18137#false} assume 0 == ~cond; {18137#false} is VALID [2022-04-15 06:57:38,849 INFO L290 TraceCheckUtils]: 24: Hoare triple {18137#false} assume !false; {18137#false} is VALID [2022-04-15 06:57:38,849 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-15 06:57:38,849 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:57:39,162 INFO L290 TraceCheckUtils]: 24: Hoare triple {18137#false} assume !false; {18137#false} is VALID [2022-04-15 06:57:39,163 INFO L290 TraceCheckUtils]: 23: Hoare triple {18137#false} assume 0 == ~cond; {18137#false} is VALID [2022-04-15 06:57:39,163 INFO L290 TraceCheckUtils]: 22: Hoare triple {18137#false} ~cond := #in~cond; {18137#false} is VALID [2022-04-15 06:57:39,163 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-15 06:57:39,163 INFO L290 TraceCheckUtils]: 20: Hoare triple {18137#false} assume !(~d~0 == ~SIZE~0); {18137#false} is VALID [2022-04-15 06:57:39,163 INFO L290 TraceCheckUtils]: 19: Hoare triple {18137#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {18137#false} is VALID [2022-04-15 06:57:39,163 INFO L290 TraceCheckUtils]: 18: Hoare triple {18137#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {18137#false} is VALID [2022-04-15 06:57:39,163 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-15 06:57:39,164 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-15 06:57:39,164 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-15 06:57:39,165 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-15 06:57:39,165 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-15 06:57:39,166 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-15 06:57:39,166 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-15 06:57:39,166 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18136#true} {18272#(< 1 ~SIZE~0)} #86#return; {18272#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:39,167 INFO L290 TraceCheckUtils]: 9: Hoare triple {18136#true} assume true; {18136#true} is VALID [2022-04-15 06:57:39,167 INFO L290 TraceCheckUtils]: 8: Hoare triple {18136#true} assume !(0 == ~cond); {18136#true} is VALID [2022-04-15 06:57:39,167 INFO L290 TraceCheckUtils]: 7: Hoare triple {18136#true} ~cond := #in~cond; {18136#true} is VALID [2022-04-15 06:57:39,167 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-15 06:57:39,167 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-15 06:57:39,167 INFO L272 TraceCheckUtils]: 4: Hoare triple {18272#(< 1 ~SIZE~0)} call #t~ret7 := main(); {18272#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:39,168 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18272#(< 1 ~SIZE~0)} {18136#true} #90#return; {18272#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:39,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {18272#(< 1 ~SIZE~0)} assume true; {18272#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:39,168 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-15 06:57:39,169 INFO L272 TraceCheckUtils]: 0: Hoare triple {18136#true} call ULTIMATE.init(); {18136#true} is VALID [2022-04-15 06:57:39,169 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-15 06:57:39,169 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1967280881] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:57:39,169 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:57:39,169 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:57:39,754 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:57:39,754 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [207841013] [2022-04-15 06:57:39,754 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [207841013] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:57:39,754 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:57:39,754 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-15 06:57:39,754 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [98311440] [2022-04-15 06:57:39,755 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:57:39,755 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-15 06:57:39,755 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:57:39,755 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-15 06:57:39,785 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-15 06:57:39,785 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-15 06:57:39,785 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:57:39,786 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-15 06:57:39,786 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=189, Invalid=803, Unknown=0, NotChecked=0, Total=992 [2022-04-15 06:57:39,786 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-15 06:57:41,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:41,257 INFO L93 Difference]: Finished difference Result 219 states and 274 transitions. [2022-04-15 06:57:41,257 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-15 06:57:41,258 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-15 06:57:41,258 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:57:41,258 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-15 06:57:41,258 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 88 transitions. [2022-04-15 06:57:41,259 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-15 06:57:41,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 88 transitions. [2022-04-15 06:57:41,259 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 88 transitions. [2022-04-15 06:57:41,322 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-15 06:57:41,324 INFO L225 Difference]: With dead ends: 219 [2022-04-15 06:57:41,324 INFO L226 Difference]: Without dead ends: 150 [2022-04-15 06:57:41,324 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 48 SyntacticMatches, 6 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 382 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=201, Invalid=921, Unknown=0, NotChecked=0, Total=1122 [2022-04-15 06:57:41,325 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 49 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 743 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-15 06:57:41,325 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 62 Invalid, 753 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 743 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 06:57:41,325 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 150 states. [2022-04-15 06:57:41,570 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 150 to 136. [2022-04-15 06:57:41,570 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:57:41,570 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-15 06:57:41,570 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-15 06:57:41,571 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-15 06:57:41,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:41,573 INFO L93 Difference]: Finished difference Result 150 states and 183 transitions. [2022-04-15 06:57:41,573 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 183 transitions. [2022-04-15 06:57:41,573 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:57:41,573 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:57:41,573 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-15 06:57:41,573 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-15 06:57:41,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:41,575 INFO L93 Difference]: Finished difference Result 150 states and 183 transitions. [2022-04-15 06:57:41,575 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 183 transitions. [2022-04-15 06:57:41,575 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:57:41,575 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:57:41,575 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:57:41,575 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:57:41,575 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-15 06:57:41,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 167 transitions. [2022-04-15 06:57:41,577 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 167 transitions. Word has length 40 [2022-04-15 06:57:41,577 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:57:41,577 INFO L478 AbstractCegarLoop]: Abstraction has 136 states and 167 transitions. [2022-04-15 06:57:41,577 INFO L479 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-15 06:57:41,577 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 136 states and 167 transitions. [2022-04-15 06:57:41,792 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-15 06:57:41,792 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 167 transitions. [2022-04-15 06:57:41,793 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-15 06:57:41,793 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:57:41,793 INFO L499 BasicCegarLoop]: 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-15 06:57:41,812 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-15 06:57:41,993 WARN L460 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-15 06:57:41,993 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:57:41,994 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:57:41,994 INFO L85 PathProgramCache]: Analyzing trace with hash -276453700, now seen corresponding path program 15 times [2022-04-15 06:57:41,994 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:57:41,994 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1138909217] [2022-04-15 06:57:42,214 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-15 06:57:42,442 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-15 06:57:42,443 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:57:42,446 INFO L85 PathProgramCache]: Analyzing trace with hash 178448193, now seen corresponding path program 1 times [2022-04-15 06:57:42,446 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:57:42,446 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [947615713] [2022-04-15 06:57:42,447 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:57:42,447 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:57:42,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:42,611 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:57:42,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:42,617 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-15 06:57:42,617 INFO L290 TraceCheckUtils]: 1: Hoare triple {19344#(<= 20 ~SIZE~0)} assume true; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:42,618 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {19344#(<= 20 ~SIZE~0)} {19339#true} #90#return; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:42,618 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:57:42,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:42,620 INFO L290 TraceCheckUtils]: 0: Hoare triple {19339#true} ~cond := #in~cond; {19339#true} is VALID [2022-04-15 06:57:42,621 INFO L290 TraceCheckUtils]: 1: Hoare triple {19339#true} assume !(0 == ~cond); {19339#true} is VALID [2022-04-15 06:57:42,621 INFO L290 TraceCheckUtils]: 2: Hoare triple {19339#true} assume true; {19339#true} is VALID [2022-04-15 06:57:42,621 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19339#true} {19344#(<= 20 ~SIZE~0)} #86#return; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:42,622 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-15 06:57:42,622 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-15 06:57:42,622 INFO L290 TraceCheckUtils]: 2: Hoare triple {19344#(<= 20 ~SIZE~0)} assume true; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:42,623 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19344#(<= 20 ~SIZE~0)} {19339#true} #90#return; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:42,623 INFO L272 TraceCheckUtils]: 4: Hoare triple {19344#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:42,623 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-15 06:57:42,624 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-15 06:57:42,624 INFO L290 TraceCheckUtils]: 7: Hoare triple {19339#true} ~cond := #in~cond; {19339#true} is VALID [2022-04-15 06:57:42,624 INFO L290 TraceCheckUtils]: 8: Hoare triple {19339#true} assume !(0 == ~cond); {19339#true} is VALID [2022-04-15 06:57:42,624 INFO L290 TraceCheckUtils]: 9: Hoare triple {19339#true} assume true; {19339#true} is VALID [2022-04-15 06:57:42,624 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19339#true} {19344#(<= 20 ~SIZE~0)} #86#return; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:42,625 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-15 06:57:42,625 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-15 06:57:42,626 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-15 06:57:42,626 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-15 06:57:42,627 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-15 06:57:42,627 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-15 06:57:42,628 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-15 06:57:42,629 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-15 06:57:42,629 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-15 06:57:42,630 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-15 06:57:42,630 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-15 06:57:42,631 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-15 06:57:42,631 INFO L290 TraceCheckUtils]: 23: Hoare triple {19356#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {19340#false} is VALID [2022-04-15 06:57:42,631 INFO L290 TraceCheckUtils]: 24: Hoare triple {19340#false} assume !false; {19340#false} is VALID [2022-04-15 06:57:42,631 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-15 06:57:42,631 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:57:42,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [947615713] [2022-04-15 06:57:42,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [947615713] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:57:42,631 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [60090542] [2022-04-15 06:57:42,632 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:57:42,632 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:57:42,632 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:57:42,633 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-15 06:57:42,634 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-15 06:57:42,663 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:42,663 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:57:42,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:42,671 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:57:42,922 INFO L272 TraceCheckUtils]: 0: Hoare triple {19339#true} call ULTIMATE.init(); {19339#true} is VALID [2022-04-15 06:57:42,922 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-15 06:57:42,923 INFO L290 TraceCheckUtils]: 2: Hoare triple {19344#(<= 20 ~SIZE~0)} assume true; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:42,923 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19344#(<= 20 ~SIZE~0)} {19339#true} #90#return; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:42,923 INFO L272 TraceCheckUtils]: 4: Hoare triple {19344#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:42,924 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-15 06:57:42,924 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-15 06:57:42,925 INFO L290 TraceCheckUtils]: 7: Hoare triple {19344#(<= 20 ~SIZE~0)} ~cond := #in~cond; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:42,925 INFO L290 TraceCheckUtils]: 8: Hoare triple {19344#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:42,925 INFO L290 TraceCheckUtils]: 9: Hoare triple {19344#(<= 20 ~SIZE~0)} assume true; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:42,926 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19344#(<= 20 ~SIZE~0)} {19344#(<= 20 ~SIZE~0)} #86#return; {19344#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:42,926 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-15 06:57:42,926 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-15 06:57:42,927 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-15 06:57:42,928 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-15 06:57:42,928 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-15 06:57:42,929 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-15 06:57:42,929 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-15 06:57:42,929 INFO L290 TraceCheckUtils]: 18: Hoare triple {19340#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {19340#false} is VALID [2022-04-15 06:57:42,929 INFO L290 TraceCheckUtils]: 19: Hoare triple {19340#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {19340#false} is VALID [2022-04-15 06:57:42,929 INFO L290 TraceCheckUtils]: 20: Hoare triple {19340#false} assume !(~d~0 == ~SIZE~0); {19340#false} is VALID [2022-04-15 06:57:42,930 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-15 06:57:42,930 INFO L290 TraceCheckUtils]: 22: Hoare triple {19340#false} ~cond := #in~cond; {19340#false} is VALID [2022-04-15 06:57:42,930 INFO L290 TraceCheckUtils]: 23: Hoare triple {19340#false} assume 0 == ~cond; {19340#false} is VALID [2022-04-15 06:57:42,930 INFO L290 TraceCheckUtils]: 24: Hoare triple {19340#false} assume !false; {19340#false} is VALID [2022-04-15 06:57:42,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-15 06:57:42,930 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:57:43,194 INFO L290 TraceCheckUtils]: 24: Hoare triple {19340#false} assume !false; {19340#false} is VALID [2022-04-15 06:57:43,194 INFO L290 TraceCheckUtils]: 23: Hoare triple {19340#false} assume 0 == ~cond; {19340#false} is VALID [2022-04-15 06:57:43,194 INFO L290 TraceCheckUtils]: 22: Hoare triple {19340#false} ~cond := #in~cond; {19340#false} is VALID [2022-04-15 06:57:43,194 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-15 06:57:43,194 INFO L290 TraceCheckUtils]: 20: Hoare triple {19340#false} assume !(~d~0 == ~SIZE~0); {19340#false} is VALID [2022-04-15 06:57:43,194 INFO L290 TraceCheckUtils]: 19: Hoare triple {19340#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {19340#false} is VALID [2022-04-15 06:57:43,194 INFO L290 TraceCheckUtils]: 18: Hoare triple {19340#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {19340#false} is VALID [2022-04-15 06:57:43,195 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-15 06:57:43,195 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-15 06:57:43,196 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-15 06:57:43,196 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-15 06:57:43,197 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-15 06:57:43,197 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-15 06:57:43,198 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-15 06:57:43,198 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19339#true} {19475#(< 1 ~SIZE~0)} #86#return; {19475#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:43,198 INFO L290 TraceCheckUtils]: 9: Hoare triple {19339#true} assume true; {19339#true} is VALID [2022-04-15 06:57:43,198 INFO L290 TraceCheckUtils]: 8: Hoare triple {19339#true} assume !(0 == ~cond); {19339#true} is VALID [2022-04-15 06:57:43,198 INFO L290 TraceCheckUtils]: 7: Hoare triple {19339#true} ~cond := #in~cond; {19339#true} is VALID [2022-04-15 06:57:43,198 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-15 06:57:43,199 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-15 06:57:43,199 INFO L272 TraceCheckUtils]: 4: Hoare triple {19475#(< 1 ~SIZE~0)} call #t~ret7 := main(); {19475#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:43,199 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19475#(< 1 ~SIZE~0)} {19339#true} #90#return; {19475#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:43,200 INFO L290 TraceCheckUtils]: 2: Hoare triple {19475#(< 1 ~SIZE~0)} assume true; {19475#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:43,200 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-15 06:57:43,200 INFO L272 TraceCheckUtils]: 0: Hoare triple {19339#true} call ULTIMATE.init(); {19339#true} is VALID [2022-04-15 06:57:43,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-15 06:57:43,213 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [60090542] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:57:43,213 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:57:43,213 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:57:43,825 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:57:43,825 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1138909217] [2022-04-15 06:57:43,825 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1138909217] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:57:43,825 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:57:43,825 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [24] imperfect sequences [] total 24 [2022-04-15 06:57:43,825 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1046243519] [2022-04-15 06:57:43,825 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:57:43,826 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-15 06:57:43,826 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:57:43,826 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-15 06:57:43,855 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-15 06:57:43,855 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-15 06:57:43,855 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:57:43,856 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-15 06:57:43,856 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=203, Invalid=853, Unknown=0, NotChecked=0, Total=1056 [2022-04-15 06:57:43,856 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-15 06:57:45,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:45,666 INFO L93 Difference]: Finished difference Result 230 states and 289 transitions. [2022-04-15 06:57:45,666 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-15 06:57:45,667 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-15 06:57:45,667 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:57:45,667 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-15 06:57:45,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 90 transitions. [2022-04-15 06:57:45,667 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-15 06:57:45,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 90 transitions. [2022-04-15 06:57:45,668 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 90 transitions. [2022-04-15 06:57:45,736 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-15 06:57:45,738 INFO L225 Difference]: With dead ends: 230 [2022-04-15 06:57:45,738 INFO L226 Difference]: Without dead ends: 150 [2022-04-15 06:57:45,738 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 48 SyntacticMatches, 5 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 376 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=215, Invalid=975, Unknown=0, NotChecked=0, Total=1190 [2022-04-15 06:57:45,739 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 50 mSDsluCounter, 58 mSDsCounter, 0 mSdLazyCounter, 975 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-15 06:57:45,739 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [51 Valid, 78 Invalid, 986 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 975 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 06:57:45,739 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 150 states. [2022-04-15 06:57:46,081 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 150 to 139. [2022-04-15 06:57:46,081 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:57:46,081 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-15 06:57:46,082 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-15 06:57:46,082 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-15 06:57:46,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:46,083 INFO L93 Difference]: Finished difference Result 150 states and 184 transitions. [2022-04-15 06:57:46,083 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 184 transitions. [2022-04-15 06:57:46,084 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:57:46,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:57:46,084 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-15 06:57:46,084 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-15 06:57:46,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:46,085 INFO L93 Difference]: Finished difference Result 150 states and 184 transitions. [2022-04-15 06:57:46,085 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 184 transitions. [2022-04-15 06:57:46,086 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:57:46,086 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:57:46,086 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:57:46,086 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:57:46,086 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-15 06:57:46,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 171 transitions. [2022-04-15 06:57:46,092 INFO L78 Accepts]: Start accepts. Automaton has 139 states and 171 transitions. Word has length 40 [2022-04-15 06:57:46,092 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:57:46,092 INFO L478 AbstractCegarLoop]: Abstraction has 139 states and 171 transitions. [2022-04-15 06:57:46,092 INFO L479 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-15 06:57:46,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 139 states and 171 transitions. [2022-04-15 06:57:46,306 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-15 06:57:46,306 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 171 transitions. [2022-04-15 06:57:46,307 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 06:57:46,307 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:57:46,307 INFO L499 BasicCegarLoop]: 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-15 06:57:46,326 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-15 06:57:46,508 WARN L460 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-15 06:57:46,508 INFO L403 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:57:46,508 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:57:46,508 INFO L85 PathProgramCache]: Analyzing trace with hash -1742267585, now seen corresponding path program 16 times [2022-04-15 06:57:46,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:57:46,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1941301340] [2022-04-15 06:57:50,611 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:57:50,722 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-15 06:57:50,909 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-15 06:57:50,910 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:57:50,913 INFO L85 PathProgramCache]: Analyzing trace with hash -1623996351, now seen corresponding path program 1 times [2022-04-15 06:57:50,913 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:57:50,913 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [973164293] [2022-04-15 06:57:50,913 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:57:50,913 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:57:50,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:51,098 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:57:51,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:51,104 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-15 06:57:51,104 INFO L290 TraceCheckUtils]: 1: Hoare triple {20576#(<= 20 ~SIZE~0)} assume true; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:51,105 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {20576#(<= 20 ~SIZE~0)} {20571#true} #90#return; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:51,105 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:57:51,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:51,107 INFO L290 TraceCheckUtils]: 0: Hoare triple {20571#true} ~cond := #in~cond; {20571#true} is VALID [2022-04-15 06:57:51,107 INFO L290 TraceCheckUtils]: 1: Hoare triple {20571#true} assume !(0 == ~cond); {20571#true} is VALID [2022-04-15 06:57:51,107 INFO L290 TraceCheckUtils]: 2: Hoare triple {20571#true} assume true; {20571#true} is VALID [2022-04-15 06:57:51,108 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20571#true} {20576#(<= 20 ~SIZE~0)} #86#return; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:51,108 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-15 06:57:51,109 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-15 06:57:51,109 INFO L290 TraceCheckUtils]: 2: Hoare triple {20576#(<= 20 ~SIZE~0)} assume true; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:51,110 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20576#(<= 20 ~SIZE~0)} {20571#true} #90#return; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:51,110 INFO L272 TraceCheckUtils]: 4: Hoare triple {20576#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:51,110 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-15 06:57:51,110 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-15 06:57:51,110 INFO L290 TraceCheckUtils]: 7: Hoare triple {20571#true} ~cond := #in~cond; {20571#true} is VALID [2022-04-15 06:57:51,110 INFO L290 TraceCheckUtils]: 8: Hoare triple {20571#true} assume !(0 == ~cond); {20571#true} is VALID [2022-04-15 06:57:51,110 INFO L290 TraceCheckUtils]: 9: Hoare triple {20571#true} assume true; {20571#true} is VALID [2022-04-15 06:57:51,111 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20571#true} {20576#(<= 20 ~SIZE~0)} #86#return; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:51,111 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-15 06:57:51,112 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-15 06:57:51,112 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-15 06:57:51,113 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-15 06:57:51,114 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-15 06:57:51,114 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-15 06:57:51,115 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-15 06:57:51,115 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-15 06:57:51,116 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-15 06:57:51,116 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-15 06:57:51,117 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-15 06:57:51,117 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-15 06:57:51,117 INFO L290 TraceCheckUtils]: 23: Hoare triple {20588#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {20572#false} is VALID [2022-04-15 06:57:51,118 INFO L290 TraceCheckUtils]: 24: Hoare triple {20572#false} assume !false; {20572#false} is VALID [2022-04-15 06:57:51,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-15 06:57:51,118 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:57:51,118 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [973164293] [2022-04-15 06:57:51,118 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [973164293] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:57:51,118 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [679747816] [2022-04-15 06:57:51,118 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:57:51,118 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:57:51,118 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:57:51,119 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-15 06:57:51,120 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-15 06:57:51,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:51,150 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:57:51,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:51,157 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:57:51,410 INFO L272 TraceCheckUtils]: 0: Hoare triple {20571#true} call ULTIMATE.init(); {20571#true} is VALID [2022-04-15 06:57:51,410 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-15 06:57:51,411 INFO L290 TraceCheckUtils]: 2: Hoare triple {20576#(<= 20 ~SIZE~0)} assume true; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:51,411 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20576#(<= 20 ~SIZE~0)} {20571#true} #90#return; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:51,411 INFO L272 TraceCheckUtils]: 4: Hoare triple {20576#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:51,412 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-15 06:57:51,412 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-15 06:57:51,412 INFO L290 TraceCheckUtils]: 7: Hoare triple {20576#(<= 20 ~SIZE~0)} ~cond := #in~cond; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:51,413 INFO L290 TraceCheckUtils]: 8: Hoare triple {20576#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:51,413 INFO L290 TraceCheckUtils]: 9: Hoare triple {20576#(<= 20 ~SIZE~0)} assume true; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:51,413 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20576#(<= 20 ~SIZE~0)} {20576#(<= 20 ~SIZE~0)} #86#return; {20576#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:51,414 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-15 06:57:51,414 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-15 06:57:51,415 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-15 06:57:51,415 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-15 06:57:51,416 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-15 06:57:51,417 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-15 06:57:51,417 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-15 06:57:51,417 INFO L290 TraceCheckUtils]: 18: Hoare triple {20572#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {20572#false} is VALID [2022-04-15 06:57:51,417 INFO L290 TraceCheckUtils]: 19: Hoare triple {20572#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {20572#false} is VALID [2022-04-15 06:57:51,417 INFO L290 TraceCheckUtils]: 20: Hoare triple {20572#false} assume !(~d~0 == ~SIZE~0); {20572#false} is VALID [2022-04-15 06:57:51,417 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-15 06:57:51,418 INFO L290 TraceCheckUtils]: 22: Hoare triple {20572#false} ~cond := #in~cond; {20572#false} is VALID [2022-04-15 06:57:51,418 INFO L290 TraceCheckUtils]: 23: Hoare triple {20572#false} assume 0 == ~cond; {20572#false} is VALID [2022-04-15 06:57:51,418 INFO L290 TraceCheckUtils]: 24: Hoare triple {20572#false} assume !false; {20572#false} is VALID [2022-04-15 06:57:51,418 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-15 06:57:51,418 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:57:51,671 INFO L290 TraceCheckUtils]: 24: Hoare triple {20572#false} assume !false; {20572#false} is VALID [2022-04-15 06:57:51,671 INFO L290 TraceCheckUtils]: 23: Hoare triple {20572#false} assume 0 == ~cond; {20572#false} is VALID [2022-04-15 06:57:51,671 INFO L290 TraceCheckUtils]: 22: Hoare triple {20572#false} ~cond := #in~cond; {20572#false} is VALID [2022-04-15 06:57:51,671 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-15 06:57:51,672 INFO L290 TraceCheckUtils]: 20: Hoare triple {20572#false} assume !(~d~0 == ~SIZE~0); {20572#false} is VALID [2022-04-15 06:57:51,672 INFO L290 TraceCheckUtils]: 19: Hoare triple {20572#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {20572#false} is VALID [2022-04-15 06:57:51,672 INFO L290 TraceCheckUtils]: 18: Hoare triple {20572#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {20572#false} is VALID [2022-04-15 06:57:51,672 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-15 06:57:51,673 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-15 06:57:51,673 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-15 06:57:51,673 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-15 06:57:51,674 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-15 06:57:51,674 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-15 06:57:51,675 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-15 06:57:51,675 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20571#true} {20707#(< 1 ~SIZE~0)} #86#return; {20707#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:51,675 INFO L290 TraceCheckUtils]: 9: Hoare triple {20571#true} assume true; {20571#true} is VALID [2022-04-15 06:57:51,675 INFO L290 TraceCheckUtils]: 8: Hoare triple {20571#true} assume !(0 == ~cond); {20571#true} is VALID [2022-04-15 06:57:51,675 INFO L290 TraceCheckUtils]: 7: Hoare triple {20571#true} ~cond := #in~cond; {20571#true} is VALID [2022-04-15 06:57:51,675 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-15 06:57:51,675 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-15 06:57:51,676 INFO L272 TraceCheckUtils]: 4: Hoare triple {20707#(< 1 ~SIZE~0)} call #t~ret7 := main(); {20707#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:51,676 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20707#(< 1 ~SIZE~0)} {20571#true} #90#return; {20707#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:51,676 INFO L290 TraceCheckUtils]: 2: Hoare triple {20707#(< 1 ~SIZE~0)} assume true; {20707#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:51,677 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-15 06:57:51,677 INFO L272 TraceCheckUtils]: 0: Hoare triple {20571#true} call ULTIMATE.init(); {20571#true} is VALID [2022-04-15 06:57:51,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-15 06:57:51,677 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [679747816] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:57:51,677 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:57:51,677 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:57:52,418 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:57:52,419 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1941301340] [2022-04-15 06:57:52,419 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1941301340] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:57:52,419 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:57:52,419 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-15 06:57:52,419 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1556802000] [2022-04-15 06:57:52,419 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:57:52,419 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-15 06:57:52,419 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:57:52,420 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-15 06:57:52,453 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-15 06:57:52,454 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-15 06:57:52,454 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:57:52,454 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-15 06:57:52,454 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=154, Invalid=716, Unknown=0, NotChecked=0, Total=870 [2022-04-15 06:57:52,454 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-15 06:57:53,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:53,640 INFO L93 Difference]: Finished difference Result 230 states and 286 transitions. [2022-04-15 06:57:53,640 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 06:57:53,640 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-15 06:57:53,640 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:57:53,641 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-15 06:57:53,641 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 88 transitions. [2022-04-15 06:57:53,641 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-15 06:57:53,642 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 88 transitions. [2022-04-15 06:57:53,642 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 88 transitions. [2022-04-15 06:57:53,709 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-15 06:57:53,711 INFO L225 Difference]: With dead ends: 230 [2022-04-15 06:57:53,711 INFO L226 Difference]: Without dead ends: 161 [2022-04-15 06:57:53,712 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 48 SyntacticMatches, 11 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 384 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=166, Invalid=826, Unknown=0, NotChecked=0, Total=992 [2022-04-15 06:57:53,712 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 44 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 802 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-15 06:57:53,712 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [45 Valid, 70 Invalid, 812 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 802 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 06:57:53,713 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-04-15 06:57:53,970 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 142. [2022-04-15 06:57:53,970 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:57:53,970 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-15 06:57:53,970 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-15 06:57:53,971 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-15 06:57:53,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:53,973 INFO L93 Difference]: Finished difference Result 161 states and 195 transitions. [2022-04-15 06:57:53,973 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 195 transitions. [2022-04-15 06:57:53,973 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:57:53,973 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:57:53,974 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-15 06:57:53,974 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-15 06:57:53,976 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:57:53,976 INFO L93 Difference]: Finished difference Result 161 states and 195 transitions. [2022-04-15 06:57:53,976 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 195 transitions. [2022-04-15 06:57:53,976 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:57:53,976 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:57:53,976 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:57:53,977 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:57:53,977 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-15 06:57:53,979 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 174 transitions. [2022-04-15 06:57:53,979 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 174 transitions. Word has length 43 [2022-04-15 06:57:53,979 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:57:53,979 INFO L478 AbstractCegarLoop]: Abstraction has 142 states and 174 transitions. [2022-04-15 06:57:53,979 INFO L479 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-15 06:57:53,979 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 142 states and 174 transitions. [2022-04-15 06:57:54,233 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-15 06:57:54,233 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 174 transitions. [2022-04-15 06:57:54,234 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 06:57:54,234 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:57:54,234 INFO L499 BasicCegarLoop]: 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-15 06:57:54,250 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-15 06:57:54,450 WARN L460 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-15 06:57:54,450 INFO L403 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:57:54,451 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:57:54,451 INFO L85 PathProgramCache]: Analyzing trace with hash -1680227971, now seen corresponding path program 17 times [2022-04-15 06:57:54,451 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:57:54,451 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [803200208] [2022-04-15 06:57:54,604 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-15 06:57:57,177 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:57:57,260 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-15 06:57:57,261 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:57:57,263 INFO L85 PathProgramCache]: Analyzing trace with hash 868526401, now seen corresponding path program 1 times [2022-04-15 06:57:57,263 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:57:57,263 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [647895097] [2022-04-15 06:57:57,263 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:57:57,263 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:57:57,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:57,406 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:57:57,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:57,425 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-15 06:57:57,426 INFO L290 TraceCheckUtils]: 1: Hoare triple {21833#(<= 20 ~SIZE~0)} assume true; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:57,426 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {21833#(<= 20 ~SIZE~0)} {21828#true} #90#return; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:57,426 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:57:57,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:57,429 INFO L290 TraceCheckUtils]: 0: Hoare triple {21828#true} ~cond := #in~cond; {21828#true} is VALID [2022-04-15 06:57:57,429 INFO L290 TraceCheckUtils]: 1: Hoare triple {21828#true} assume !(0 == ~cond); {21828#true} is VALID [2022-04-15 06:57:57,429 INFO L290 TraceCheckUtils]: 2: Hoare triple {21828#true} assume true; {21828#true} is VALID [2022-04-15 06:57:57,430 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21828#true} {21833#(<= 20 ~SIZE~0)} #86#return; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:57,430 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-15 06:57:57,431 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-15 06:57:57,431 INFO L290 TraceCheckUtils]: 2: Hoare triple {21833#(<= 20 ~SIZE~0)} assume true; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:57,431 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21833#(<= 20 ~SIZE~0)} {21828#true} #90#return; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:57,431 INFO L272 TraceCheckUtils]: 4: Hoare triple {21833#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:57,432 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-15 06:57:57,432 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-15 06:57:57,432 INFO L290 TraceCheckUtils]: 7: Hoare triple {21828#true} ~cond := #in~cond; {21828#true} is VALID [2022-04-15 06:57:57,432 INFO L290 TraceCheckUtils]: 8: Hoare triple {21828#true} assume !(0 == ~cond); {21828#true} is VALID [2022-04-15 06:57:57,432 INFO L290 TraceCheckUtils]: 9: Hoare triple {21828#true} assume true; {21828#true} is VALID [2022-04-15 06:57:57,432 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21828#true} {21833#(<= 20 ~SIZE~0)} #86#return; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:57,433 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-15 06:57:57,433 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-15 06:57:57,434 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-15 06:57:57,434 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-15 06:57:57,435 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-15 06:57:57,436 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-15 06:57:57,436 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-15 06:57:57,437 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-15 06:57:57,437 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-15 06:57:57,438 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-15 06:57:57,438 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-15 06:57:57,439 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-15 06:57:57,439 INFO L290 TraceCheckUtils]: 23: Hoare triple {21845#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {21829#false} is VALID [2022-04-15 06:57:57,439 INFO L290 TraceCheckUtils]: 24: Hoare triple {21829#false} assume !false; {21829#false} is VALID [2022-04-15 06:57:57,439 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-15 06:57:57,439 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:57:57,440 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [647895097] [2022-04-15 06:57:57,440 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [647895097] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:57:57,440 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [530229484] [2022-04-15 06:57:57,440 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:57:57,440 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:57:57,440 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:57:57,441 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-15 06:57:57,442 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-15 06:57:57,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:57,485 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:57:57,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:57:57,492 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:57:57,737 INFO L272 TraceCheckUtils]: 0: Hoare triple {21828#true} call ULTIMATE.init(); {21828#true} is VALID [2022-04-15 06:57:57,738 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-15 06:57:57,738 INFO L290 TraceCheckUtils]: 2: Hoare triple {21833#(<= 20 ~SIZE~0)} assume true; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:57,739 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21833#(<= 20 ~SIZE~0)} {21828#true} #90#return; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:57,739 INFO L272 TraceCheckUtils]: 4: Hoare triple {21833#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:57,739 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-15 06:57:57,740 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-15 06:57:57,740 INFO L290 TraceCheckUtils]: 7: Hoare triple {21833#(<= 20 ~SIZE~0)} ~cond := #in~cond; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:57,740 INFO L290 TraceCheckUtils]: 8: Hoare triple {21833#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:57,741 INFO L290 TraceCheckUtils]: 9: Hoare triple {21833#(<= 20 ~SIZE~0)} assume true; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:57,741 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21833#(<= 20 ~SIZE~0)} {21833#(<= 20 ~SIZE~0)} #86#return; {21833#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:57:57,741 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-15 06:57:57,742 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-15 06:57:57,742 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-15 06:57:57,743 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-15 06:57:57,743 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-15 06:57:57,744 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-15 06:57:57,744 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-15 06:57:57,744 INFO L290 TraceCheckUtils]: 18: Hoare triple {21829#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {21829#false} is VALID [2022-04-15 06:57:57,744 INFO L290 TraceCheckUtils]: 19: Hoare triple {21829#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {21829#false} is VALID [2022-04-15 06:57:57,745 INFO L290 TraceCheckUtils]: 20: Hoare triple {21829#false} assume !(~d~0 == ~SIZE~0); {21829#false} is VALID [2022-04-15 06:57:57,745 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-15 06:57:57,745 INFO L290 TraceCheckUtils]: 22: Hoare triple {21829#false} ~cond := #in~cond; {21829#false} is VALID [2022-04-15 06:57:57,745 INFO L290 TraceCheckUtils]: 23: Hoare triple {21829#false} assume 0 == ~cond; {21829#false} is VALID [2022-04-15 06:57:57,745 INFO L290 TraceCheckUtils]: 24: Hoare triple {21829#false} assume !false; {21829#false} is VALID [2022-04-15 06:57:57,745 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-15 06:57:57,745 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:57:58,010 INFO L290 TraceCheckUtils]: 24: Hoare triple {21829#false} assume !false; {21829#false} is VALID [2022-04-15 06:57:58,010 INFO L290 TraceCheckUtils]: 23: Hoare triple {21829#false} assume 0 == ~cond; {21829#false} is VALID [2022-04-15 06:57:58,010 INFO L290 TraceCheckUtils]: 22: Hoare triple {21829#false} ~cond := #in~cond; {21829#false} is VALID [2022-04-15 06:57:58,010 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-15 06:57:58,010 INFO L290 TraceCheckUtils]: 20: Hoare triple {21829#false} assume !(~d~0 == ~SIZE~0); {21829#false} is VALID [2022-04-15 06:57:58,010 INFO L290 TraceCheckUtils]: 19: Hoare triple {21829#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {21829#false} is VALID [2022-04-15 06:57:58,010 INFO L290 TraceCheckUtils]: 18: Hoare triple {21829#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {21829#false} is VALID [2022-04-15 06:57:58,011 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-15 06:57:58,011 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-15 06:57:58,012 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-15 06:57:58,012 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-15 06:57:58,013 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-15 06:57:58,013 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-15 06:57:58,014 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-15 06:57:58,014 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21828#true} {21964#(< 1 ~SIZE~0)} #86#return; {21964#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:58,014 INFO L290 TraceCheckUtils]: 9: Hoare triple {21828#true} assume true; {21828#true} is VALID [2022-04-15 06:57:58,014 INFO L290 TraceCheckUtils]: 8: Hoare triple {21828#true} assume !(0 == ~cond); {21828#true} is VALID [2022-04-15 06:57:58,014 INFO L290 TraceCheckUtils]: 7: Hoare triple {21828#true} ~cond := #in~cond; {21828#true} is VALID [2022-04-15 06:57:58,014 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-15 06:57:58,015 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-15 06:57:58,015 INFO L272 TraceCheckUtils]: 4: Hoare triple {21964#(< 1 ~SIZE~0)} call #t~ret7 := main(); {21964#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:58,015 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21964#(< 1 ~SIZE~0)} {21828#true} #90#return; {21964#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:58,016 INFO L290 TraceCheckUtils]: 2: Hoare triple {21964#(< 1 ~SIZE~0)} assume true; {21964#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:57:58,016 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-15 06:57:58,016 INFO L272 TraceCheckUtils]: 0: Hoare triple {21828#true} call ULTIMATE.init(); {21828#true} is VALID [2022-04-15 06:57:58,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-15 06:57:58,016 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [530229484] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:57:58,016 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:57:58,017 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:57:58,689 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:57:58,689 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [803200208] [2022-04-15 06:57:58,689 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [803200208] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:57:58,689 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:57:58,689 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-15 06:57:58,689 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [46519484] [2022-04-15 06:57:58,689 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:57:58,689 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-15 06:57:58,690 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:57:58,690 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-15 06:57:58,722 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-15 06:57:58,722 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-15 06:57:58,722 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:57:58,722 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-15 06:57:58,722 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=168, Invalid=762, Unknown=0, NotChecked=0, Total=930 [2022-04-15 06:57:58,723 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-15 06:58:00,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:00,486 INFO L93 Difference]: Finished difference Result 233 states and 289 transitions. [2022-04-15 06:58:00,486 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-15 06:58:00,486 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-15 06:58:00,486 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:58:00,486 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-15 06:58:00,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 89 transitions. [2022-04-15 06:58:00,487 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-15 06:58:00,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 89 transitions. [2022-04-15 06:58:00,488 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 89 transitions. [2022-04-15 06:58:00,558 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-15 06:58:00,560 INFO L225 Difference]: With dead ends: 233 [2022-04-15 06:58:00,560 INFO L226 Difference]: Without dead ends: 164 [2022-04-15 06:58:00,561 INFO L912 BasicCegarLoop]: 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-15 06:58:00,561 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 50 mSDsluCounter, 49 mSDsCounter, 0 mSdLazyCounter, 868 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s 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.6s IncrementalHoareTripleChecker+Time [2022-04-15 06:58:00,561 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [51 Valid, 69 Invalid, 879 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 868 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-15 06:58:00,561 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-04-15 06:58:00,921 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 142. [2022-04-15 06:58:00,921 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:58:00,922 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-15 06:58:00,922 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-15 06:58:00,922 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-15 06:58:00,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:00,924 INFO L93 Difference]: Finished difference Result 164 states and 198 transitions. [2022-04-15 06:58:00,924 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 198 transitions. [2022-04-15 06:58:00,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:58:00,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:58:00,924 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-15 06:58:00,924 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-15 06:58:00,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:00,926 INFO L93 Difference]: Finished difference Result 164 states and 198 transitions. [2022-04-15 06:58:00,926 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 198 transitions. [2022-04-15 06:58:00,926 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:58:00,926 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:58:00,926 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:58:00,926 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:58:00,926 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-15 06:58:00,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 174 transitions. [2022-04-15 06:58:00,928 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 174 transitions. Word has length 43 [2022-04-15 06:58:00,928 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:58:00,928 INFO L478 AbstractCegarLoop]: Abstraction has 142 states and 174 transitions. [2022-04-15 06:58:00,928 INFO L479 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-15 06:58:00,928 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 142 states and 174 transitions. [2022-04-15 06:58:01,184 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-15 06:58:01,184 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 174 transitions. [2022-04-15 06:58:01,184 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 06:58:01,184 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:58:01,184 INFO L499 BasicCegarLoop]: 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-15 06:58:01,202 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Ended with exit code 0 [2022-04-15 06:58:01,386 WARN L460 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-15 06:58:01,387 INFO L403 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:58:01,387 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:58:01,387 INFO L85 PathProgramCache]: Analyzing trace with hash 809300991, now seen corresponding path program 18 times [2022-04-15 06:58:01,387 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:58:01,387 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [689951733] [2022-04-15 06:58:05,521 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:58:05,639 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-15 06:58:06,808 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:58:06,920 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-15 06:58:06,922 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:58:06,924 INFO L85 PathProgramCache]: Analyzing trace with hash -933918143, now seen corresponding path program 1 times [2022-04-15 06:58:06,925 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:58:06,925 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2100352288] [2022-04-15 06:58:06,925 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:58:06,925 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:58:06,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:07,102 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:58:07,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:07,107 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-15 06:58:07,108 INFO L290 TraceCheckUtils]: 1: Hoare triple {23103#(<= 20 ~SIZE~0)} assume true; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:07,108 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {23103#(<= 20 ~SIZE~0)} {23098#true} #90#return; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:07,108 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:58:07,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:07,110 INFO L290 TraceCheckUtils]: 0: Hoare triple {23098#true} ~cond := #in~cond; {23098#true} is VALID [2022-04-15 06:58:07,110 INFO L290 TraceCheckUtils]: 1: Hoare triple {23098#true} assume !(0 == ~cond); {23098#true} is VALID [2022-04-15 06:58:07,110 INFO L290 TraceCheckUtils]: 2: Hoare triple {23098#true} assume true; {23098#true} is VALID [2022-04-15 06:58:07,111 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23098#true} {23103#(<= 20 ~SIZE~0)} #86#return; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:07,111 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-15 06:58:07,112 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-15 06:58:07,112 INFO L290 TraceCheckUtils]: 2: Hoare triple {23103#(<= 20 ~SIZE~0)} assume true; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:07,112 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23103#(<= 20 ~SIZE~0)} {23098#true} #90#return; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:07,113 INFO L272 TraceCheckUtils]: 4: Hoare triple {23103#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:07,113 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-15 06:58:07,113 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-15 06:58:07,113 INFO L290 TraceCheckUtils]: 7: Hoare triple {23098#true} ~cond := #in~cond; {23098#true} is VALID [2022-04-15 06:58:07,113 INFO L290 TraceCheckUtils]: 8: Hoare triple {23098#true} assume !(0 == ~cond); {23098#true} is VALID [2022-04-15 06:58:07,113 INFO L290 TraceCheckUtils]: 9: Hoare triple {23098#true} assume true; {23098#true} is VALID [2022-04-15 06:58:07,114 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23098#true} {23103#(<= 20 ~SIZE~0)} #86#return; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:07,114 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-15 06:58:07,114 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-15 06:58:07,115 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-15 06:58:07,116 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-15 06:58:07,116 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-15 06:58:07,117 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-15 06:58:07,117 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-15 06:58:07,118 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-15 06:58:07,118 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-15 06:58:07,119 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-15 06:58:07,120 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-15 06:58:07,120 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-15 06:58:07,120 INFO L290 TraceCheckUtils]: 23: Hoare triple {23115#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {23099#false} is VALID [2022-04-15 06:58:07,120 INFO L290 TraceCheckUtils]: 24: Hoare triple {23099#false} assume !false; {23099#false} is VALID [2022-04-15 06:58:07,120 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-15 06:58:07,121 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:58:07,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2100352288] [2022-04-15 06:58:07,121 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2100352288] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:58:07,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [875998376] [2022-04-15 06:58:07,121 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:58:07,121 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:58:07,121 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:58:07,122 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-15 06:58:07,125 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-15 06:58:07,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:07,157 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:58:07,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:07,164 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:58:07,414 INFO L272 TraceCheckUtils]: 0: Hoare triple {23098#true} call ULTIMATE.init(); {23098#true} is VALID [2022-04-15 06:58:07,415 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-15 06:58:07,415 INFO L290 TraceCheckUtils]: 2: Hoare triple {23103#(<= 20 ~SIZE~0)} assume true; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:07,415 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23103#(<= 20 ~SIZE~0)} {23098#true} #90#return; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:07,416 INFO L272 TraceCheckUtils]: 4: Hoare triple {23103#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:07,416 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-15 06:58:07,416 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-15 06:58:07,417 INFO L290 TraceCheckUtils]: 7: Hoare triple {23103#(<= 20 ~SIZE~0)} ~cond := #in~cond; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:07,417 INFO L290 TraceCheckUtils]: 8: Hoare triple {23103#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:07,417 INFO L290 TraceCheckUtils]: 9: Hoare triple {23103#(<= 20 ~SIZE~0)} assume true; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:07,418 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23103#(<= 20 ~SIZE~0)} {23103#(<= 20 ~SIZE~0)} #86#return; {23103#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:07,418 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-15 06:58:07,418 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-15 06:58:07,419 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-15 06:58:07,420 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-15 06:58:07,420 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-15 06:58:07,421 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-15 06:58:07,421 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-15 06:58:07,421 INFO L290 TraceCheckUtils]: 18: Hoare triple {23099#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {23099#false} is VALID [2022-04-15 06:58:07,421 INFO L290 TraceCheckUtils]: 19: Hoare triple {23099#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {23099#false} is VALID [2022-04-15 06:58:07,421 INFO L290 TraceCheckUtils]: 20: Hoare triple {23099#false} assume !(~d~0 == ~SIZE~0); {23099#false} is VALID [2022-04-15 06:58:07,421 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-15 06:58:07,422 INFO L290 TraceCheckUtils]: 22: Hoare triple {23099#false} ~cond := #in~cond; {23099#false} is VALID [2022-04-15 06:58:07,422 INFO L290 TraceCheckUtils]: 23: Hoare triple {23099#false} assume 0 == ~cond; {23099#false} is VALID [2022-04-15 06:58:07,422 INFO L290 TraceCheckUtils]: 24: Hoare triple {23099#false} assume !false; {23099#false} is VALID [2022-04-15 06:58:07,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-15 06:58:07,422 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:58:07,687 INFO L290 TraceCheckUtils]: 24: Hoare triple {23099#false} assume !false; {23099#false} is VALID [2022-04-15 06:58:07,687 INFO L290 TraceCheckUtils]: 23: Hoare triple {23099#false} assume 0 == ~cond; {23099#false} is VALID [2022-04-15 06:58:07,687 INFO L290 TraceCheckUtils]: 22: Hoare triple {23099#false} ~cond := #in~cond; {23099#false} is VALID [2022-04-15 06:58:07,687 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-15 06:58:07,687 INFO L290 TraceCheckUtils]: 20: Hoare triple {23099#false} assume !(~d~0 == ~SIZE~0); {23099#false} is VALID [2022-04-15 06:58:07,687 INFO L290 TraceCheckUtils]: 19: Hoare triple {23099#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {23099#false} is VALID [2022-04-15 06:58:07,687 INFO L290 TraceCheckUtils]: 18: Hoare triple {23099#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {23099#false} is VALID [2022-04-15 06:58:07,688 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-15 06:58:07,688 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-15 06:58:07,689 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-15 06:58:07,689 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-15 06:58:07,690 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-15 06:58:07,690 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-15 06:58:07,690 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-15 06:58:07,691 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23098#true} {23234#(< 1 ~SIZE~0)} #86#return; {23234#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:07,691 INFO L290 TraceCheckUtils]: 9: Hoare triple {23098#true} assume true; {23098#true} is VALID [2022-04-15 06:58:07,691 INFO L290 TraceCheckUtils]: 8: Hoare triple {23098#true} assume !(0 == ~cond); {23098#true} is VALID [2022-04-15 06:58:07,691 INFO L290 TraceCheckUtils]: 7: Hoare triple {23098#true} ~cond := #in~cond; {23098#true} is VALID [2022-04-15 06:58:07,691 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-15 06:58:07,691 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-15 06:58:07,692 INFO L272 TraceCheckUtils]: 4: Hoare triple {23234#(< 1 ~SIZE~0)} call #t~ret7 := main(); {23234#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:07,692 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23234#(< 1 ~SIZE~0)} {23098#true} #90#return; {23234#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:07,692 INFO L290 TraceCheckUtils]: 2: Hoare triple {23234#(< 1 ~SIZE~0)} assume true; {23234#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:07,693 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-15 06:58:07,693 INFO L272 TraceCheckUtils]: 0: Hoare triple {23098#true} call ULTIMATE.init(); {23098#true} is VALID [2022-04-15 06:58:07,693 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-15 06:58:07,693 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [875998376] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:58:07,693 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:58:07,693 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:58:08,384 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:58:08,384 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [689951733] [2022-04-15 06:58:08,384 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [689951733] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:58:08,384 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:58:08,384 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-15 06:58:08,384 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1923988857] [2022-04-15 06:58:08,384 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:58:08,384 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-15 06:58:08,384 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:58:08,385 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-15 06:58:08,417 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-15 06:58:08,418 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-15 06:58:08,418 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:58:08,418 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-15 06:58:08,418 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=182, Invalid=810, Unknown=0, NotChecked=0, Total=992 [2022-04-15 06:58:08,418 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-15 06:58:10,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:10,259 INFO L93 Difference]: Finished difference Result 230 states and 286 transitions. [2022-04-15 06:58:10,259 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-15 06:58:10,259 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-15 06:58:10,259 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:58:10,259 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-15 06:58:10,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 90 transitions. [2022-04-15 06:58:10,260 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-15 06:58:10,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 90 transitions. [2022-04-15 06:58:10,261 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 90 transitions. [2022-04-15 06:58:10,325 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-15 06:58:10,326 INFO L225 Difference]: With dead ends: 230 [2022-04-15 06:58:10,326 INFO L226 Difference]: Without dead ends: 161 [2022-04-15 06:58:10,327 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 48 SyntacticMatches, 9 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 433 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=194, Invalid=928, Unknown=0, NotChecked=0, Total=1122 [2022-04-15 06:58:10,327 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 58 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 824 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-15 06:58:10,327 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [59 Valid, 60 Invalid, 835 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 824 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 06:58:10,328 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-04-15 06:58:10,616 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 142. [2022-04-15 06:58:10,616 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:58:10,617 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-15 06:58:10,617 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-15 06:58:10,619 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-15 06:58:10,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:10,632 INFO L93 Difference]: Finished difference Result 161 states and 195 transitions. [2022-04-15 06:58:10,632 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 195 transitions. [2022-04-15 06:58:10,632 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:58:10,632 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:58:10,632 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-15 06:58:10,647 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-15 06:58:10,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:10,649 INFO L93 Difference]: Finished difference Result 161 states and 195 transitions. [2022-04-15 06:58:10,649 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 195 transitions. [2022-04-15 06:58:10,649 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:58:10,649 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:58:10,649 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:58:10,649 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:58:10,650 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-15 06:58:10,651 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 174 transitions. [2022-04-15 06:58:10,651 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 174 transitions. Word has length 43 [2022-04-15 06:58:10,651 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:58:10,651 INFO L478 AbstractCegarLoop]: Abstraction has 142 states and 174 transitions. [2022-04-15 06:58:10,651 INFO L479 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-15 06:58:10,651 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 142 states and 174 transitions. [2022-04-15 06:58:10,901 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-15 06:58:10,901 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 174 transitions. [2022-04-15 06:58:10,902 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 06:58:10,902 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:58:10,902 INFO L499 BasicCegarLoop]: 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-15 06:58:10,918 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-15 06:58:11,102 WARN L460 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-15 06:58:11,102 INFO L403 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:58:11,102 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:58:11,103 INFO L85 PathProgramCache]: Analyzing trace with hash -8347459, now seen corresponding path program 19 times [2022-04-15 06:58:11,103 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:58:11,103 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [334772697] [2022-04-15 06:58:11,336 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-15 06:58:11,556 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-15 06:58:11,557 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:58:11,560 INFO L85 PathProgramCache]: Analyzing trace with hash 1558604609, now seen corresponding path program 1 times [2022-04-15 06:58:11,560 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:58:11,560 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [875755923] [2022-04-15 06:58:11,560 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:58:11,560 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:58:11,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:11,749 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:58:11,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:11,758 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-15 06:58:11,759 INFO L290 TraceCheckUtils]: 1: Hoare triple {24362#(<= 20 ~SIZE~0)} assume true; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:11,759 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {24362#(<= 20 ~SIZE~0)} {24357#true} #90#return; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:11,759 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:58:11,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:11,761 INFO L290 TraceCheckUtils]: 0: Hoare triple {24357#true} ~cond := #in~cond; {24357#true} is VALID [2022-04-15 06:58:11,761 INFO L290 TraceCheckUtils]: 1: Hoare triple {24357#true} assume !(0 == ~cond); {24357#true} is VALID [2022-04-15 06:58:11,761 INFO L290 TraceCheckUtils]: 2: Hoare triple {24357#true} assume true; {24357#true} is VALID [2022-04-15 06:58:11,762 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24357#true} {24362#(<= 20 ~SIZE~0)} #86#return; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:11,762 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-15 06:58:11,763 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-15 06:58:11,764 INFO L290 TraceCheckUtils]: 2: Hoare triple {24362#(<= 20 ~SIZE~0)} assume true; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:11,764 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24362#(<= 20 ~SIZE~0)} {24357#true} #90#return; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:11,764 INFO L272 TraceCheckUtils]: 4: Hoare triple {24362#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:11,764 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-15 06:58:11,764 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-15 06:58:11,765 INFO L290 TraceCheckUtils]: 7: Hoare triple {24357#true} ~cond := #in~cond; {24357#true} is VALID [2022-04-15 06:58:11,765 INFO L290 TraceCheckUtils]: 8: Hoare triple {24357#true} assume !(0 == ~cond); {24357#true} is VALID [2022-04-15 06:58:11,765 INFO L290 TraceCheckUtils]: 9: Hoare triple {24357#true} assume true; {24357#true} is VALID [2022-04-15 06:58:11,765 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24357#true} {24362#(<= 20 ~SIZE~0)} #86#return; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:11,765 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-15 06:58:11,766 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-15 06:58:11,766 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-15 06:58:11,767 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-15 06:58:11,767 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-15 06:58:11,768 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-15 06:58:11,768 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-15 06:58:11,769 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-15 06:58:11,769 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-15 06:58:11,770 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-15 06:58:11,770 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-15 06:58:11,770 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-15 06:58:11,771 INFO L290 TraceCheckUtils]: 23: Hoare triple {24374#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {24358#false} is VALID [2022-04-15 06:58:11,771 INFO L290 TraceCheckUtils]: 24: Hoare triple {24358#false} assume !false; {24358#false} is VALID [2022-04-15 06:58:11,771 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-15 06:58:11,771 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:58:11,771 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [875755923] [2022-04-15 06:58:11,771 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [875755923] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:58:11,771 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [478689387] [2022-04-15 06:58:11,771 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:58:11,772 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:58:11,772 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:58:11,772 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-15 06:58:11,791 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-15 06:58:11,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:11,816 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:58:11,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:11,823 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:58:12,056 INFO L272 TraceCheckUtils]: 0: Hoare triple {24357#true} call ULTIMATE.init(); {24357#true} is VALID [2022-04-15 06:58:12,057 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-15 06:58:12,057 INFO L290 TraceCheckUtils]: 2: Hoare triple {24362#(<= 20 ~SIZE~0)} assume true; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:12,058 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24362#(<= 20 ~SIZE~0)} {24357#true} #90#return; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:12,058 INFO L272 TraceCheckUtils]: 4: Hoare triple {24362#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:12,058 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-15 06:58:12,059 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-15 06:58:12,059 INFO L290 TraceCheckUtils]: 7: Hoare triple {24362#(<= 20 ~SIZE~0)} ~cond := #in~cond; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:12,059 INFO L290 TraceCheckUtils]: 8: Hoare triple {24362#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:12,060 INFO L290 TraceCheckUtils]: 9: Hoare triple {24362#(<= 20 ~SIZE~0)} assume true; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:12,060 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24362#(<= 20 ~SIZE~0)} {24362#(<= 20 ~SIZE~0)} #86#return; {24362#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:12,060 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-15 06:58:12,061 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-15 06:58:12,061 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-15 06:58:12,062 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-15 06:58:12,063 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-15 06:58:12,063 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-15 06:58:12,064 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-15 06:58:12,064 INFO L290 TraceCheckUtils]: 18: Hoare triple {24358#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {24358#false} is VALID [2022-04-15 06:58:12,064 INFO L290 TraceCheckUtils]: 19: Hoare triple {24358#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {24358#false} is VALID [2022-04-15 06:58:12,064 INFO L290 TraceCheckUtils]: 20: Hoare triple {24358#false} assume !(~d~0 == ~SIZE~0); {24358#false} is VALID [2022-04-15 06:58:12,064 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-15 06:58:12,064 INFO L290 TraceCheckUtils]: 22: Hoare triple {24358#false} ~cond := #in~cond; {24358#false} is VALID [2022-04-15 06:58:12,064 INFO L290 TraceCheckUtils]: 23: Hoare triple {24358#false} assume 0 == ~cond; {24358#false} is VALID [2022-04-15 06:58:12,064 INFO L290 TraceCheckUtils]: 24: Hoare triple {24358#false} assume !false; {24358#false} is VALID [2022-04-15 06:58:12,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-15 06:58:12,064 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:58:12,329 INFO L290 TraceCheckUtils]: 24: Hoare triple {24358#false} assume !false; {24358#false} is VALID [2022-04-15 06:58:12,330 INFO L290 TraceCheckUtils]: 23: Hoare triple {24358#false} assume 0 == ~cond; {24358#false} is VALID [2022-04-15 06:58:12,330 INFO L290 TraceCheckUtils]: 22: Hoare triple {24358#false} ~cond := #in~cond; {24358#false} is VALID [2022-04-15 06:58:12,330 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-15 06:58:12,330 INFO L290 TraceCheckUtils]: 20: Hoare triple {24358#false} assume !(~d~0 == ~SIZE~0); {24358#false} is VALID [2022-04-15 06:58:12,330 INFO L290 TraceCheckUtils]: 19: Hoare triple {24358#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {24358#false} is VALID [2022-04-15 06:58:12,330 INFO L290 TraceCheckUtils]: 18: Hoare triple {24358#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {24358#false} is VALID [2022-04-15 06:58:12,330 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-15 06:58:12,331 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-15 06:58:12,331 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-15 06:58:12,332 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-15 06:58:12,332 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-15 06:58:12,333 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-15 06:58:12,333 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-15 06:58:12,333 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24357#true} {24493#(< 1 ~SIZE~0)} #86#return; {24493#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:12,334 INFO L290 TraceCheckUtils]: 9: Hoare triple {24357#true} assume true; {24357#true} is VALID [2022-04-15 06:58:12,334 INFO L290 TraceCheckUtils]: 8: Hoare triple {24357#true} assume !(0 == ~cond); {24357#true} is VALID [2022-04-15 06:58:12,334 INFO L290 TraceCheckUtils]: 7: Hoare triple {24357#true} ~cond := #in~cond; {24357#true} is VALID [2022-04-15 06:58:12,334 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-15 06:58:12,334 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-15 06:58:12,334 INFO L272 TraceCheckUtils]: 4: Hoare triple {24493#(< 1 ~SIZE~0)} call #t~ret7 := main(); {24493#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:12,335 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24493#(< 1 ~SIZE~0)} {24357#true} #90#return; {24493#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:12,335 INFO L290 TraceCheckUtils]: 2: Hoare triple {24493#(< 1 ~SIZE~0)} assume true; {24493#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:12,335 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-15 06:58:12,336 INFO L272 TraceCheckUtils]: 0: Hoare triple {24357#true} call ULTIMATE.init(); {24357#true} is VALID [2022-04-15 06:58:12,336 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-15 06:58:12,336 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [478689387] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:58:12,336 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:58:12,336 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:58:12,965 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:58:12,965 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [334772697] [2022-04-15 06:58:12,966 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [334772697] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:58:12,966 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:58:12,966 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [24] imperfect sequences [] total 24 [2022-04-15 06:58:12,966 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [95789167] [2022-04-15 06:58:12,966 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:58:12,966 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-15 06:58:12,966 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:58:12,966 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-15 06:58:12,990 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-15 06:58:12,991 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-15 06:58:12,991 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:58:12,991 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-15 06:58:12,991 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=196, Invalid=860, Unknown=0, NotChecked=0, Total=1056 [2022-04-15 06:58:12,991 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-15 06:58:14,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:14,528 INFO L93 Difference]: Finished difference Result 227 states and 283 transitions. [2022-04-15 06:58:14,528 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-15 06:58:14,528 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-15 06:58:14,528 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:58:14,528 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-15 06:58:14,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 91 transitions. [2022-04-15 06:58:14,529 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-15 06:58:14,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 91 transitions. [2022-04-15 06:58:14,529 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 91 transitions. [2022-04-15 06:58:14,594 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-15 06:58:14,595 INFO L225 Difference]: With dead ends: 227 [2022-04-15 06:58:14,595 INFO L226 Difference]: Without dead ends: 158 [2022-04-15 06:58:14,596 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 48 SyntacticMatches, 8 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 444 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=208, Invalid=982, Unknown=0, NotChecked=0, Total=1190 [2022-04-15 06:58:14,596 INFO L913 BasicCegarLoop]: 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-15 06:58:14,596 INFO L914 BasicCegarLoop]: 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-15 06:58:14,597 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 158 states. [2022-04-15 06:58:14,944 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 158 to 142. [2022-04-15 06:58:14,944 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:58:14,944 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-15 06:58:14,944 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-15 06:58:14,944 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-15 06:58:14,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:14,946 INFO L93 Difference]: Finished difference Result 158 states and 192 transitions. [2022-04-15 06:58:14,946 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 192 transitions. [2022-04-15 06:58:14,946 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:58:14,946 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:58:14,946 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-15 06:58:14,947 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-15 06:58:14,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:14,948 INFO L93 Difference]: Finished difference Result 158 states and 192 transitions. [2022-04-15 06:58:14,948 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 192 transitions. [2022-04-15 06:58:14,948 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:58:14,948 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:58:14,948 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:58:14,948 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:58:14,949 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-15 06:58:14,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 174 transitions. [2022-04-15 06:58:14,950 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 174 transitions. Word has length 43 [2022-04-15 06:58:14,950 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:58:14,950 INFO L478 AbstractCegarLoop]: Abstraction has 142 states and 174 transitions. [2022-04-15 06:58:14,950 INFO L479 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-15 06:58:14,950 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 142 states and 174 transitions. [2022-04-15 06:58:15,192 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-15 06:58:15,192 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 174 transitions. [2022-04-15 06:58:15,198 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 06:58:15,198 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:58:15,198 INFO L499 BasicCegarLoop]: 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-15 06:58:15,214 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-15 06:58:15,411 WARN L460 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-15 06:58:15,412 INFO L403 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:58:15,412 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:58:15,412 INFO L85 PathProgramCache]: Analyzing trace with hash -1596695361, now seen corresponding path program 20 times [2022-04-15 06:58:15,412 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:58:15,412 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1189150922] [2022-04-15 06:58:15,614 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-15 06:58:15,791 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-15 06:58:15,792 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:58:15,794 INFO L85 PathProgramCache]: Analyzing trace with hash -243839935, now seen corresponding path program 1 times [2022-04-15 06:58:15,794 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:58:15,794 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1565809924] [2022-04-15 06:58:15,794 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:58:15,794 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:58:15,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:15,929 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:58:15,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:15,934 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-15 06:58:15,935 INFO L290 TraceCheckUtils]: 1: Hoare triple {25610#(<= 20 ~SIZE~0)} assume true; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:15,935 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {25610#(<= 20 ~SIZE~0)} {25605#true} #90#return; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:15,935 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:58:15,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:15,937 INFO L290 TraceCheckUtils]: 0: Hoare triple {25605#true} ~cond := #in~cond; {25605#true} is VALID [2022-04-15 06:58:15,937 INFO L290 TraceCheckUtils]: 1: Hoare triple {25605#true} assume !(0 == ~cond); {25605#true} is VALID [2022-04-15 06:58:15,937 INFO L290 TraceCheckUtils]: 2: Hoare triple {25605#true} assume true; {25605#true} is VALID [2022-04-15 06:58:15,937 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25605#true} {25610#(<= 20 ~SIZE~0)} #86#return; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:15,938 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-15 06:58:15,938 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-15 06:58:15,938 INFO L290 TraceCheckUtils]: 2: Hoare triple {25610#(<= 20 ~SIZE~0)} assume true; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:15,939 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25610#(<= 20 ~SIZE~0)} {25605#true} #90#return; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:15,939 INFO L272 TraceCheckUtils]: 4: Hoare triple {25610#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:15,939 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-15 06:58:15,939 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-15 06:58:15,939 INFO L290 TraceCheckUtils]: 7: Hoare triple {25605#true} ~cond := #in~cond; {25605#true} is VALID [2022-04-15 06:58:15,939 INFO L290 TraceCheckUtils]: 8: Hoare triple {25605#true} assume !(0 == ~cond); {25605#true} is VALID [2022-04-15 06:58:15,939 INFO L290 TraceCheckUtils]: 9: Hoare triple {25605#true} assume true; {25605#true} is VALID [2022-04-15 06:58:15,940 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25605#true} {25610#(<= 20 ~SIZE~0)} #86#return; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:15,940 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-15 06:58:15,940 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-15 06:58:15,941 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-15 06:58:15,941 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-15 06:58:15,942 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-15 06:58:15,943 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-15 06:58:15,943 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-15 06:58:15,944 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-15 06:58:15,944 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-15 06:58:15,945 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-15 06:58:15,945 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-15 06:58:15,945 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-15 06:58:15,946 INFO L290 TraceCheckUtils]: 23: Hoare triple {25622#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {25606#false} is VALID [2022-04-15 06:58:15,946 INFO L290 TraceCheckUtils]: 24: Hoare triple {25606#false} assume !false; {25606#false} is VALID [2022-04-15 06:58:15,946 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-15 06:58:15,946 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:58:15,946 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1565809924] [2022-04-15 06:58:15,946 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1565809924] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:58:15,946 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1791598473] [2022-04-15 06:58:15,946 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:58:15,946 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:58:15,946 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:58:15,947 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-15 06:58:15,949 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-15 06:58:15,977 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:15,978 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:58:15,984 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:15,984 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:58:16,199 INFO L272 TraceCheckUtils]: 0: Hoare triple {25605#true} call ULTIMATE.init(); {25605#true} is VALID [2022-04-15 06:58:16,200 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-15 06:58:16,200 INFO L290 TraceCheckUtils]: 2: Hoare triple {25610#(<= 20 ~SIZE~0)} assume true; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:16,201 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25610#(<= 20 ~SIZE~0)} {25605#true} #90#return; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:16,201 INFO L272 TraceCheckUtils]: 4: Hoare triple {25610#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:16,201 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-15 06:58:16,202 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-15 06:58:16,202 INFO L290 TraceCheckUtils]: 7: Hoare triple {25610#(<= 20 ~SIZE~0)} ~cond := #in~cond; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:16,202 INFO L290 TraceCheckUtils]: 8: Hoare triple {25610#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:16,203 INFO L290 TraceCheckUtils]: 9: Hoare triple {25610#(<= 20 ~SIZE~0)} assume true; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:16,203 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25610#(<= 20 ~SIZE~0)} {25610#(<= 20 ~SIZE~0)} #86#return; {25610#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:16,203 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-15 06:58:16,204 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-15 06:58:16,204 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-15 06:58:16,205 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-15 06:58:16,206 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-15 06:58:16,206 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-15 06:58:16,207 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-15 06:58:16,207 INFO L290 TraceCheckUtils]: 18: Hoare triple {25606#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {25606#false} is VALID [2022-04-15 06:58:16,207 INFO L290 TraceCheckUtils]: 19: Hoare triple {25606#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {25606#false} is VALID [2022-04-15 06:58:16,207 INFO L290 TraceCheckUtils]: 20: Hoare triple {25606#false} assume !(~d~0 == ~SIZE~0); {25606#false} is VALID [2022-04-15 06:58:16,207 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-15 06:58:16,207 INFO L290 TraceCheckUtils]: 22: Hoare triple {25606#false} ~cond := #in~cond; {25606#false} is VALID [2022-04-15 06:58:16,207 INFO L290 TraceCheckUtils]: 23: Hoare triple {25606#false} assume 0 == ~cond; {25606#false} is VALID [2022-04-15 06:58:16,207 INFO L290 TraceCheckUtils]: 24: Hoare triple {25606#false} assume !false; {25606#false} is VALID [2022-04-15 06:58:16,208 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-15 06:58:16,208 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:58:16,472 INFO L290 TraceCheckUtils]: 24: Hoare triple {25606#false} assume !false; {25606#false} is VALID [2022-04-15 06:58:16,472 INFO L290 TraceCheckUtils]: 23: Hoare triple {25606#false} assume 0 == ~cond; {25606#false} is VALID [2022-04-15 06:58:16,472 INFO L290 TraceCheckUtils]: 22: Hoare triple {25606#false} ~cond := #in~cond; {25606#false} is VALID [2022-04-15 06:58:16,472 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-15 06:58:16,472 INFO L290 TraceCheckUtils]: 20: Hoare triple {25606#false} assume !(~d~0 == ~SIZE~0); {25606#false} is VALID [2022-04-15 06:58:16,472 INFO L290 TraceCheckUtils]: 19: Hoare triple {25606#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {25606#false} is VALID [2022-04-15 06:58:16,472 INFO L290 TraceCheckUtils]: 18: Hoare triple {25606#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {25606#false} is VALID [2022-04-15 06:58:16,473 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-15 06:58:16,473 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-15 06:58:16,474 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-15 06:58:16,474 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-15 06:58:16,475 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-15 06:58:16,475 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-15 06:58:16,476 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-15 06:58:16,476 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25605#true} {25741#(< 1 ~SIZE~0)} #86#return; {25741#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:16,476 INFO L290 TraceCheckUtils]: 9: Hoare triple {25605#true} assume true; {25605#true} is VALID [2022-04-15 06:58:16,476 INFO L290 TraceCheckUtils]: 8: Hoare triple {25605#true} assume !(0 == ~cond); {25605#true} is VALID [2022-04-15 06:58:16,476 INFO L290 TraceCheckUtils]: 7: Hoare triple {25605#true} ~cond := #in~cond; {25605#true} is VALID [2022-04-15 06:58:16,476 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-15 06:58:16,477 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-15 06:58:16,477 INFO L272 TraceCheckUtils]: 4: Hoare triple {25741#(< 1 ~SIZE~0)} call #t~ret7 := main(); {25741#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:16,477 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25741#(< 1 ~SIZE~0)} {25605#true} #90#return; {25741#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:16,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {25741#(< 1 ~SIZE~0)} assume true; {25741#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:16,478 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-15 06:58:16,478 INFO L272 TraceCheckUtils]: 0: Hoare triple {25605#true} call ULTIMATE.init(); {25605#true} is VALID [2022-04-15 06:58:16,478 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-15 06:58:16,478 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1791598473] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:58:16,478 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:58:16,478 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:58:17,103 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:58:17,103 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1189150922] [2022-04-15 06:58:17,104 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1189150922] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:58:17,104 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:58:17,104 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-15 06:58:17,104 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [948283385] [2022-04-15 06:58:17,104 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:58:17,112 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-15 06:58:17,112 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:58:17,112 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-15 06:58:17,132 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-15 06:58:17,132 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-15 06:58:17,132 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:58:17,134 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-15 06:58:17,134 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=210, Invalid=912, Unknown=0, NotChecked=0, Total=1122 [2022-04-15 06:58:17,134 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-15 06:58:18,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:18,294 INFO L93 Difference]: Finished difference Result 225 states and 281 transitions. [2022-04-15 06:58:18,294 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-15 06:58:18,294 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-15 06:58:18,295 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:58:18,295 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-15 06:58:18,295 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 92 transitions. [2022-04-15 06:58:18,296 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-15 06:58:18,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 92 transitions. [2022-04-15 06:58:18,296 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 92 transitions. [2022-04-15 06:58:18,340 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-15 06:58:18,342 INFO L225 Difference]: With dead ends: 225 [2022-04-15 06:58:18,342 INFO L226 Difference]: Without dead ends: 156 [2022-04-15 06:58:18,343 INFO L912 BasicCegarLoop]: 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-15 06:58:18,344 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 52 mSDsluCounter, 48 mSDsCounter, 0 mSdLazyCounter, 885 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-15 06:58:18,344 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [53 Valid, 68 Invalid, 895 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 885 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 06:58:18,344 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2022-04-15 06:58:18,642 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 142. [2022-04-15 06:58:18,642 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:58:18,642 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-15 06:58:18,642 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-15 06:58:18,643 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-15 06:58:18,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:18,644 INFO L93 Difference]: Finished difference Result 156 states and 190 transitions. [2022-04-15 06:58:18,644 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 190 transitions. [2022-04-15 06:58:18,644 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:58:18,644 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:58:18,645 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-15 06:58:18,645 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-15 06:58:18,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:18,646 INFO L93 Difference]: Finished difference Result 156 states and 190 transitions. [2022-04-15 06:58:18,646 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 190 transitions. [2022-04-15 06:58:18,646 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:58:18,646 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:58:18,647 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:58:18,647 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:58:18,647 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-15 06:58:18,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 174 transitions. [2022-04-15 06:58:18,648 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 174 transitions. Word has length 43 [2022-04-15 06:58:18,648 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:58:18,648 INFO L478 AbstractCegarLoop]: Abstraction has 142 states and 174 transitions. [2022-04-15 06:58:18,648 INFO L479 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-15 06:58:18,648 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 142 states and 174 transitions. [2022-04-15 06:58:18,909 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-15 06:58:18,909 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 174 transitions. [2022-04-15 06:58:18,909 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 06:58:18,909 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:58:18,909 INFO L499 BasicCegarLoop]: 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-15 06:58:18,926 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-15 06:58:19,110 WARN L460 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-15 06:58:19,110 INFO L403 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:58:19,110 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:58:19,110 INFO L85 PathProgramCache]: Analyzing trace with hash 1687154685, now seen corresponding path program 21 times [2022-04-15 06:58:19,110 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:58:19,111 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [615867730] [2022-04-15 06:58:19,255 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-15 06:58:22,130 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:58:22,259 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-15 06:58:22,261 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:58:22,264 INFO L85 PathProgramCache]: Analyzing trace with hash -2046284479, now seen corresponding path program 1 times [2022-04-15 06:58:22,264 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:58:22,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1735776886] [2022-04-15 06:58:22,264 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:58:22,264 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:58:22,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:22,435 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:58:22,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:22,450 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-15 06:58:22,450 INFO L290 TraceCheckUtils]: 1: Hoare triple {26851#(<= 20 ~SIZE~0)} assume true; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:22,450 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {26851#(<= 20 ~SIZE~0)} {26846#true} #90#return; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:22,450 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:58:22,451 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:22,453 INFO L290 TraceCheckUtils]: 0: Hoare triple {26846#true} ~cond := #in~cond; {26846#true} is VALID [2022-04-15 06:58:22,453 INFO L290 TraceCheckUtils]: 1: Hoare triple {26846#true} assume !(0 == ~cond); {26846#true} is VALID [2022-04-15 06:58:22,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {26846#true} assume true; {26846#true} is VALID [2022-04-15 06:58:22,453 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26846#true} {26851#(<= 20 ~SIZE~0)} #86#return; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:22,454 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-15 06:58:22,454 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-15 06:58:22,454 INFO L290 TraceCheckUtils]: 2: Hoare triple {26851#(<= 20 ~SIZE~0)} assume true; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:22,455 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26851#(<= 20 ~SIZE~0)} {26846#true} #90#return; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:22,455 INFO L272 TraceCheckUtils]: 4: Hoare triple {26851#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:22,455 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-15 06:58:22,455 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-15 06:58:22,455 INFO L290 TraceCheckUtils]: 7: Hoare triple {26846#true} ~cond := #in~cond; {26846#true} is VALID [2022-04-15 06:58:22,455 INFO L290 TraceCheckUtils]: 8: Hoare triple {26846#true} assume !(0 == ~cond); {26846#true} is VALID [2022-04-15 06:58:22,456 INFO L290 TraceCheckUtils]: 9: Hoare triple {26846#true} assume true; {26846#true} is VALID [2022-04-15 06:58:22,456 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26846#true} {26851#(<= 20 ~SIZE~0)} #86#return; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:22,456 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-15 06:58:22,457 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-15 06:58:22,457 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-15 06:58:22,458 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-15 06:58:22,458 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-15 06:58:22,459 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-15 06:58:22,459 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-15 06:58:22,460 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-15 06:58:22,460 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-15 06:58:22,461 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-15 06:58:22,461 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-15 06:58:22,462 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-15 06:58:22,462 INFO L290 TraceCheckUtils]: 23: Hoare triple {26863#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {26847#false} is VALID [2022-04-15 06:58:22,462 INFO L290 TraceCheckUtils]: 24: Hoare triple {26847#false} assume !false; {26847#false} is VALID [2022-04-15 06:58:22,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-15 06:58:22,462 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:58:22,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1735776886] [2022-04-15 06:58:22,462 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1735776886] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:58:22,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1857569687] [2022-04-15 06:58:22,462 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:58:22,462 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:58:22,463 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:58:22,464 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-15 06:58:22,464 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-15 06:58:22,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:22,493 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:58:22,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:22,500 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:58:22,698 INFO L272 TraceCheckUtils]: 0: Hoare triple {26846#true} call ULTIMATE.init(); {26846#true} is VALID [2022-04-15 06:58:22,699 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-15 06:58:22,699 INFO L290 TraceCheckUtils]: 2: Hoare triple {26851#(<= 20 ~SIZE~0)} assume true; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:22,699 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26851#(<= 20 ~SIZE~0)} {26846#true} #90#return; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:22,700 INFO L272 TraceCheckUtils]: 4: Hoare triple {26851#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:22,700 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-15 06:58:22,700 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-15 06:58:22,700 INFO L290 TraceCheckUtils]: 7: Hoare triple {26851#(<= 20 ~SIZE~0)} ~cond := #in~cond; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:22,701 INFO L290 TraceCheckUtils]: 8: Hoare triple {26851#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:22,701 INFO L290 TraceCheckUtils]: 9: Hoare triple {26851#(<= 20 ~SIZE~0)} assume true; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:22,701 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26851#(<= 20 ~SIZE~0)} {26851#(<= 20 ~SIZE~0)} #86#return; {26851#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:22,701 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-15 06:58:22,702 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-15 06:58:22,702 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-15 06:58:22,703 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-15 06:58:22,703 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-15 06:58:22,704 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-15 06:58:22,704 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-15 06:58:22,704 INFO L290 TraceCheckUtils]: 18: Hoare triple {26847#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {26847#false} is VALID [2022-04-15 06:58:22,704 INFO L290 TraceCheckUtils]: 19: Hoare triple {26847#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {26847#false} is VALID [2022-04-15 06:58:22,704 INFO L290 TraceCheckUtils]: 20: Hoare triple {26847#false} assume !(~d~0 == ~SIZE~0); {26847#false} is VALID [2022-04-15 06:58:22,705 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-15 06:58:22,705 INFO L290 TraceCheckUtils]: 22: Hoare triple {26847#false} ~cond := #in~cond; {26847#false} is VALID [2022-04-15 06:58:22,705 INFO L290 TraceCheckUtils]: 23: Hoare triple {26847#false} assume 0 == ~cond; {26847#false} is VALID [2022-04-15 06:58:22,705 INFO L290 TraceCheckUtils]: 24: Hoare triple {26847#false} assume !false; {26847#false} is VALID [2022-04-15 06:58:22,705 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-15 06:58:22,705 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:58:22,986 INFO L290 TraceCheckUtils]: 24: Hoare triple {26847#false} assume !false; {26847#false} is VALID [2022-04-15 06:58:22,986 INFO L290 TraceCheckUtils]: 23: Hoare triple {26847#false} assume 0 == ~cond; {26847#false} is VALID [2022-04-15 06:58:22,986 INFO L290 TraceCheckUtils]: 22: Hoare triple {26847#false} ~cond := #in~cond; {26847#false} is VALID [2022-04-15 06:58:22,986 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-15 06:58:22,986 INFO L290 TraceCheckUtils]: 20: Hoare triple {26847#false} assume !(~d~0 == ~SIZE~0); {26847#false} is VALID [2022-04-15 06:58:22,986 INFO L290 TraceCheckUtils]: 19: Hoare triple {26847#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {26847#false} is VALID [2022-04-15 06:58:22,986 INFO L290 TraceCheckUtils]: 18: Hoare triple {26847#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {26847#false} is VALID [2022-04-15 06:58:22,987 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-15 06:58:22,987 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-15 06:58:22,988 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-15 06:58:22,988 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-15 06:58:22,989 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-15 06:58:22,989 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-15 06:58:22,989 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-15 06:58:22,990 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26846#true} {26982#(< 1 ~SIZE~0)} #86#return; {26982#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:22,990 INFO L290 TraceCheckUtils]: 9: Hoare triple {26846#true} assume true; {26846#true} is VALID [2022-04-15 06:58:22,990 INFO L290 TraceCheckUtils]: 8: Hoare triple {26846#true} assume !(0 == ~cond); {26846#true} is VALID [2022-04-15 06:58:22,990 INFO L290 TraceCheckUtils]: 7: Hoare triple {26846#true} ~cond := #in~cond; {26846#true} is VALID [2022-04-15 06:58:22,990 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-15 06:58:22,990 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-15 06:58:22,991 INFO L272 TraceCheckUtils]: 4: Hoare triple {26982#(< 1 ~SIZE~0)} call #t~ret7 := main(); {26982#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:22,991 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26982#(< 1 ~SIZE~0)} {26846#true} #90#return; {26982#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:22,991 INFO L290 TraceCheckUtils]: 2: Hoare triple {26982#(< 1 ~SIZE~0)} assume true; {26982#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:22,992 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-15 06:58:22,992 INFO L272 TraceCheckUtils]: 0: Hoare triple {26846#true} call ULTIMATE.init(); {26846#true} is VALID [2022-04-15 06:58:22,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-15 06:58:22,992 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1857569687] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:58:22,992 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:58:22,992 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:58:23,713 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:58:23,713 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [615867730] [2022-04-15 06:58:23,713 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [615867730] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:58:23,713 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:58:23,713 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-15 06:58:23,713 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1365604275] [2022-04-15 06:58:23,713 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:58:23,714 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-15 06:58:23,714 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:58:23,714 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-15 06:58:23,749 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-15 06:58:23,749 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-15 06:58:23,749 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:58:23,749 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-15 06:58:23,750 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=224, Invalid=966, Unknown=0, NotChecked=0, Total=1190 [2022-04-15 06:58:23,750 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-15 06:58:25,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:25,428 INFO L93 Difference]: Finished difference Result 236 states and 296 transitions. [2022-04-15 06:58:25,428 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-15 06:58:25,428 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-15 06:58:25,428 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:58:25,428 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-15 06:58:25,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 94 transitions. [2022-04-15 06:58:25,429 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-15 06:58:25,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 94 transitions. [2022-04-15 06:58:25,430 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 94 transitions. [2022-04-15 06:58:25,479 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-15 06:58:25,481 INFO L225 Difference]: With dead ends: 236 [2022-04-15 06:58:25,481 INFO L226 Difference]: Without dead ends: 156 [2022-04-15 06:58:25,482 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 48 SyntacticMatches, 6 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 437 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=236, Invalid=1096, Unknown=0, NotChecked=0, Total=1332 [2022-04-15 06:58:25,482 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 56 mSDsluCounter, 38 mSDsCounter, 0 mSdLazyCounter, 872 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s 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.6s IncrementalHoareTripleChecker+Time [2022-04-15 06:58:25,482 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [57 Valid, 59 Invalid, 882 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 872 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-15 06:58:25,482 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2022-04-15 06:58:25,734 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 145. [2022-04-15 06:58:25,734 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:58:25,734 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-15 06:58:25,734 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-15 06:58:25,735 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-15 06:58:25,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:25,736 INFO L93 Difference]: Finished difference Result 156 states and 191 transitions. [2022-04-15 06:58:25,736 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 191 transitions. [2022-04-15 06:58:25,736 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:58:25,736 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:58:25,737 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-15 06:58:25,737 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-15 06:58:25,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:25,738 INFO L93 Difference]: Finished difference Result 156 states and 191 transitions. [2022-04-15 06:58:25,738 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 191 transitions. [2022-04-15 06:58:25,739 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:58:25,739 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:58:25,739 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:58:25,739 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:58:25,739 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-15 06:58:25,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 145 states to 145 states and 178 transitions. [2022-04-15 06:58:25,740 INFO L78 Accepts]: Start accepts. Automaton has 145 states and 178 transitions. Word has length 43 [2022-04-15 06:58:25,740 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:58:25,741 INFO L478 AbstractCegarLoop]: Abstraction has 145 states and 178 transitions. [2022-04-15 06:58:25,741 INFO L479 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-15 06:58:25,741 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 145 states and 178 transitions. [2022-04-15 06:58:25,981 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-15 06:58:25,981 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 178 transitions. [2022-04-15 06:58:25,982 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-15 06:58:25,982 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:58:25,982 INFO L499 BasicCegarLoop]: 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-15 06:58:26,008 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-15 06:58:26,198 WARN L460 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-15 06:58:26,198 INFO L403 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:58:26,198 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:58:26,199 INFO L85 PathProgramCache]: Analyzing trace with hash -1308477019, now seen corresponding path program 2 times [2022-04-15 06:58:26,199 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:58:26,199 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1732411160] [2022-04-15 06:58:26,408 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-15 06:58:26,592 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-15 06:58:26,593 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:58:26,594 INFO L85 PathProgramCache]: Analyzing trace with hash -1372748949, now seen corresponding path program 1 times [2022-04-15 06:58:26,594 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:58:26,594 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [465843250] [2022-04-15 06:58:26,594 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:58:26,594 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:58:26,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:26,635 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:58:26,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:26,640 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-15 06:58:26,641 INFO L290 TraceCheckUtils]: 1: Hoare triple {28121#(<= 20 ~SIZE~0)} assume true; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:26,641 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28121#(<= 20 ~SIZE~0)} {28116#true} #90#return; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:26,641 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:58:26,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:26,643 INFO L290 TraceCheckUtils]: 0: Hoare triple {28116#true} ~cond := #in~cond; {28116#true} is VALID [2022-04-15 06:58:26,643 INFO L290 TraceCheckUtils]: 1: Hoare triple {28116#true} assume !(0 == ~cond); {28116#true} is VALID [2022-04-15 06:58:26,643 INFO L290 TraceCheckUtils]: 2: Hoare triple {28116#true} assume true; {28116#true} is VALID [2022-04-15 06:58:26,644 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28116#true} {28121#(<= 20 ~SIZE~0)} #86#return; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:26,644 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-15 06:58:26,645 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-15 06:58:26,645 INFO L290 TraceCheckUtils]: 2: Hoare triple {28121#(<= 20 ~SIZE~0)} assume true; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:26,645 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28121#(<= 20 ~SIZE~0)} {28116#true} #90#return; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:26,646 INFO L272 TraceCheckUtils]: 4: Hoare triple {28121#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:26,646 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-15 06:58:26,646 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-15 06:58:26,646 INFO L290 TraceCheckUtils]: 7: Hoare triple {28116#true} ~cond := #in~cond; {28116#true} is VALID [2022-04-15 06:58:26,646 INFO L290 TraceCheckUtils]: 8: Hoare triple {28116#true} assume !(0 == ~cond); {28116#true} is VALID [2022-04-15 06:58:26,646 INFO L290 TraceCheckUtils]: 9: Hoare triple {28116#true} assume true; {28116#true} is VALID [2022-04-15 06:58:26,647 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {28116#true} {28121#(<= 20 ~SIZE~0)} #86#return; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:26,647 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-15 06:58:26,647 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-15 06:58:26,648 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-15 06:58:26,648 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-15 06:58:26,649 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-15 06:58:26,649 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-15 06:58:26,649 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-15 06:58:26,650 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-15 06:58:26,650 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-15 06:58:26,650 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-15 06:58:26,651 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-15 06:58:26,651 INFO L290 TraceCheckUtils]: 22: Hoare triple {28128#(<= (+ main_~c~0 18) ~SIZE~0)} assume !(~c~0 < ~SIZE~0); {28117#false} is VALID [2022-04-15 06:58:26,651 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-15 06:58:26,651 INFO L290 TraceCheckUtils]: 24: Hoare triple {28117#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {28117#false} is VALID [2022-04-15 06:58:26,651 INFO L290 TraceCheckUtils]: 25: Hoare triple {28117#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {28117#false} is VALID [2022-04-15 06:58:26,651 INFO L290 TraceCheckUtils]: 26: Hoare triple {28117#false} assume !(~d~0 == ~SIZE~0); {28117#false} is VALID [2022-04-15 06:58:26,651 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-15 06:58:26,651 INFO L290 TraceCheckUtils]: 28: Hoare triple {28117#false} ~cond := #in~cond; {28117#false} is VALID [2022-04-15 06:58:26,652 INFO L290 TraceCheckUtils]: 29: Hoare triple {28117#false} assume 0 == ~cond; {28117#false} is VALID [2022-04-15 06:58:26,652 INFO L290 TraceCheckUtils]: 30: Hoare triple {28117#false} assume !false; {28117#false} is VALID [2022-04-15 06:58:26,652 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-15 06:58:26,652 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:58:26,652 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [465843250] [2022-04-15 06:58:26,652 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [465843250] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:58:26,652 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [629529872] [2022-04-15 06:58:26,652 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:58:26,652 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:58:26,652 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:58:26,653 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-15 06:58:26,655 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-15 06:58:26,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:26,686 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 06:58:26,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:26,693 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:58:26,849 INFO L272 TraceCheckUtils]: 0: Hoare triple {28116#true} call ULTIMATE.init(); {28116#true} is VALID [2022-04-15 06:58:26,850 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-15 06:58:26,850 INFO L290 TraceCheckUtils]: 2: Hoare triple {28121#(<= 20 ~SIZE~0)} assume true; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:26,850 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28121#(<= 20 ~SIZE~0)} {28116#true} #90#return; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:26,851 INFO L272 TraceCheckUtils]: 4: Hoare triple {28121#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:26,851 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-15 06:58:26,851 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-15 06:58:26,852 INFO L290 TraceCheckUtils]: 7: Hoare triple {28121#(<= 20 ~SIZE~0)} ~cond := #in~cond; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:26,852 INFO L290 TraceCheckUtils]: 8: Hoare triple {28121#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:26,852 INFO L290 TraceCheckUtils]: 9: Hoare triple {28121#(<= 20 ~SIZE~0)} assume true; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:26,853 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {28121#(<= 20 ~SIZE~0)} {28121#(<= 20 ~SIZE~0)} #86#return; {28121#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:26,853 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-15 06:58:26,853 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-15 06:58:26,854 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-15 06:58:26,854 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-15 06:58:26,854 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-15 06:58:26,855 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-15 06:58:26,855 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-15 06:58:26,856 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-15 06:58:26,856 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-15 06:58:26,856 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-15 06:58:26,857 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-15 06:58:26,857 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-15 06:58:26,857 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-15 06:58:26,857 INFO L290 TraceCheckUtils]: 24: Hoare triple {28117#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {28117#false} is VALID [2022-04-15 06:58:26,857 INFO L290 TraceCheckUtils]: 25: Hoare triple {28117#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {28117#false} is VALID [2022-04-15 06:58:26,857 INFO L290 TraceCheckUtils]: 26: Hoare triple {28117#false} assume !(~d~0 == ~SIZE~0); {28117#false} is VALID [2022-04-15 06:58:26,858 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-15 06:58:26,858 INFO L290 TraceCheckUtils]: 28: Hoare triple {28117#false} ~cond := #in~cond; {28117#false} is VALID [2022-04-15 06:58:26,858 INFO L290 TraceCheckUtils]: 29: Hoare triple {28117#false} assume 0 == ~cond; {28117#false} is VALID [2022-04-15 06:58:26,858 INFO L290 TraceCheckUtils]: 30: Hoare triple {28117#false} assume !false; {28117#false} is VALID [2022-04-15 06:58:26,858 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-15 06:58:26,858 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:58:26,995 INFO L290 TraceCheckUtils]: 30: Hoare triple {28117#false} assume !false; {28117#false} is VALID [2022-04-15 06:58:26,995 INFO L290 TraceCheckUtils]: 29: Hoare triple {28117#false} assume 0 == ~cond; {28117#false} is VALID [2022-04-15 06:58:26,995 INFO L290 TraceCheckUtils]: 28: Hoare triple {28117#false} ~cond := #in~cond; {28117#false} is VALID [2022-04-15 06:58:26,995 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-15 06:58:26,995 INFO L290 TraceCheckUtils]: 26: Hoare triple {28117#false} assume !(~d~0 == ~SIZE~0); {28117#false} is VALID [2022-04-15 06:58:26,996 INFO L290 TraceCheckUtils]: 25: Hoare triple {28117#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {28117#false} is VALID [2022-04-15 06:58:26,996 INFO L290 TraceCheckUtils]: 24: Hoare triple {28117#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {28117#false} is VALID [2022-04-15 06:58:26,996 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-15 06:58:26,996 INFO L290 TraceCheckUtils]: 22: Hoare triple {28250#(< main_~c~0 ~SIZE~0)} assume !(~c~0 < ~SIZE~0); {28117#false} is VALID [2022-04-15 06:58:26,996 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-15 06:58:26,997 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-15 06:58:26,997 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-15 06:58:26,997 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-15 06:58:26,998 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-15 06:58:26,998 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-15 06:58:26,998 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-15 06:58:26,999 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-15 06:58:26,999 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-15 06:58:26,999 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-15 06:58:27,000 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-15 06:58:27,000 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {28116#true} {28274#(< 2 ~SIZE~0)} #86#return; {28274#(< 2 ~SIZE~0)} is VALID [2022-04-15 06:58:27,000 INFO L290 TraceCheckUtils]: 9: Hoare triple {28116#true} assume true; {28116#true} is VALID [2022-04-15 06:58:27,000 INFO L290 TraceCheckUtils]: 8: Hoare triple {28116#true} assume !(0 == ~cond); {28116#true} is VALID [2022-04-15 06:58:27,000 INFO L290 TraceCheckUtils]: 7: Hoare triple {28116#true} ~cond := #in~cond; {28116#true} is VALID [2022-04-15 06:58:27,001 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-15 06:58:27,001 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-15 06:58:27,001 INFO L272 TraceCheckUtils]: 4: Hoare triple {28274#(< 2 ~SIZE~0)} call #t~ret7 := main(); {28274#(< 2 ~SIZE~0)} is VALID [2022-04-15 06:58:27,001 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28274#(< 2 ~SIZE~0)} {28116#true} #90#return; {28274#(< 2 ~SIZE~0)} is VALID [2022-04-15 06:58:27,002 INFO L290 TraceCheckUtils]: 2: Hoare triple {28274#(< 2 ~SIZE~0)} assume true; {28274#(< 2 ~SIZE~0)} is VALID [2022-04-15 06:58:27,002 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-15 06:58:27,002 INFO L272 TraceCheckUtils]: 0: Hoare triple {28116#true} call ULTIMATE.init(); {28116#true} is VALID [2022-04-15 06:58:27,002 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-15 06:58:27,003 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [629529872] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:58:27,003 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:58:27,003 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 14 [2022-04-15 06:58:27,110 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:58:27,110 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1732411160] [2022-04-15 06:58:27,110 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1732411160] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:58:27,110 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:58:27,110 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 06:58:27,111 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1492509360] [2022-04-15 06:58:27,111 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:58:27,111 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-15 06:58:27,111 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:58:27,111 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-15 06:58:27,138 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-15 06:58:27,138 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 06:58:27,139 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:58:27,139 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 06:58:27,139 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=115, Invalid=191, Unknown=0, NotChecked=0, Total=306 [2022-04-15 06:58:27,139 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-15 06:58:28,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:28,062 INFO L93 Difference]: Finished difference Result 272 states and 342 transitions. [2022-04-15 06:58:28,062 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 06:58:28,062 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-15 06:58:28,062 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:58:28,062 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-15 06:58:28,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 74 transitions. [2022-04-15 06:58:28,063 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-15 06:58:28,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 74 transitions. [2022-04-15 06:58:28,063 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 74 transitions. [2022-04-15 06:58:28,112 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-15 06:58:28,115 INFO L225 Difference]: With dead ends: 272 [2022-04-15 06:58:28,115 INFO L226 Difference]: Without dead ends: 194 [2022-04-15 06:58:28,115 INFO L912 BasicCegarLoop]: 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-15 06:58:28,116 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 49 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 208 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-15 06:58:28,116 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 33 Invalid, 225 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 208 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 06:58:28,116 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 194 states. [2022-04-15 06:58:28,549 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 194 to 163. [2022-04-15 06:58:28,549 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:58:28,549 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-15 06:58:28,550 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-15 06:58:28,550 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-15 06:58:28,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:28,552 INFO L93 Difference]: Finished difference Result 194 states and 233 transitions. [2022-04-15 06:58:28,552 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 233 transitions. [2022-04-15 06:58:28,552 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:58:28,552 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:58:28,552 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-15 06:58:28,553 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-15 06:58:28,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:28,555 INFO L93 Difference]: Finished difference Result 194 states and 233 transitions. [2022-04-15 06:58:28,555 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 233 transitions. [2022-04-15 06:58:28,555 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:58:28,555 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:58:28,555 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:58:28,555 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:58:28,555 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-15 06:58:28,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 163 states to 163 states and 199 transitions. [2022-04-15 06:58:28,557 INFO L78 Accepts]: Start accepts. Automaton has 163 states and 199 transitions. Word has length 45 [2022-04-15 06:58:28,557 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:58:28,557 INFO L478 AbstractCegarLoop]: Abstraction has 163 states and 199 transitions. [2022-04-15 06:58:28,557 INFO L479 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-15 06:58:28,557 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 163 states and 199 transitions. [2022-04-15 06:58:28,856 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-15 06:58:28,857 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 199 transitions. [2022-04-15 06:58:28,857 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 06:58:28,857 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:58:28,857 INFO L499 BasicCegarLoop]: 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-15 06:58:28,875 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Ended with exit code 0 [2022-04-15 06:58:29,057 WARN L460 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-15 06:58:29,058 INFO L403 AbstractCegarLoop]: === Iteration 32 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:58:29,058 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:58:29,058 INFO L85 PathProgramCache]: Analyzing trace with hash 1569322332, now seen corresponding path program 22 times [2022-04-15 06:58:29,058 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:58:29,058 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2031117128] [2022-04-15 06:58:33,186 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:58:33,292 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-15 06:58:37,419 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:58:37,534 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-15 06:58:37,535 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:58:37,538 INFO L85 PathProgramCache]: Analyzing trace with hash -1356206271, now seen corresponding path program 1 times [2022-04-15 06:58:37,538 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:58:37,539 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [727503788] [2022-04-15 06:58:37,539 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:58:37,539 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:58:37,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:37,693 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:58:37,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:37,701 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-15 06:58:37,701 INFO L290 TraceCheckUtils]: 1: Hoare triple {29596#(<= 20 ~SIZE~0)} assume true; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:37,701 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {29596#(<= 20 ~SIZE~0)} {29591#true} #90#return; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:37,702 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:58:37,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:37,705 INFO L290 TraceCheckUtils]: 0: Hoare triple {29591#true} ~cond := #in~cond; {29591#true} is VALID [2022-04-15 06:58:37,705 INFO L290 TraceCheckUtils]: 1: Hoare triple {29591#true} assume !(0 == ~cond); {29591#true} is VALID [2022-04-15 06:58:37,705 INFO L290 TraceCheckUtils]: 2: Hoare triple {29591#true} assume true; {29591#true} is VALID [2022-04-15 06:58:37,705 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29591#true} {29596#(<= 20 ~SIZE~0)} #86#return; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:37,706 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-15 06:58:37,706 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-15 06:58:37,707 INFO L290 TraceCheckUtils]: 2: Hoare triple {29596#(<= 20 ~SIZE~0)} assume true; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:37,707 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29596#(<= 20 ~SIZE~0)} {29591#true} #90#return; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:37,707 INFO L272 TraceCheckUtils]: 4: Hoare triple {29596#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:37,707 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-15 06:58:37,707 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-15 06:58:37,707 INFO L290 TraceCheckUtils]: 7: Hoare triple {29591#true} ~cond := #in~cond; {29591#true} is VALID [2022-04-15 06:58:37,708 INFO L290 TraceCheckUtils]: 8: Hoare triple {29591#true} assume !(0 == ~cond); {29591#true} is VALID [2022-04-15 06:58:37,708 INFO L290 TraceCheckUtils]: 9: Hoare triple {29591#true} assume true; {29591#true} is VALID [2022-04-15 06:58:37,708 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29591#true} {29596#(<= 20 ~SIZE~0)} #86#return; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:37,708 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-15 06:58:37,709 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-15 06:58:37,709 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-15 06:58:37,710 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-15 06:58:37,710 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-15 06:58:37,711 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-15 06:58:37,711 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-15 06:58:37,712 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-15 06:58:37,712 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-15 06:58:37,713 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-15 06:58:37,714 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-15 06:58:37,715 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-15 06:58:37,715 INFO L290 TraceCheckUtils]: 23: Hoare triple {29608#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {29592#false} is VALID [2022-04-15 06:58:37,715 INFO L290 TraceCheckUtils]: 24: Hoare triple {29592#false} assume !false; {29592#false} is VALID [2022-04-15 06:58:37,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-15 06:58:37,715 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:58:37,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [727503788] [2022-04-15 06:58:37,715 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [727503788] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:58:37,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1990528535] [2022-04-15 06:58:37,715 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:58:37,716 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:58:37,716 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:58:37,716 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-15 06:58:37,717 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-15 06:58:37,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:37,754 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:58:37,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:37,761 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:58:37,968 INFO L272 TraceCheckUtils]: 0: Hoare triple {29591#true} call ULTIMATE.init(); {29591#true} is VALID [2022-04-15 06:58:37,969 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-15 06:58:37,969 INFO L290 TraceCheckUtils]: 2: Hoare triple {29596#(<= 20 ~SIZE~0)} assume true; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:37,970 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29596#(<= 20 ~SIZE~0)} {29591#true} #90#return; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:37,970 INFO L272 TraceCheckUtils]: 4: Hoare triple {29596#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:37,970 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-15 06:58:37,971 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-15 06:58:37,971 INFO L290 TraceCheckUtils]: 7: Hoare triple {29596#(<= 20 ~SIZE~0)} ~cond := #in~cond; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:37,971 INFO L290 TraceCheckUtils]: 8: Hoare triple {29596#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:37,972 INFO L290 TraceCheckUtils]: 9: Hoare triple {29596#(<= 20 ~SIZE~0)} assume true; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:37,972 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29596#(<= 20 ~SIZE~0)} {29596#(<= 20 ~SIZE~0)} #86#return; {29596#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:37,972 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-15 06:58:37,973 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-15 06:58:37,973 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-15 06:58:37,974 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-15 06:58:37,974 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-15 06:58:37,975 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-15 06:58:37,975 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-15 06:58:37,976 INFO L290 TraceCheckUtils]: 18: Hoare triple {29592#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {29592#false} is VALID [2022-04-15 06:58:37,976 INFO L290 TraceCheckUtils]: 19: Hoare triple {29592#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {29592#false} is VALID [2022-04-15 06:58:37,976 INFO L290 TraceCheckUtils]: 20: Hoare triple {29592#false} assume !(~d~0 == ~SIZE~0); {29592#false} is VALID [2022-04-15 06:58:37,976 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-15 06:58:37,976 INFO L290 TraceCheckUtils]: 22: Hoare triple {29592#false} ~cond := #in~cond; {29592#false} is VALID [2022-04-15 06:58:37,976 INFO L290 TraceCheckUtils]: 23: Hoare triple {29592#false} assume 0 == ~cond; {29592#false} is VALID [2022-04-15 06:58:37,976 INFO L290 TraceCheckUtils]: 24: Hoare triple {29592#false} assume !false; {29592#false} is VALID [2022-04-15 06:58:37,976 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-15 06:58:37,976 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:58:38,247 INFO L290 TraceCheckUtils]: 24: Hoare triple {29592#false} assume !false; {29592#false} is VALID [2022-04-15 06:58:38,247 INFO L290 TraceCheckUtils]: 23: Hoare triple {29592#false} assume 0 == ~cond; {29592#false} is VALID [2022-04-15 06:58:38,247 INFO L290 TraceCheckUtils]: 22: Hoare triple {29592#false} ~cond := #in~cond; {29592#false} is VALID [2022-04-15 06:58:38,247 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-15 06:58:38,248 INFO L290 TraceCheckUtils]: 20: Hoare triple {29592#false} assume !(~d~0 == ~SIZE~0); {29592#false} is VALID [2022-04-15 06:58:38,248 INFO L290 TraceCheckUtils]: 19: Hoare triple {29592#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {29592#false} is VALID [2022-04-15 06:58:38,248 INFO L290 TraceCheckUtils]: 18: Hoare triple {29592#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {29592#false} is VALID [2022-04-15 06:58:38,248 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-15 06:58:38,249 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-15 06:58:38,249 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-15 06:58:38,249 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-15 06:58:38,250 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-15 06:58:38,251 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-15 06:58:38,251 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-15 06:58:38,251 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29591#true} {29727#(< 1 ~SIZE~0)} #86#return; {29727#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:38,251 INFO L290 TraceCheckUtils]: 9: Hoare triple {29591#true} assume true; {29591#true} is VALID [2022-04-15 06:58:38,251 INFO L290 TraceCheckUtils]: 8: Hoare triple {29591#true} assume !(0 == ~cond); {29591#true} is VALID [2022-04-15 06:58:38,252 INFO L290 TraceCheckUtils]: 7: Hoare triple {29591#true} ~cond := #in~cond; {29591#true} is VALID [2022-04-15 06:58:38,252 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-15 06:58:38,252 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-15 06:58:38,252 INFO L272 TraceCheckUtils]: 4: Hoare triple {29727#(< 1 ~SIZE~0)} call #t~ret7 := main(); {29727#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:38,253 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29727#(< 1 ~SIZE~0)} {29591#true} #90#return; {29727#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:38,253 INFO L290 TraceCheckUtils]: 2: Hoare triple {29727#(< 1 ~SIZE~0)} assume true; {29727#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:38,253 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-15 06:58:38,253 INFO L272 TraceCheckUtils]: 0: Hoare triple {29591#true} call ULTIMATE.init(); {29591#true} is VALID [2022-04-15 06:58:38,254 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-15 06:58:38,254 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1990528535] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:58:38,254 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:58:38,254 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:58:39,012 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:58:39,012 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2031117128] [2022-04-15 06:58:39,012 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2031117128] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:58:39,012 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:58:39,013 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-15 06:58:39,013 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1411512436] [2022-04-15 06:58:39,013 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:58:39,013 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-15 06:58:39,013 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:58:39,013 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-15 06:58:39,048 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-15 06:58:39,048 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-15 06:58:39,048 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:58:39,048 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-15 06:58:39,049 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=161, Invalid=769, Unknown=0, NotChecked=0, Total=930 [2022-04-15 06:58:39,049 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-15 06:58:41,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:41,092 INFO L93 Difference]: Finished difference Result 278 states and 341 transitions. [2022-04-15 06:58:41,092 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-15 06:58:41,092 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-15 06:58:41,092 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:58:41,092 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-15 06:58:41,093 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 91 transitions. [2022-04-15 06:58:41,093 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-15 06:58:41,093 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 91 transitions. [2022-04-15 06:58:41,093 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 91 transitions. [2022-04-15 06:58:41,150 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-15 06:58:41,152 INFO L225 Difference]: With dead ends: 278 [2022-04-15 06:58:41,152 INFO L226 Difference]: Without dead ends: 191 [2022-04-15 06:58:41,153 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 48 SyntacticMatches, 13 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 428 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=173, Invalid=883, Unknown=0, NotChecked=0, Total=1056 [2022-04-15 06:58:41,153 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 50 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 961 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-15 06:58:41,153 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [51 Valid, 71 Invalid, 972 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 961 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 06:58:41,153 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 191 states. [2022-04-15 06:58:41,588 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 191 to 166. [2022-04-15 06:58:41,589 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:58:41,589 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-15 06:58:41,589 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-15 06:58:41,603 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-15 06:58:41,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:41,605 INFO L93 Difference]: Finished difference Result 191 states and 229 transitions. [2022-04-15 06:58:41,605 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 229 transitions. [2022-04-15 06:58:41,605 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:58:41,605 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:58:41,606 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-15 06:58:41,606 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-15 06:58:41,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:41,608 INFO L93 Difference]: Finished difference Result 191 states and 229 transitions. [2022-04-15 06:58:41,608 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 229 transitions. [2022-04-15 06:58:41,608 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:58:41,608 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:58:41,608 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:58:41,608 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:58:41,608 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-15 06:58:41,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 202 transitions. [2022-04-15 06:58:41,610 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 202 transitions. Word has length 46 [2022-04-15 06:58:41,610 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:58:41,610 INFO L478 AbstractCegarLoop]: Abstraction has 166 states and 202 transitions. [2022-04-15 06:58:41,610 INFO L479 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-15 06:58:41,610 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 166 states and 202 transitions. [2022-04-15 06:58:41,931 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-15 06:58:41,932 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 202 transitions. [2022-04-15 06:58:41,932 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 06:58:41,932 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:58:41,932 INFO L499 BasicCegarLoop]: 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-15 06:58:41,948 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-15 06:58:42,132 WARN L460 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-15 06:58:42,133 INFO L403 AbstractCegarLoop]: === Iteration 33 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:58:42,133 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:58:42,133 INFO L85 PathProgramCache]: Analyzing trace with hash -1339441570, now seen corresponding path program 23 times [2022-04-15 06:58:42,133 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:58:42,133 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1557843153] [2022-04-15 06:58:42,368 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-15 06:58:45,074 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:58:45,175 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-15 06:58:45,177 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:58:45,180 INFO L85 PathProgramCache]: Analyzing trace with hash 1136316481, now seen corresponding path program 1 times [2022-04-15 06:58:45,180 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:58:45,180 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1828999050] [2022-04-15 06:58:45,180 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:58:45,180 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:58:45,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:45,388 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:58:45,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:45,393 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-15 06:58:45,393 INFO L290 TraceCheckUtils]: 1: Hoare triple {31058#(<= 20 ~SIZE~0)} assume true; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:45,393 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {31058#(<= 20 ~SIZE~0)} {31053#true} #90#return; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:45,393 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:58:45,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:45,395 INFO L290 TraceCheckUtils]: 0: Hoare triple {31053#true} ~cond := #in~cond; {31053#true} is VALID [2022-04-15 06:58:45,396 INFO L290 TraceCheckUtils]: 1: Hoare triple {31053#true} assume !(0 == ~cond); {31053#true} is VALID [2022-04-15 06:58:45,396 INFO L290 TraceCheckUtils]: 2: Hoare triple {31053#true} assume true; {31053#true} is VALID [2022-04-15 06:58:45,396 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31053#true} {31058#(<= 20 ~SIZE~0)} #86#return; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:45,396 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-15 06:58:45,397 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-15 06:58:45,397 INFO L290 TraceCheckUtils]: 2: Hoare triple {31058#(<= 20 ~SIZE~0)} assume true; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:45,397 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31058#(<= 20 ~SIZE~0)} {31053#true} #90#return; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:45,398 INFO L272 TraceCheckUtils]: 4: Hoare triple {31058#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:45,398 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-15 06:58:45,398 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-15 06:58:45,398 INFO L290 TraceCheckUtils]: 7: Hoare triple {31053#true} ~cond := #in~cond; {31053#true} is VALID [2022-04-15 06:58:45,398 INFO L290 TraceCheckUtils]: 8: Hoare triple {31053#true} assume !(0 == ~cond); {31053#true} is VALID [2022-04-15 06:58:45,398 INFO L290 TraceCheckUtils]: 9: Hoare triple {31053#true} assume true; {31053#true} is VALID [2022-04-15 06:58:45,398 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31053#true} {31058#(<= 20 ~SIZE~0)} #86#return; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:45,399 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-15 06:58:45,399 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-15 06:58:45,400 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-15 06:58:45,400 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-15 06:58:45,401 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-15 06:58:45,401 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-15 06:58:45,402 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-15 06:58:45,402 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-15 06:58:45,403 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-15 06:58:45,403 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-15 06:58:45,404 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-15 06:58:45,404 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-15 06:58:45,405 INFO L290 TraceCheckUtils]: 23: Hoare triple {31070#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {31054#false} is VALID [2022-04-15 06:58:45,405 INFO L290 TraceCheckUtils]: 24: Hoare triple {31054#false} assume !false; {31054#false} is VALID [2022-04-15 06:58:45,405 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-15 06:58:45,405 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:58:45,405 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1828999050] [2022-04-15 06:58:45,406 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1828999050] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:58:45,406 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1026923768] [2022-04-15 06:58:45,406 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:58:45,406 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:58:45,406 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:58:45,407 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-15 06:58:45,408 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-15 06:58:45,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:45,444 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:58:45,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:45,448 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:58:45,593 INFO L272 TraceCheckUtils]: 0: Hoare triple {31053#true} call ULTIMATE.init(); {31053#true} is VALID [2022-04-15 06:58:45,594 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-15 06:58:45,594 INFO L290 TraceCheckUtils]: 2: Hoare triple {31058#(<= 20 ~SIZE~0)} assume true; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:45,594 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31058#(<= 20 ~SIZE~0)} {31053#true} #90#return; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:45,595 INFO L272 TraceCheckUtils]: 4: Hoare triple {31058#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:45,595 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-15 06:58:45,595 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-15 06:58:45,595 INFO L290 TraceCheckUtils]: 7: Hoare triple {31058#(<= 20 ~SIZE~0)} ~cond := #in~cond; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:45,595 INFO L290 TraceCheckUtils]: 8: Hoare triple {31058#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:45,596 INFO L290 TraceCheckUtils]: 9: Hoare triple {31058#(<= 20 ~SIZE~0)} assume true; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:45,596 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31058#(<= 20 ~SIZE~0)} {31058#(<= 20 ~SIZE~0)} #86#return; {31058#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:45,596 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-15 06:58:45,596 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-15 06:58:45,597 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-15 06:58:45,597 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-15 06:58:45,598 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-15 06:58:45,598 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-15 06:58:45,599 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-15 06:58:45,599 INFO L290 TraceCheckUtils]: 18: Hoare triple {31054#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {31054#false} is VALID [2022-04-15 06:58:45,599 INFO L290 TraceCheckUtils]: 19: Hoare triple {31054#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {31054#false} is VALID [2022-04-15 06:58:45,599 INFO L290 TraceCheckUtils]: 20: Hoare triple {31054#false} assume !(~d~0 == ~SIZE~0); {31054#false} is VALID [2022-04-15 06:58:45,599 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-15 06:58:45,599 INFO L290 TraceCheckUtils]: 22: Hoare triple {31054#false} ~cond := #in~cond; {31054#false} is VALID [2022-04-15 06:58:45,599 INFO L290 TraceCheckUtils]: 23: Hoare triple {31054#false} assume 0 == ~cond; {31054#false} is VALID [2022-04-15 06:58:45,599 INFO L290 TraceCheckUtils]: 24: Hoare triple {31054#false} assume !false; {31054#false} is VALID [2022-04-15 06:58:45,599 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-15 06:58:45,599 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:58:45,774 INFO L290 TraceCheckUtils]: 24: Hoare triple {31054#false} assume !false; {31054#false} is VALID [2022-04-15 06:58:45,775 INFO L290 TraceCheckUtils]: 23: Hoare triple {31054#false} assume 0 == ~cond; {31054#false} is VALID [2022-04-15 06:58:45,775 INFO L290 TraceCheckUtils]: 22: Hoare triple {31054#false} ~cond := #in~cond; {31054#false} is VALID [2022-04-15 06:58:45,775 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-15 06:58:45,775 INFO L290 TraceCheckUtils]: 20: Hoare triple {31054#false} assume !(~d~0 == ~SIZE~0); {31054#false} is VALID [2022-04-15 06:58:45,775 INFO L290 TraceCheckUtils]: 19: Hoare triple {31054#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {31054#false} is VALID [2022-04-15 06:58:45,775 INFO L290 TraceCheckUtils]: 18: Hoare triple {31054#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {31054#false} is VALID [2022-04-15 06:58:45,775 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-15 06:58:45,776 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-15 06:58:45,776 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-15 06:58:45,776 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-15 06:58:45,777 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-15 06:58:45,777 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-15 06:58:45,777 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-15 06:58:45,778 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31053#true} {31189#(< 1 ~SIZE~0)} #86#return; {31189#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:45,778 INFO L290 TraceCheckUtils]: 9: Hoare triple {31053#true} assume true; {31053#true} is VALID [2022-04-15 06:58:45,778 INFO L290 TraceCheckUtils]: 8: Hoare triple {31053#true} assume !(0 == ~cond); {31053#true} is VALID [2022-04-15 06:58:45,778 INFO L290 TraceCheckUtils]: 7: Hoare triple {31053#true} ~cond := #in~cond; {31053#true} is VALID [2022-04-15 06:58:45,778 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-15 06:58:45,778 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-15 06:58:45,778 INFO L272 TraceCheckUtils]: 4: Hoare triple {31189#(< 1 ~SIZE~0)} call #t~ret7 := main(); {31189#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:45,779 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31189#(< 1 ~SIZE~0)} {31053#true} #90#return; {31189#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:45,779 INFO L290 TraceCheckUtils]: 2: Hoare triple {31189#(< 1 ~SIZE~0)} assume true; {31189#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:45,779 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-15 06:58:45,779 INFO L272 TraceCheckUtils]: 0: Hoare triple {31053#true} call ULTIMATE.init(); {31053#true} is VALID [2022-04-15 06:58:45,779 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-15 06:58:45,780 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1026923768] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:58:45,780 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:58:45,780 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:58:46,339 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:58:46,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1557843153] [2022-04-15 06:58:46,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1557843153] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:58:46,340 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:58:46,340 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-15 06:58:46,340 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1779419845] [2022-04-15 06:58:46,340 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:58:46,340 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-15 06:58:46,340 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:58:46,341 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-15 06:58:46,385 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-15 06:58:46,385 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-15 06:58:46,385 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:58:46,385 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-15 06:58:46,385 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=175, Invalid=817, Unknown=0, NotChecked=0, Total=992 [2022-04-15 06:58:46,386 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-15 06:58:48,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:48,003 INFO L93 Difference]: Finished difference Result 281 states and 344 transitions. [2022-04-15 06:58:48,003 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-15 06:58:48,003 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-15 06:58:48,003 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:58:48,003 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-15 06:58:48,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 92 transitions. [2022-04-15 06:58:48,004 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-15 06:58:48,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 92 transitions. [2022-04-15 06:58:48,004 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 92 transitions. [2022-04-15 06:58:48,072 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-15 06:58:48,075 INFO L225 Difference]: With dead ends: 281 [2022-04-15 06:58:48,075 INFO L226 Difference]: Without dead ends: 194 [2022-04-15 06:58:48,075 INFO L912 BasicCegarLoop]: 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-15 06:58:48,076 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 47 mSDsluCounter, 38 mSDsCounter, 0 mSdLazyCounter, 797 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-15 06:58:48,076 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [48 Valid, 58 Invalid, 807 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 797 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 06:58:48,076 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 194 states. [2022-04-15 06:58:48,552 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 194 to 166. [2022-04-15 06:58:48,553 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:58:48,553 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-15 06:58:48,553 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-15 06:58:48,553 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-15 06:58:48,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:48,555 INFO L93 Difference]: Finished difference Result 194 states and 232 transitions. [2022-04-15 06:58:48,555 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 232 transitions. [2022-04-15 06:58:48,556 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:58:48,556 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:58:48,556 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-15 06:58:48,556 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-15 06:58:48,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:48,558 INFO L93 Difference]: Finished difference Result 194 states and 232 transitions. [2022-04-15 06:58:48,558 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 232 transitions. [2022-04-15 06:58:48,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:58:48,558 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:58:48,558 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:58:48,559 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:58:48,559 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-15 06:58:48,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 202 transitions. [2022-04-15 06:58:48,565 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 202 transitions. Word has length 46 [2022-04-15 06:58:48,565 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:58:48,565 INFO L478 AbstractCegarLoop]: Abstraction has 166 states and 202 transitions. [2022-04-15 06:58:48,566 INFO L479 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-15 06:58:48,566 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 166 states and 202 transitions. [2022-04-15 06:58:48,939 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-15 06:58:48,939 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 202 transitions. [2022-04-15 06:58:48,940 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 06:58:48,940 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:58:48,940 INFO L499 BasicCegarLoop]: 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-15 06:58:48,956 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Ended with exit code 0 [2022-04-15 06:58:49,140 WARN L460 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-15 06:58:49,140 INFO L403 AbstractCegarLoop]: === Iteration 34 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:58:49,141 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:58:49,141 INFO L85 PathProgramCache]: Analyzing trace with hash -1277401956, now seen corresponding path program 24 times [2022-04-15 06:58:49,141 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:58:49,141 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1885921586] [2022-04-15 06:58:49,389 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-15 06:58:49,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-15 06:58:49,621 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:58:49,624 INFO L85 PathProgramCache]: Analyzing trace with hash -666128063, now seen corresponding path program 1 times [2022-04-15 06:58:49,624 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:58:49,624 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [561071592] [2022-04-15 06:58:49,624 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:58:49,624 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:58:49,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:49,766 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:58:49,780 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:49,792 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-15 06:58:49,792 INFO L290 TraceCheckUtils]: 1: Hoare triple {32533#(<= 20 ~SIZE~0)} assume true; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:49,792 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {32533#(<= 20 ~SIZE~0)} {32528#true} #90#return; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:49,792 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:58:49,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:49,795 INFO L290 TraceCheckUtils]: 0: Hoare triple {32528#true} ~cond := #in~cond; {32528#true} is VALID [2022-04-15 06:58:49,795 INFO L290 TraceCheckUtils]: 1: Hoare triple {32528#true} assume !(0 == ~cond); {32528#true} is VALID [2022-04-15 06:58:49,795 INFO L290 TraceCheckUtils]: 2: Hoare triple {32528#true} assume true; {32528#true} is VALID [2022-04-15 06:58:49,795 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32528#true} {32533#(<= 20 ~SIZE~0)} #86#return; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:49,796 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-15 06:58:49,796 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-15 06:58:49,797 INFO L290 TraceCheckUtils]: 2: Hoare triple {32533#(<= 20 ~SIZE~0)} assume true; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:49,797 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32533#(<= 20 ~SIZE~0)} {32528#true} #90#return; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:49,797 INFO L272 TraceCheckUtils]: 4: Hoare triple {32533#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:49,797 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-15 06:58:49,797 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-15 06:58:49,797 INFO L290 TraceCheckUtils]: 7: Hoare triple {32528#true} ~cond := #in~cond; {32528#true} is VALID [2022-04-15 06:58:49,797 INFO L290 TraceCheckUtils]: 8: Hoare triple {32528#true} assume !(0 == ~cond); {32528#true} is VALID [2022-04-15 06:58:49,797 INFO L290 TraceCheckUtils]: 9: Hoare triple {32528#true} assume true; {32528#true} is VALID [2022-04-15 06:58:49,798 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32528#true} {32533#(<= 20 ~SIZE~0)} #86#return; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:49,798 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-15 06:58:49,798 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-15 06:58:49,799 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-15 06:58:49,799 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-15 06:58:49,800 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-15 06:58:49,800 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-15 06:58:49,801 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-15 06:58:49,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-15 06:58:49,802 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-15 06:58:49,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-15 06:58:49,803 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-15 06:58:49,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-15 06:58:49,803 INFO L290 TraceCheckUtils]: 23: Hoare triple {32545#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {32529#false} is VALID [2022-04-15 06:58:49,803 INFO L290 TraceCheckUtils]: 24: Hoare triple {32529#false} assume !false; {32529#false} is VALID [2022-04-15 06:58:49,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-15 06:58:49,803 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:58:49,804 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [561071592] [2022-04-15 06:58:49,804 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [561071592] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:58:49,804 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [452755875] [2022-04-15 06:58:49,804 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:58:49,804 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:58:49,804 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:58:49,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-15 06:58:49,815 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-15 06:58:49,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:49,841 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:58:49,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:58:49,846 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:58:50,050 INFO L272 TraceCheckUtils]: 0: Hoare triple {32528#true} call ULTIMATE.init(); {32528#true} is VALID [2022-04-15 06:58:50,051 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-15 06:58:50,052 INFO L290 TraceCheckUtils]: 2: Hoare triple {32533#(<= 20 ~SIZE~0)} assume true; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:50,052 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32533#(<= 20 ~SIZE~0)} {32528#true} #90#return; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:50,052 INFO L272 TraceCheckUtils]: 4: Hoare triple {32533#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:50,053 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-15 06:58:50,053 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-15 06:58:50,053 INFO L290 TraceCheckUtils]: 7: Hoare triple {32533#(<= 20 ~SIZE~0)} ~cond := #in~cond; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:50,054 INFO L290 TraceCheckUtils]: 8: Hoare triple {32533#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:50,054 INFO L290 TraceCheckUtils]: 9: Hoare triple {32533#(<= 20 ~SIZE~0)} assume true; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:50,054 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32533#(<= 20 ~SIZE~0)} {32533#(<= 20 ~SIZE~0)} #86#return; {32533#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:58:50,055 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-15 06:58:50,055 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-15 06:58:50,056 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-15 06:58:50,056 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-15 06:58:50,057 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-15 06:58:50,057 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-15 06:58:50,058 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-15 06:58:50,058 INFO L290 TraceCheckUtils]: 18: Hoare triple {32529#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {32529#false} is VALID [2022-04-15 06:58:50,058 INFO L290 TraceCheckUtils]: 19: Hoare triple {32529#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {32529#false} is VALID [2022-04-15 06:58:50,058 INFO L290 TraceCheckUtils]: 20: Hoare triple {32529#false} assume !(~d~0 == ~SIZE~0); {32529#false} is VALID [2022-04-15 06:58:50,058 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-15 06:58:50,058 INFO L290 TraceCheckUtils]: 22: Hoare triple {32529#false} ~cond := #in~cond; {32529#false} is VALID [2022-04-15 06:58:50,058 INFO L290 TraceCheckUtils]: 23: Hoare triple {32529#false} assume 0 == ~cond; {32529#false} is VALID [2022-04-15 06:58:50,058 INFO L290 TraceCheckUtils]: 24: Hoare triple {32529#false} assume !false; {32529#false} is VALID [2022-04-15 06:58:50,058 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-15 06:58:50,058 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:58:50,318 INFO L290 TraceCheckUtils]: 24: Hoare triple {32529#false} assume !false; {32529#false} is VALID [2022-04-15 06:58:50,318 INFO L290 TraceCheckUtils]: 23: Hoare triple {32529#false} assume 0 == ~cond; {32529#false} is VALID [2022-04-15 06:58:50,318 INFO L290 TraceCheckUtils]: 22: Hoare triple {32529#false} ~cond := #in~cond; {32529#false} is VALID [2022-04-15 06:58:50,318 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-15 06:58:50,318 INFO L290 TraceCheckUtils]: 20: Hoare triple {32529#false} assume !(~d~0 == ~SIZE~0); {32529#false} is VALID [2022-04-15 06:58:50,318 INFO L290 TraceCheckUtils]: 19: Hoare triple {32529#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {32529#false} is VALID [2022-04-15 06:58:50,319 INFO L290 TraceCheckUtils]: 18: Hoare triple {32529#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {32529#false} is VALID [2022-04-15 06:58:50,319 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-15 06:58:50,319 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-15 06:58:50,320 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-15 06:58:50,320 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-15 06:58:50,321 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-15 06:58:50,321 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-15 06:58:50,322 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-15 06:58:50,322 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32528#true} {32664#(< 1 ~SIZE~0)} #86#return; {32664#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:50,322 INFO L290 TraceCheckUtils]: 9: Hoare triple {32528#true} assume true; {32528#true} is VALID [2022-04-15 06:58:50,322 INFO L290 TraceCheckUtils]: 8: Hoare triple {32528#true} assume !(0 == ~cond); {32528#true} is VALID [2022-04-15 06:58:50,322 INFO L290 TraceCheckUtils]: 7: Hoare triple {32528#true} ~cond := #in~cond; {32528#true} is VALID [2022-04-15 06:58:50,322 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-15 06:58:50,323 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-15 06:58:50,323 INFO L272 TraceCheckUtils]: 4: Hoare triple {32664#(< 1 ~SIZE~0)} call #t~ret7 := main(); {32664#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:50,323 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32664#(< 1 ~SIZE~0)} {32528#true} #90#return; {32664#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:50,324 INFO L290 TraceCheckUtils]: 2: Hoare triple {32664#(< 1 ~SIZE~0)} assume true; {32664#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:58:50,324 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-15 06:58:50,324 INFO L272 TraceCheckUtils]: 0: Hoare triple {32528#true} call ULTIMATE.init(); {32528#true} is VALID [2022-04-15 06:58:50,324 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-15 06:58:50,325 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [452755875] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:58:50,325 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:58:50,325 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:58:51,068 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:58:51,068 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1885921586] [2022-04-15 06:58:51,068 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1885921586] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:58:51,068 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:58:51,068 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [24] imperfect sequences [] total 24 [2022-04-15 06:58:51,068 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2002042619] [2022-04-15 06:58:51,068 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:58:51,068 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-15 06:58:51,068 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:58:51,069 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-15 06:58:51,103 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-15 06:58:51,103 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-15 06:58:51,103 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:58:51,104 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-15 06:58:51,104 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=189, Invalid=867, Unknown=0, NotChecked=0, Total=1056 [2022-04-15 06:58:51,104 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-15 06:58:53,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:53,010 INFO L93 Difference]: Finished difference Result 278 states and 341 transitions. [2022-04-15 06:58:53,010 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-15 06:58:53,011 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-15 06:58:53,011 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:58:53,011 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-15 06:58:53,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 93 transitions. [2022-04-15 06:58:53,012 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-15 06:58:53,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 93 transitions. [2022-04-15 06:58:53,012 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 93 transitions. [2022-04-15 06:58:53,069 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-15 06:58:53,072 INFO L225 Difference]: With dead ends: 278 [2022-04-15 06:58:53,072 INFO L226 Difference]: Without dead ends: 191 [2022-04-15 06:58:53,072 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 48 SyntacticMatches, 11 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 489 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=201, Invalid=989, Unknown=0, NotChecked=0, Total=1190 [2022-04-15 06:58:53,073 INFO L913 BasicCegarLoop]: 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-15 06:58:53,073 INFO L914 BasicCegarLoop]: 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-15 06:58:53,073 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 191 states. [2022-04-15 06:58:53,383 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 191 to 166. [2022-04-15 06:58:53,383 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:58:53,384 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-15 06:58:53,384 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-15 06:58:53,384 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-15 06:58:53,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:53,386 INFO L93 Difference]: Finished difference Result 191 states and 229 transitions. [2022-04-15 06:58:53,386 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 229 transitions. [2022-04-15 06:58:53,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:58:53,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:58:53,386 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-15 06:58:53,387 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-15 06:58:53,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:58:53,388 INFO L93 Difference]: Finished difference Result 191 states and 229 transitions. [2022-04-15 06:58:53,388 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 229 transitions. [2022-04-15 06:58:53,389 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:58:53,389 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:58:53,389 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:58:53,389 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:58:53,389 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-15 06:58:53,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 202 transitions. [2022-04-15 06:58:53,391 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 202 transitions. Word has length 46 [2022-04-15 06:58:53,391 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:58:53,391 INFO L478 AbstractCegarLoop]: Abstraction has 166 states and 202 transitions. [2022-04-15 06:58:53,391 INFO L479 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-15 06:58:53,391 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 166 states and 202 transitions. [2022-04-15 06:58:53,788 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-15 06:58:53,788 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 202 transitions. [2022-04-15 06:58:53,788 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 06:58:53,788 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:58:53,788 INFO L499 BasicCegarLoop]: 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-15 06:58:53,807 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-15 06:58:53,989 WARN L460 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-15 06:58:53,989 INFO L403 AbstractCegarLoop]: === Iteration 35 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:58:53,989 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:58:53,990 INFO L85 PathProgramCache]: Analyzing trace with hash 1212127006, now seen corresponding path program 25 times [2022-04-15 06:58:53,990 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:58:53,990 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1307604516] [2022-04-15 06:58:58,125 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:58:58,234 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-15 06:59:01,229 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-15 06:59:01,230 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:59:01,233 INFO L85 PathProgramCache]: Analyzing trace with hash 1826394689, now seen corresponding path program 1 times [2022-04-15 06:59:01,233 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:59:01,234 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [878571446] [2022-04-15 06:59:01,234 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:59:01,234 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:59:01,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:01,392 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:59:01,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:01,397 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-15 06:59:01,397 INFO L290 TraceCheckUtils]: 1: Hoare triple {33997#(<= 20 ~SIZE~0)} assume true; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:01,398 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33997#(<= 20 ~SIZE~0)} {33992#true} #90#return; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:01,398 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:59:01,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:01,400 INFO L290 TraceCheckUtils]: 0: Hoare triple {33992#true} ~cond := #in~cond; {33992#true} is VALID [2022-04-15 06:59:01,400 INFO L290 TraceCheckUtils]: 1: Hoare triple {33992#true} assume !(0 == ~cond); {33992#true} is VALID [2022-04-15 06:59:01,400 INFO L290 TraceCheckUtils]: 2: Hoare triple {33992#true} assume true; {33992#true} is VALID [2022-04-15 06:59:01,400 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33992#true} {33997#(<= 20 ~SIZE~0)} #86#return; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:01,401 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-15 06:59:01,401 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-15 06:59:01,402 INFO L290 TraceCheckUtils]: 2: Hoare triple {33997#(<= 20 ~SIZE~0)} assume true; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:01,402 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33997#(<= 20 ~SIZE~0)} {33992#true} #90#return; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:01,402 INFO L272 TraceCheckUtils]: 4: Hoare triple {33997#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:01,402 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-15 06:59:01,403 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-15 06:59:01,403 INFO L290 TraceCheckUtils]: 7: Hoare triple {33992#true} ~cond := #in~cond; {33992#true} is VALID [2022-04-15 06:59:01,403 INFO L290 TraceCheckUtils]: 8: Hoare triple {33992#true} assume !(0 == ~cond); {33992#true} is VALID [2022-04-15 06:59:01,403 INFO L290 TraceCheckUtils]: 9: Hoare triple {33992#true} assume true; {33992#true} is VALID [2022-04-15 06:59:01,403 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33992#true} {33997#(<= 20 ~SIZE~0)} #86#return; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:01,404 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-15 06:59:01,404 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-15 06:59:01,405 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-15 06:59:01,405 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-15 06:59:01,406 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-15 06:59:01,406 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-15 06:59:01,407 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-15 06:59:01,407 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-15 06:59:01,408 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-15 06:59:01,408 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-15 06:59:01,409 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-15 06:59:01,410 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-15 06:59:01,410 INFO L290 TraceCheckUtils]: 23: Hoare triple {34009#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {33993#false} is VALID [2022-04-15 06:59:01,410 INFO L290 TraceCheckUtils]: 24: Hoare triple {33993#false} assume !false; {33993#false} is VALID [2022-04-15 06:59:01,410 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-15 06:59:01,410 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:59:01,410 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [878571446] [2022-04-15 06:59:01,410 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [878571446] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:59:01,410 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2033504930] [2022-04-15 06:59:01,410 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:59:01,411 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:59:01,411 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:59:01,412 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-15 06:59:01,413 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-15 06:59:01,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:01,442 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:59:01,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:01,450 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:59:01,702 INFO L272 TraceCheckUtils]: 0: Hoare triple {33992#true} call ULTIMATE.init(); {33992#true} is VALID [2022-04-15 06:59:01,703 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-15 06:59:01,703 INFO L290 TraceCheckUtils]: 2: Hoare triple {33997#(<= 20 ~SIZE~0)} assume true; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:01,703 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33997#(<= 20 ~SIZE~0)} {33992#true} #90#return; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:01,704 INFO L272 TraceCheckUtils]: 4: Hoare triple {33997#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:01,704 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-15 06:59:01,704 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-15 06:59:01,705 INFO L290 TraceCheckUtils]: 7: Hoare triple {33997#(<= 20 ~SIZE~0)} ~cond := #in~cond; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:01,705 INFO L290 TraceCheckUtils]: 8: Hoare triple {33997#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:01,705 INFO L290 TraceCheckUtils]: 9: Hoare triple {33997#(<= 20 ~SIZE~0)} assume true; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:01,706 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33997#(<= 20 ~SIZE~0)} {33997#(<= 20 ~SIZE~0)} #86#return; {33997#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:01,706 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-15 06:59:01,706 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-15 06:59:01,707 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-15 06:59:01,708 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-15 06:59:01,708 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-15 06:59:01,709 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-15 06:59:01,709 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-15 06:59:01,709 INFO L290 TraceCheckUtils]: 18: Hoare triple {33993#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {33993#false} is VALID [2022-04-15 06:59:01,709 INFO L290 TraceCheckUtils]: 19: Hoare triple {33993#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {33993#false} is VALID [2022-04-15 06:59:01,709 INFO L290 TraceCheckUtils]: 20: Hoare triple {33993#false} assume !(~d~0 == ~SIZE~0); {33993#false} is VALID [2022-04-15 06:59:01,710 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-15 06:59:01,710 INFO L290 TraceCheckUtils]: 22: Hoare triple {33993#false} ~cond := #in~cond; {33993#false} is VALID [2022-04-15 06:59:01,710 INFO L290 TraceCheckUtils]: 23: Hoare triple {33993#false} assume 0 == ~cond; {33993#false} is VALID [2022-04-15 06:59:01,710 INFO L290 TraceCheckUtils]: 24: Hoare triple {33993#false} assume !false; {33993#false} is VALID [2022-04-15 06:59:01,710 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-15 06:59:01,710 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:59:01,933 INFO L290 TraceCheckUtils]: 24: Hoare triple {33993#false} assume !false; {33993#false} is VALID [2022-04-15 06:59:01,933 INFO L290 TraceCheckUtils]: 23: Hoare triple {33993#false} assume 0 == ~cond; {33993#false} is VALID [2022-04-15 06:59:01,933 INFO L290 TraceCheckUtils]: 22: Hoare triple {33993#false} ~cond := #in~cond; {33993#false} is VALID [2022-04-15 06:59:01,933 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-15 06:59:01,933 INFO L290 TraceCheckUtils]: 20: Hoare triple {33993#false} assume !(~d~0 == ~SIZE~0); {33993#false} is VALID [2022-04-15 06:59:01,934 INFO L290 TraceCheckUtils]: 19: Hoare triple {33993#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {33993#false} is VALID [2022-04-15 06:59:01,934 INFO L290 TraceCheckUtils]: 18: Hoare triple {33993#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {33993#false} is VALID [2022-04-15 06:59:01,934 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-15 06:59:01,934 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-15 06:59:01,935 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-15 06:59:01,935 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-15 06:59:01,936 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-15 06:59:01,936 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-15 06:59:01,936 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-15 06:59:01,936 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33992#true} {34128#(< 1 ~SIZE~0)} #86#return; {34128#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:01,937 INFO L290 TraceCheckUtils]: 9: Hoare triple {33992#true} assume true; {33992#true} is VALID [2022-04-15 06:59:01,937 INFO L290 TraceCheckUtils]: 8: Hoare triple {33992#true} assume !(0 == ~cond); {33992#true} is VALID [2022-04-15 06:59:01,937 INFO L290 TraceCheckUtils]: 7: Hoare triple {33992#true} ~cond := #in~cond; {33992#true} is VALID [2022-04-15 06:59:01,937 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-15 06:59:01,937 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-15 06:59:01,937 INFO L272 TraceCheckUtils]: 4: Hoare triple {34128#(< 1 ~SIZE~0)} call #t~ret7 := main(); {34128#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:01,937 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34128#(< 1 ~SIZE~0)} {33992#true} #90#return; {34128#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:01,938 INFO L290 TraceCheckUtils]: 2: Hoare triple {34128#(< 1 ~SIZE~0)} assume true; {34128#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:01,938 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-15 06:59:01,938 INFO L272 TraceCheckUtils]: 0: Hoare triple {33992#true} call ULTIMATE.init(); {33992#true} is VALID [2022-04-15 06:59:01,938 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-15 06:59:01,938 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2033504930] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:59:01,938 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:59:01,939 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:59:02,710 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:59:02,711 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1307604516] [2022-04-15 06:59:02,711 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1307604516] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:59:02,711 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:59:02,711 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-15 06:59:02,711 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [806681762] [2022-04-15 06:59:02,711 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:59:02,711 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-15 06:59:02,711 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:59:02,711 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-15 06:59:02,745 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-15 06:59:02,746 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-15 06:59:02,746 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:59:02,746 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-15 06:59:02,746 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=203, Invalid=919, Unknown=0, NotChecked=0, Total=1122 [2022-04-15 06:59:02,746 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-15 06:59:04,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:59:04,669 INFO L93 Difference]: Finished difference Result 275 states and 338 transitions. [2022-04-15 06:59:04,669 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-15 06:59:04,669 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-15 06:59:04,669 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:59:04,669 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-15 06:59:04,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 94 transitions. [2022-04-15 06:59:04,670 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-15 06:59:04,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 94 transitions. [2022-04-15 06:59:04,677 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 94 transitions. [2022-04-15 06:59:04,735 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-15 06:59:04,737 INFO L225 Difference]: With dead ends: 275 [2022-04-15 06:59:04,737 INFO L226 Difference]: Without dead ends: 188 [2022-04-15 06:59:04,737 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 48 SyntacticMatches, 10 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 506 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=215, Invalid=1045, Unknown=0, NotChecked=0, Total=1260 [2022-04-15 06:59:04,738 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 49 mSDsluCounter, 56 mSDsCounter, 0 mSdLazyCounter, 1080 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-15 06:59:04,738 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 76 Invalid, 1090 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1080 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 06:59:04,738 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states. [2022-04-15 06:59:05,094 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 166. [2022-04-15 06:59:05,094 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:59:05,094 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-15 06:59:05,094 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-15 06:59:05,094 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-15 06:59:05,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:59:05,097 INFO L93 Difference]: Finished difference Result 188 states and 226 transitions. [2022-04-15 06:59:05,097 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 226 transitions. [2022-04-15 06:59:05,097 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:59:05,097 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:59:05,097 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-15 06:59:05,097 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-15 06:59:05,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:59:05,099 INFO L93 Difference]: Finished difference Result 188 states and 226 transitions. [2022-04-15 06:59:05,099 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 226 transitions. [2022-04-15 06:59:05,099 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:59:05,099 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:59:05,099 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:59:05,099 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:59:05,100 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-15 06:59:05,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 202 transitions. [2022-04-15 06:59:05,101 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 202 transitions. Word has length 46 [2022-04-15 06:59:05,101 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:59:05,101 INFO L478 AbstractCegarLoop]: Abstraction has 166 states and 202 transitions. [2022-04-15 06:59:05,101 INFO L479 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-15 06:59:05,102 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 166 states and 202 transitions. [2022-04-15 06:59:05,420 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-15 06:59:05,420 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 202 transitions. [2022-04-15 06:59:05,420 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 06:59:05,420 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:59:05,420 INFO L499 BasicCegarLoop]: 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-15 06:59:05,436 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Forceful destruction successful, exit code 0 [2022-04-15 06:59:05,628 WARN L460 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-15 06:59:05,628 INFO L403 AbstractCegarLoop]: === Iteration 36 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:59:05,628 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:59:05,628 INFO L85 PathProgramCache]: Analyzing trace with hash 394478556, now seen corresponding path program 26 times [2022-04-15 06:59:05,628 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:59:05,628 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [266133167] [2022-04-15 06:59:05,887 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-15 06:59:08,501 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:59:08,626 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-15 06:59:08,628 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:59:08,632 INFO L85 PathProgramCache]: Analyzing trace with hash 23950145, now seen corresponding path program 1 times [2022-04-15 06:59:08,632 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:59:08,632 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [648375167] [2022-04-15 06:59:08,632 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:59:08,632 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:59:08,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:08,831 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:59:08,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:08,838 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-15 06:59:08,838 INFO L290 TraceCheckUtils]: 1: Hoare triple {35450#(<= 20 ~SIZE~0)} assume true; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:08,839 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35450#(<= 20 ~SIZE~0)} {35445#true} #90#return; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:08,839 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:59:08,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:08,842 INFO L290 TraceCheckUtils]: 0: Hoare triple {35445#true} ~cond := #in~cond; {35445#true} is VALID [2022-04-15 06:59:08,842 INFO L290 TraceCheckUtils]: 1: Hoare triple {35445#true} assume !(0 == ~cond); {35445#true} is VALID [2022-04-15 06:59:08,842 INFO L290 TraceCheckUtils]: 2: Hoare triple {35445#true} assume true; {35445#true} is VALID [2022-04-15 06:59:08,843 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35445#true} {35450#(<= 20 ~SIZE~0)} #86#return; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:08,843 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-15 06:59:08,844 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-15 06:59:08,844 INFO L290 TraceCheckUtils]: 2: Hoare triple {35450#(<= 20 ~SIZE~0)} assume true; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:08,845 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35450#(<= 20 ~SIZE~0)} {35445#true} #90#return; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:08,845 INFO L272 TraceCheckUtils]: 4: Hoare triple {35450#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:08,845 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-15 06:59:08,845 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-15 06:59:08,845 INFO L290 TraceCheckUtils]: 7: Hoare triple {35445#true} ~cond := #in~cond; {35445#true} is VALID [2022-04-15 06:59:08,846 INFO L290 TraceCheckUtils]: 8: Hoare triple {35445#true} assume !(0 == ~cond); {35445#true} is VALID [2022-04-15 06:59:08,846 INFO L290 TraceCheckUtils]: 9: Hoare triple {35445#true} assume true; {35445#true} is VALID [2022-04-15 06:59:08,846 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35445#true} {35450#(<= 20 ~SIZE~0)} #86#return; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:08,847 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-15 06:59:08,847 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-15 06:59:08,848 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-15 06:59:08,848 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-15 06:59:08,849 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-15 06:59:08,850 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-15 06:59:08,851 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-15 06:59:08,851 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-15 06:59:08,852 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-15 06:59:08,852 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-15 06:59:08,853 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-15 06:59:08,854 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-15 06:59:08,854 INFO L290 TraceCheckUtils]: 23: Hoare triple {35462#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {35446#false} is VALID [2022-04-15 06:59:08,854 INFO L290 TraceCheckUtils]: 24: Hoare triple {35446#false} assume !false; {35446#false} is VALID [2022-04-15 06:59:08,855 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-15 06:59:08,855 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:59:08,855 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [648375167] [2022-04-15 06:59:08,855 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [648375167] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:59:08,855 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [366031375] [2022-04-15 06:59:08,855 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:59:08,855 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:59:08,855 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:59:08,856 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-15 06:59:08,858 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-15 06:59:08,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:08,895 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:59:08,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:08,905 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:59:09,214 INFO L272 TraceCheckUtils]: 0: Hoare triple {35445#true} call ULTIMATE.init(); {35445#true} is VALID [2022-04-15 06:59:09,214 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-15 06:59:09,215 INFO L290 TraceCheckUtils]: 2: Hoare triple {35450#(<= 20 ~SIZE~0)} assume true; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:09,215 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35450#(<= 20 ~SIZE~0)} {35445#true} #90#return; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:09,216 INFO L272 TraceCheckUtils]: 4: Hoare triple {35450#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:09,216 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-15 06:59:09,216 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-15 06:59:09,217 INFO L290 TraceCheckUtils]: 7: Hoare triple {35450#(<= 20 ~SIZE~0)} ~cond := #in~cond; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:09,217 INFO L290 TraceCheckUtils]: 8: Hoare triple {35450#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:09,217 INFO L290 TraceCheckUtils]: 9: Hoare triple {35450#(<= 20 ~SIZE~0)} assume true; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:09,218 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35450#(<= 20 ~SIZE~0)} {35450#(<= 20 ~SIZE~0)} #86#return; {35450#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:09,218 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-15 06:59:09,219 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-15 06:59:09,220 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-15 06:59:09,220 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-15 06:59:09,221 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-15 06:59:09,222 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-15 06:59:09,222 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-15 06:59:09,222 INFO L290 TraceCheckUtils]: 18: Hoare triple {35446#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {35446#false} is VALID [2022-04-15 06:59:09,222 INFO L290 TraceCheckUtils]: 19: Hoare triple {35446#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {35446#false} is VALID [2022-04-15 06:59:09,222 INFO L290 TraceCheckUtils]: 20: Hoare triple {35446#false} assume !(~d~0 == ~SIZE~0); {35446#false} is VALID [2022-04-15 06:59:09,223 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-15 06:59:09,223 INFO L290 TraceCheckUtils]: 22: Hoare triple {35446#false} ~cond := #in~cond; {35446#false} is VALID [2022-04-15 06:59:09,223 INFO L290 TraceCheckUtils]: 23: Hoare triple {35446#false} assume 0 == ~cond; {35446#false} is VALID [2022-04-15 06:59:09,223 INFO L290 TraceCheckUtils]: 24: Hoare triple {35446#false} assume !false; {35446#false} is VALID [2022-04-15 06:59:09,223 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-15 06:59:09,223 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:59:09,504 INFO L290 TraceCheckUtils]: 24: Hoare triple {35446#false} assume !false; {35446#false} is VALID [2022-04-15 06:59:09,504 INFO L290 TraceCheckUtils]: 23: Hoare triple {35446#false} assume 0 == ~cond; {35446#false} is VALID [2022-04-15 06:59:09,504 INFO L290 TraceCheckUtils]: 22: Hoare triple {35446#false} ~cond := #in~cond; {35446#false} is VALID [2022-04-15 06:59:09,504 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-15 06:59:09,504 INFO L290 TraceCheckUtils]: 20: Hoare triple {35446#false} assume !(~d~0 == ~SIZE~0); {35446#false} is VALID [2022-04-15 06:59:09,504 INFO L290 TraceCheckUtils]: 19: Hoare triple {35446#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {35446#false} is VALID [2022-04-15 06:59:09,505 INFO L290 TraceCheckUtils]: 18: Hoare triple {35446#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {35446#false} is VALID [2022-04-15 06:59:09,505 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-15 06:59:09,505 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-15 06:59:09,506 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-15 06:59:09,506 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-15 06:59:09,507 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-15 06:59:09,507 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-15 06:59:09,508 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-15 06:59:09,508 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35445#true} {35581#(< 1 ~SIZE~0)} #86#return; {35581#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:09,508 INFO L290 TraceCheckUtils]: 9: Hoare triple {35445#true} assume true; {35445#true} is VALID [2022-04-15 06:59:09,508 INFO L290 TraceCheckUtils]: 8: Hoare triple {35445#true} assume !(0 == ~cond); {35445#true} is VALID [2022-04-15 06:59:09,508 INFO L290 TraceCheckUtils]: 7: Hoare triple {35445#true} ~cond := #in~cond; {35445#true} is VALID [2022-04-15 06:59:09,508 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-15 06:59:09,509 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-15 06:59:09,509 INFO L272 TraceCheckUtils]: 4: Hoare triple {35581#(< 1 ~SIZE~0)} call #t~ret7 := main(); {35581#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:09,510 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35581#(< 1 ~SIZE~0)} {35445#true} #90#return; {35581#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:09,510 INFO L290 TraceCheckUtils]: 2: Hoare triple {35581#(< 1 ~SIZE~0)} assume true; {35581#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:09,511 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-15 06:59:09,511 INFO L272 TraceCheckUtils]: 0: Hoare triple {35445#true} call ULTIMATE.init(); {35445#true} is VALID [2022-04-15 06:59:09,511 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-15 06:59:09,511 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [366031375] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:59:09,511 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:59:09,511 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:59:10,144 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:59:10,144 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [266133167] [2022-04-15 06:59:10,144 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [266133167] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:59:10,144 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:59:10,144 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-15 06:59:10,144 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1927161738] [2022-04-15 06:59:10,144 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:59:10,145 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-15 06:59:10,145 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:59:10,145 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-15 06:59:10,179 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-15 06:59:10,179 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-15 06:59:10,179 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:59:10,180 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-15 06:59:10,180 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=217, Invalid=973, Unknown=0, NotChecked=0, Total=1190 [2022-04-15 06:59:10,180 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-15 06:59:12,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:59:12,415 INFO L93 Difference]: Finished difference Result 272 states and 335 transitions. [2022-04-15 06:59:12,415 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-15 06:59:12,415 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-15 06:59:12,415 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:59:12,415 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-15 06:59:12,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 95 transitions. [2022-04-15 06:59:12,416 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-15 06:59:12,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 95 transitions. [2022-04-15 06:59:12,417 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 95 transitions. [2022-04-15 06:59:12,483 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-15 06:59:12,486 INFO L225 Difference]: With dead ends: 272 [2022-04-15 06:59:12,486 INFO L226 Difference]: Without dead ends: 185 [2022-04-15 06:59:12,486 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 48 SyntacticMatches, 9 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 514 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=229, Invalid=1103, Unknown=0, NotChecked=0, Total=1332 [2022-04-15 06:59:12,487 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 53 mSDsluCounter, 53 mSDsCounter, 0 mSdLazyCounter, 1069 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s 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.8s IncrementalHoareTripleChecker+Time [2022-04-15 06:59:12,487 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [54 Valid, 73 Invalid, 1080 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1069 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 06:59:12,487 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 185 states. [2022-04-15 06:59:13,001 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 185 to 166. [2022-04-15 06:59:13,001 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:59:13,002 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-15 06:59:13,002 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-15 06:59:13,002 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-15 06:59:13,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:59:13,004 INFO L93 Difference]: Finished difference Result 185 states and 223 transitions. [2022-04-15 06:59:13,004 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 223 transitions. [2022-04-15 06:59:13,004 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:59:13,004 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:59:13,004 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-15 06:59:13,005 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-15 06:59:13,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:59:13,006 INFO L93 Difference]: Finished difference Result 185 states and 223 transitions. [2022-04-15 06:59:13,006 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 223 transitions. [2022-04-15 06:59:13,006 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:59:13,006 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:59:13,007 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:59:13,007 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:59:13,007 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-15 06:59:13,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 202 transitions. [2022-04-15 06:59:13,008 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 202 transitions. Word has length 46 [2022-04-15 06:59:13,009 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:59:13,009 INFO L478 AbstractCegarLoop]: Abstraction has 166 states and 202 transitions. [2022-04-15 06:59:13,009 INFO L479 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-15 06:59:13,009 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 166 states and 202 transitions. [2022-04-15 06:59:13,373 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-15 06:59:13,373 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 202 transitions. [2022-04-15 06:59:13,373 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 06:59:13,374 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:59:13,374 INFO L499 BasicCegarLoop]: 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-15 06:59:13,389 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Ended with exit code 0 [2022-04-15 06:59:13,574 WARN L460 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-15 06:59:13,574 INFO L403 AbstractCegarLoop]: === Iteration 37 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:59:13,574 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:59:13,574 INFO L85 PathProgramCache]: Analyzing trace with hash -1193869346, now seen corresponding path program 27 times [2022-04-15 06:59:13,574 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:59:13,575 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2100198514] [2022-04-15 06:59:13,787 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-15 06:59:16,662 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:59:16,800 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-15 06:59:16,801 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:59:16,804 INFO L85 PathProgramCache]: Analyzing trace with hash -1778494399, now seen corresponding path program 1 times [2022-04-15 06:59:16,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:59:16,804 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1799009097] [2022-04-15 06:59:16,804 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:59:16,804 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:59:16,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:16,961 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:59:16,963 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:16,967 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-15 06:59:16,967 INFO L290 TraceCheckUtils]: 1: Hoare triple {36892#(<= 20 ~SIZE~0)} assume true; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:16,967 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {36892#(<= 20 ~SIZE~0)} {36887#true} #90#return; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:16,967 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:59:16,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:16,969 INFO L290 TraceCheckUtils]: 0: Hoare triple {36887#true} ~cond := #in~cond; {36887#true} is VALID [2022-04-15 06:59:16,969 INFO L290 TraceCheckUtils]: 1: Hoare triple {36887#true} assume !(0 == ~cond); {36887#true} is VALID [2022-04-15 06:59:16,970 INFO L290 TraceCheckUtils]: 2: Hoare triple {36887#true} assume true; {36887#true} is VALID [2022-04-15 06:59:16,970 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36887#true} {36892#(<= 20 ~SIZE~0)} #86#return; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:16,970 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-15 06:59:16,971 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-15 06:59:16,971 INFO L290 TraceCheckUtils]: 2: Hoare triple {36892#(<= 20 ~SIZE~0)} assume true; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:16,972 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36892#(<= 20 ~SIZE~0)} {36887#true} #90#return; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:16,972 INFO L272 TraceCheckUtils]: 4: Hoare triple {36892#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:16,972 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-15 06:59:16,972 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-15 06:59:16,972 INFO L290 TraceCheckUtils]: 7: Hoare triple {36887#true} ~cond := #in~cond; {36887#true} is VALID [2022-04-15 06:59:16,972 INFO L290 TraceCheckUtils]: 8: Hoare triple {36887#true} assume !(0 == ~cond); {36887#true} is VALID [2022-04-15 06:59:16,972 INFO L290 TraceCheckUtils]: 9: Hoare triple {36887#true} assume true; {36887#true} is VALID [2022-04-15 06:59:16,973 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36887#true} {36892#(<= 20 ~SIZE~0)} #86#return; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:16,973 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-15 06:59:16,974 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-15 06:59:16,974 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-15 06:59:16,975 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-15 06:59:16,976 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-15 06:59:16,976 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-15 06:59:16,977 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-15 06:59:16,977 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-15 06:59:16,978 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-15 06:59:16,978 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-15 06:59:16,979 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-15 06:59:16,979 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-15 06:59:16,979 INFO L290 TraceCheckUtils]: 23: Hoare triple {36904#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {36888#false} is VALID [2022-04-15 06:59:16,980 INFO L290 TraceCheckUtils]: 24: Hoare triple {36888#false} assume !false; {36888#false} is VALID [2022-04-15 06:59:16,980 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-15 06:59:16,980 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:59:16,980 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1799009097] [2022-04-15 06:59:16,980 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1799009097] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:59:16,980 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1355519199] [2022-04-15 06:59:16,980 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:59:16,980 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:59:16,980 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:59:16,981 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-15 06:59:16,982 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-15 06:59:17,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:17,009 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:59:17,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:17,018 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:59:17,208 INFO L272 TraceCheckUtils]: 0: Hoare triple {36887#true} call ULTIMATE.init(); {36887#true} is VALID [2022-04-15 06:59:17,209 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-15 06:59:17,209 INFO L290 TraceCheckUtils]: 2: Hoare triple {36892#(<= 20 ~SIZE~0)} assume true; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:17,209 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36892#(<= 20 ~SIZE~0)} {36887#true} #90#return; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:17,209 INFO L272 TraceCheckUtils]: 4: Hoare triple {36892#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:17,210 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-15 06:59:17,210 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-15 06:59:17,210 INFO L290 TraceCheckUtils]: 7: Hoare triple {36892#(<= 20 ~SIZE~0)} ~cond := #in~cond; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:17,211 INFO L290 TraceCheckUtils]: 8: Hoare triple {36892#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:17,211 INFO L290 TraceCheckUtils]: 9: Hoare triple {36892#(<= 20 ~SIZE~0)} assume true; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:17,211 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36892#(<= 20 ~SIZE~0)} {36892#(<= 20 ~SIZE~0)} #86#return; {36892#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:17,211 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-15 06:59:17,212 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-15 06:59:17,212 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-15 06:59:17,213 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-15 06:59:17,213 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-15 06:59:17,214 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-15 06:59:17,214 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-15 06:59:17,214 INFO L290 TraceCheckUtils]: 18: Hoare triple {36888#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {36888#false} is VALID [2022-04-15 06:59:17,214 INFO L290 TraceCheckUtils]: 19: Hoare triple {36888#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {36888#false} is VALID [2022-04-15 06:59:17,215 INFO L290 TraceCheckUtils]: 20: Hoare triple {36888#false} assume !(~d~0 == ~SIZE~0); {36888#false} is VALID [2022-04-15 06:59:17,215 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-15 06:59:17,215 INFO L290 TraceCheckUtils]: 22: Hoare triple {36888#false} ~cond := #in~cond; {36888#false} is VALID [2022-04-15 06:59:17,215 INFO L290 TraceCheckUtils]: 23: Hoare triple {36888#false} assume 0 == ~cond; {36888#false} is VALID [2022-04-15 06:59:17,215 INFO L290 TraceCheckUtils]: 24: Hoare triple {36888#false} assume !false; {36888#false} is VALID [2022-04-15 06:59:17,215 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-15 06:59:17,215 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:59:17,449 INFO L290 TraceCheckUtils]: 24: Hoare triple {36888#false} assume !false; {36888#false} is VALID [2022-04-15 06:59:17,449 INFO L290 TraceCheckUtils]: 23: Hoare triple {36888#false} assume 0 == ~cond; {36888#false} is VALID [2022-04-15 06:59:17,449 INFO L290 TraceCheckUtils]: 22: Hoare triple {36888#false} ~cond := #in~cond; {36888#false} is VALID [2022-04-15 06:59:17,449 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-15 06:59:17,449 INFO L290 TraceCheckUtils]: 20: Hoare triple {36888#false} assume !(~d~0 == ~SIZE~0); {36888#false} is VALID [2022-04-15 06:59:17,449 INFO L290 TraceCheckUtils]: 19: Hoare triple {36888#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {36888#false} is VALID [2022-04-15 06:59:17,449 INFO L290 TraceCheckUtils]: 18: Hoare triple {36888#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {36888#false} is VALID [2022-04-15 06:59:17,450 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-15 06:59:17,450 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-15 06:59:17,451 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-15 06:59:17,451 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-15 06:59:17,452 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-15 06:59:17,452 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-15 06:59:17,452 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-15 06:59:17,452 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36887#true} {37023#(< 1 ~SIZE~0)} #86#return; {37023#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:17,453 INFO L290 TraceCheckUtils]: 9: Hoare triple {36887#true} assume true; {36887#true} is VALID [2022-04-15 06:59:17,453 INFO L290 TraceCheckUtils]: 8: Hoare triple {36887#true} assume !(0 == ~cond); {36887#true} is VALID [2022-04-15 06:59:17,453 INFO L290 TraceCheckUtils]: 7: Hoare triple {36887#true} ~cond := #in~cond; {36887#true} is VALID [2022-04-15 06:59:17,453 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-15 06:59:17,453 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-15 06:59:17,453 INFO L272 TraceCheckUtils]: 4: Hoare triple {37023#(< 1 ~SIZE~0)} call #t~ret7 := main(); {37023#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:17,454 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37023#(< 1 ~SIZE~0)} {36887#true} #90#return; {37023#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:17,454 INFO L290 TraceCheckUtils]: 2: Hoare triple {37023#(< 1 ~SIZE~0)} assume true; {37023#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:17,454 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-15 06:59:17,454 INFO L272 TraceCheckUtils]: 0: Hoare triple {36887#true} call ULTIMATE.init(); {36887#true} is VALID [2022-04-15 06:59:17,454 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-15 06:59:17,454 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1355519199] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:59:17,455 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:59:17,455 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:59:18,137 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:59:18,137 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2100198514] [2022-04-15 06:59:18,137 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2100198514] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:59:18,137 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:59:18,137 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-15 06:59:18,137 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1051414215] [2022-04-15 06:59:18,137 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:59:18,138 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-15 06:59:18,138 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:59:18,138 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-15 06:59:18,173 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-15 06:59:18,173 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-15 06:59:18,173 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:59:18,173 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-15 06:59:18,174 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=231, Invalid=1029, Unknown=0, NotChecked=0, Total=1260 [2022-04-15 06:59:18,174 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-15 06:59:19,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:59:19,856 INFO L93 Difference]: Finished difference Result 270 states and 333 transitions. [2022-04-15 06:59:19,856 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-15 06:59:19,856 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-15 06:59:19,856 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:59:19,857 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-15 06:59:19,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 96 transitions. [2022-04-15 06:59:19,857 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-15 06:59:19,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 96 transitions. [2022-04-15 06:59:19,858 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 96 transitions. [2022-04-15 06:59:19,904 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-15 06:59:19,921 INFO L225 Difference]: With dead ends: 270 [2022-04-15 06:59:19,921 INFO L226 Difference]: Without dead ends: 183 [2022-04-15 06:59:19,922 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 48 SyntacticMatches, 8 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 513 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=243, Invalid=1163, Unknown=0, NotChecked=0, Total=1406 [2022-04-15 06:59:19,923 INFO L913 BasicCegarLoop]: 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-15 06:59:19,923 INFO L914 BasicCegarLoop]: 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-15 06:59:19,923 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 183 states. [2022-04-15 06:59:20,253 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 183 to 166. [2022-04-15 06:59:20,253 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:59:20,254 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-15 06:59:20,254 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-15 06:59:20,254 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-15 06:59:20,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:59:20,256 INFO L93 Difference]: Finished difference Result 183 states and 221 transitions. [2022-04-15 06:59:20,256 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 221 transitions. [2022-04-15 06:59:20,256 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:59:20,256 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:59:20,256 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-15 06:59:20,256 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-15 06:59:20,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:59:20,258 INFO L93 Difference]: Finished difference Result 183 states and 221 transitions. [2022-04-15 06:59:20,258 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 221 transitions. [2022-04-15 06:59:20,258 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:59:20,258 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:59:20,258 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:59:20,258 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:59:20,258 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-15 06:59:20,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 202 transitions. [2022-04-15 06:59:20,265 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 202 transitions. Word has length 46 [2022-04-15 06:59:20,265 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:59:20,265 INFO L478 AbstractCegarLoop]: Abstraction has 166 states and 202 transitions. [2022-04-15 06:59:20,265 INFO L479 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-15 06:59:20,265 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 166 states and 202 transitions. [2022-04-15 06:59:20,615 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-15 06:59:20,616 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 202 transitions. [2022-04-15 06:59:20,616 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 06:59:20,616 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:59:20,616 INFO L499 BasicCegarLoop]: 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-15 06:59:20,635 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-15 06:59:20,835 WARN L460 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-15 06:59:20,835 INFO L403 AbstractCegarLoop]: === Iteration 38 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:59:20,835 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:59:20,835 INFO L85 PathProgramCache]: Analyzing trace with hash 2089980700, now seen corresponding path program 28 times [2022-04-15 06:59:20,835 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:59:20,835 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2077387751] [2022-04-15 06:59:24,981 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:59:25,095 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-15 06:59:29,207 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:59:29,324 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-15 06:59:29,325 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:59:29,328 INFO L85 PathProgramCache]: Analyzing trace with hash 714028353, now seen corresponding path program 1 times [2022-04-15 06:59:29,328 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:59:29,328 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [198570824] [2022-04-15 06:59:29,328 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:59:29,329 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:59:29,337 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:29,530 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:59:29,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:29,536 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-15 06:59:29,536 INFO L290 TraceCheckUtils]: 1: Hoare triple {38327#(<= 20 ~SIZE~0)} assume true; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:29,537 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38327#(<= 20 ~SIZE~0)} {38322#true} #90#return; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:29,537 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:59:29,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:29,539 INFO L290 TraceCheckUtils]: 0: Hoare triple {38322#true} ~cond := #in~cond; {38322#true} is VALID [2022-04-15 06:59:29,539 INFO L290 TraceCheckUtils]: 1: Hoare triple {38322#true} assume !(0 == ~cond); {38322#true} is VALID [2022-04-15 06:59:29,539 INFO L290 TraceCheckUtils]: 2: Hoare triple {38322#true} assume true; {38322#true} is VALID [2022-04-15 06:59:29,539 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38322#true} {38327#(<= 20 ~SIZE~0)} #86#return; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:29,540 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-15 06:59:29,540 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-15 06:59:29,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {38327#(<= 20 ~SIZE~0)} assume true; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:29,541 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38327#(<= 20 ~SIZE~0)} {38322#true} #90#return; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:29,541 INFO L272 TraceCheckUtils]: 4: Hoare triple {38327#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:29,542 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-15 06:59:29,542 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-15 06:59:29,542 INFO L290 TraceCheckUtils]: 7: Hoare triple {38322#true} ~cond := #in~cond; {38322#true} is VALID [2022-04-15 06:59:29,542 INFO L290 TraceCheckUtils]: 8: Hoare triple {38322#true} assume !(0 == ~cond); {38322#true} is VALID [2022-04-15 06:59:29,542 INFO L290 TraceCheckUtils]: 9: Hoare triple {38322#true} assume true; {38322#true} is VALID [2022-04-15 06:59:29,542 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38322#true} {38327#(<= 20 ~SIZE~0)} #86#return; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:29,543 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-15 06:59:29,543 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-15 06:59:29,544 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-15 06:59:29,544 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-15 06:59:29,545 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-15 06:59:29,545 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-15 06:59:29,546 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-15 06:59:29,546 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-15 06:59:29,547 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-15 06:59:29,547 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-15 06:59:29,548 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-15 06:59:29,548 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-15 06:59:29,549 INFO L290 TraceCheckUtils]: 23: Hoare triple {38339#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {38323#false} is VALID [2022-04-15 06:59:29,549 INFO L290 TraceCheckUtils]: 24: Hoare triple {38323#false} assume !false; {38323#false} is VALID [2022-04-15 06:59:29,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-15 06:59:29,549 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:59:29,549 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [198570824] [2022-04-15 06:59:29,549 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [198570824] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:59:29,549 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [830721518] [2022-04-15 06:59:29,549 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:59:29,550 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:59:29,550 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:59:29,560 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-15 06:59:29,561 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-15 06:59:29,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:29,590 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:59:29,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:29,597 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:59:29,841 INFO L272 TraceCheckUtils]: 0: Hoare triple {38322#true} call ULTIMATE.init(); {38322#true} is VALID [2022-04-15 06:59:29,842 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-15 06:59:29,842 INFO L290 TraceCheckUtils]: 2: Hoare triple {38327#(<= 20 ~SIZE~0)} assume true; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:29,842 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38327#(<= 20 ~SIZE~0)} {38322#true} #90#return; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:29,843 INFO L272 TraceCheckUtils]: 4: Hoare triple {38327#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:29,843 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-15 06:59:29,844 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-15 06:59:29,844 INFO L290 TraceCheckUtils]: 7: Hoare triple {38327#(<= 20 ~SIZE~0)} ~cond := #in~cond; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:29,844 INFO L290 TraceCheckUtils]: 8: Hoare triple {38327#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:29,844 INFO L290 TraceCheckUtils]: 9: Hoare triple {38327#(<= 20 ~SIZE~0)} assume true; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:29,845 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38327#(<= 20 ~SIZE~0)} {38327#(<= 20 ~SIZE~0)} #86#return; {38327#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:29,845 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-15 06:59:29,845 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-15 06:59:29,846 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-15 06:59:29,847 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-15 06:59:29,847 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-15 06:59:29,848 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-15 06:59:29,848 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-15 06:59:29,848 INFO L290 TraceCheckUtils]: 18: Hoare triple {38323#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {38323#false} is VALID [2022-04-15 06:59:29,848 INFO L290 TraceCheckUtils]: 19: Hoare triple {38323#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {38323#false} is VALID [2022-04-15 06:59:29,849 INFO L290 TraceCheckUtils]: 20: Hoare triple {38323#false} assume !(~d~0 == ~SIZE~0); {38323#false} is VALID [2022-04-15 06:59:29,849 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-15 06:59:29,849 INFO L290 TraceCheckUtils]: 22: Hoare triple {38323#false} ~cond := #in~cond; {38323#false} is VALID [2022-04-15 06:59:29,849 INFO L290 TraceCheckUtils]: 23: Hoare triple {38323#false} assume 0 == ~cond; {38323#false} is VALID [2022-04-15 06:59:29,849 INFO L290 TraceCheckUtils]: 24: Hoare triple {38323#false} assume !false; {38323#false} is VALID [2022-04-15 06:59:29,849 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-15 06:59:29,849 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:59:30,121 INFO L290 TraceCheckUtils]: 24: Hoare triple {38323#false} assume !false; {38323#false} is VALID [2022-04-15 06:59:30,122 INFO L290 TraceCheckUtils]: 23: Hoare triple {38323#false} assume 0 == ~cond; {38323#false} is VALID [2022-04-15 06:59:30,122 INFO L290 TraceCheckUtils]: 22: Hoare triple {38323#false} ~cond := #in~cond; {38323#false} is VALID [2022-04-15 06:59:30,122 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-15 06:59:30,122 INFO L290 TraceCheckUtils]: 20: Hoare triple {38323#false} assume !(~d~0 == ~SIZE~0); {38323#false} is VALID [2022-04-15 06:59:30,122 INFO L290 TraceCheckUtils]: 19: Hoare triple {38323#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {38323#false} is VALID [2022-04-15 06:59:30,122 INFO L290 TraceCheckUtils]: 18: Hoare triple {38323#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {38323#false} is VALID [2022-04-15 06:59:30,122 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-15 06:59:30,123 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-15 06:59:30,131 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-15 06:59:30,132 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-15 06:59:30,133 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-15 06:59:30,133 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-15 06:59:30,133 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-15 06:59:30,133 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38322#true} {38458#(< 1 ~SIZE~0)} #86#return; {38458#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:30,134 INFO L290 TraceCheckUtils]: 9: Hoare triple {38322#true} assume true; {38322#true} is VALID [2022-04-15 06:59:30,134 INFO L290 TraceCheckUtils]: 8: Hoare triple {38322#true} assume !(0 == ~cond); {38322#true} is VALID [2022-04-15 06:59:30,134 INFO L290 TraceCheckUtils]: 7: Hoare triple {38322#true} ~cond := #in~cond; {38322#true} is VALID [2022-04-15 06:59:30,134 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-15 06:59:30,134 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-15 06:59:30,134 INFO L272 TraceCheckUtils]: 4: Hoare triple {38458#(< 1 ~SIZE~0)} call #t~ret7 := main(); {38458#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:30,135 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38458#(< 1 ~SIZE~0)} {38322#true} #90#return; {38458#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:30,135 INFO L290 TraceCheckUtils]: 2: Hoare triple {38458#(< 1 ~SIZE~0)} assume true; {38458#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:30,135 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-15 06:59:30,135 INFO L272 TraceCheckUtils]: 0: Hoare triple {38322#true} call ULTIMATE.init(); {38322#true} is VALID [2022-04-15 06:59:30,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-15 06:59:30,136 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [830721518] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:59:30,136 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:59:30,136 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:59:30,913 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:59:30,913 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2077387751] [2022-04-15 06:59:30,913 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2077387751] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:59:30,913 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:59:30,914 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [28] imperfect sequences [] total 28 [2022-04-15 06:59:30,914 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [112905070] [2022-04-15 06:59:30,914 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:59:30,914 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-15 06:59:30,914 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:59:30,914 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-15 06:59:30,948 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-15 06:59:30,948 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-15 06:59:30,948 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:59:30,948 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-15 06:59:30,949 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=245, Invalid=1087, Unknown=0, NotChecked=0, Total=1332 [2022-04-15 06:59:30,949 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-15 06:59:32,952 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:59:32,952 INFO L93 Difference]: Finished difference Result 281 states and 348 transitions. [2022-04-15 06:59:32,952 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-15 06:59:32,952 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-15 06:59:32,952 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:59:32,953 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-15 06:59:32,954 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 98 transitions. [2022-04-15 06:59:32,954 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-15 06:59:32,954 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 98 transitions. [2022-04-15 06:59:32,954 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 98 transitions. [2022-04-15 06:59:33,005 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-15 06:59:33,007 INFO L225 Difference]: With dead ends: 281 [2022-04-15 06:59:33,007 INFO L226 Difference]: Without dead ends: 183 [2022-04-15 06:59:33,008 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 48 SyntacticMatches, 7 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 501 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=257, Invalid=1225, Unknown=0, NotChecked=0, Total=1482 [2022-04-15 06:59:33,008 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 54 mSDsluCounter, 46 mSDsCounter, 0 mSdLazyCounter, 994 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-15 06:59:33,008 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [55 Valid, 66 Invalid, 1005 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 994 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 06:59:33,009 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 183 states. [2022-04-15 06:59:33,358 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 183 to 169. [2022-04-15 06:59:33,358 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:59:33,359 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-15 06:59:33,359 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-15 06:59:33,359 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-15 06:59:33,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:59:33,361 INFO L93 Difference]: Finished difference Result 183 states and 222 transitions. [2022-04-15 06:59:33,361 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 222 transitions. [2022-04-15 06:59:33,361 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:59:33,361 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:59:33,361 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-15 06:59:33,361 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-15 06:59:33,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:59:33,363 INFO L93 Difference]: Finished difference Result 183 states and 222 transitions. [2022-04-15 06:59:33,363 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 222 transitions. [2022-04-15 06:59:33,363 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:59:33,363 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:59:33,364 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:59:33,364 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:59:33,364 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-15 06:59:33,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 169 states to 169 states and 206 transitions. [2022-04-15 06:59:33,366 INFO L78 Accepts]: Start accepts. Automaton has 169 states and 206 transitions. Word has length 46 [2022-04-15 06:59:33,366 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:59:33,366 INFO L478 AbstractCegarLoop]: Abstraction has 169 states and 206 transitions. [2022-04-15 06:59:33,366 INFO L479 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-15 06:59:33,366 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 169 states and 206 transitions. [2022-04-15 06:59:33,732 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-15 06:59:33,732 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 206 transitions. [2022-04-15 06:59:33,733 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 06:59:33,733 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:59:33,733 INFO L499 BasicCegarLoop]: 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-15 06:59:33,752 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-15 06:59:33,947 WARN L460 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-15 06:59:33,947 INFO L403 AbstractCegarLoop]: === Iteration 39 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:59:33,948 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:59:33,948 INFO L85 PathProgramCache]: Analyzing trace with hash 1745750559, now seen corresponding path program 29 times [2022-04-15 06:59:33,948 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:59:33,948 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2099776671] [2022-04-15 06:59:38,037 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:59:38,129 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-15 06:59:40,686 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:59:40,797 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-15 06:59:40,798 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:59:40,801 INFO L85 PathProgramCache]: Analyzing trace with hash -1088416191, now seen corresponding path program 1 times [2022-04-15 06:59:40,801 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:59:40,801 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1831846416] [2022-04-15 06:59:40,801 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:59:40,801 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:59:40,808 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:40,959 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:59:40,960 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:40,964 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-15 06:59:40,964 INFO L290 TraceCheckUtils]: 1: Hoare triple {39791#(<= 20 ~SIZE~0)} assume true; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:40,964 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {39791#(<= 20 ~SIZE~0)} {39786#true} #90#return; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:40,964 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:59:40,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:40,966 INFO L290 TraceCheckUtils]: 0: Hoare triple {39786#true} ~cond := #in~cond; {39786#true} is VALID [2022-04-15 06:59:40,966 INFO L290 TraceCheckUtils]: 1: Hoare triple {39786#true} assume !(0 == ~cond); {39786#true} is VALID [2022-04-15 06:59:40,966 INFO L290 TraceCheckUtils]: 2: Hoare triple {39786#true} assume true; {39786#true} is VALID [2022-04-15 06:59:40,967 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39786#true} {39791#(<= 20 ~SIZE~0)} #86#return; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:40,967 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-15 06:59:40,968 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-15 06:59:40,968 INFO L290 TraceCheckUtils]: 2: Hoare triple {39791#(<= 20 ~SIZE~0)} assume true; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:40,968 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39791#(<= 20 ~SIZE~0)} {39786#true} #90#return; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:40,969 INFO L272 TraceCheckUtils]: 4: Hoare triple {39791#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:40,969 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-15 06:59:40,969 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-15 06:59:40,969 INFO L290 TraceCheckUtils]: 7: Hoare triple {39786#true} ~cond := #in~cond; {39786#true} is VALID [2022-04-15 06:59:40,969 INFO L290 TraceCheckUtils]: 8: Hoare triple {39786#true} assume !(0 == ~cond); {39786#true} is VALID [2022-04-15 06:59:40,969 INFO L290 TraceCheckUtils]: 9: Hoare triple {39786#true} assume true; {39786#true} is VALID [2022-04-15 06:59:40,970 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39786#true} {39791#(<= 20 ~SIZE~0)} #86#return; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:40,970 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-15 06:59:40,970 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-15 06:59:40,971 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-15 06:59:40,972 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-15 06:59:40,972 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-15 06:59:40,973 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-15 06:59:40,973 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-15 06:59:40,974 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-15 06:59:40,974 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-15 06:59:40,975 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-15 06:59:40,976 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-15 06:59:40,976 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-15 06:59:40,976 INFO L290 TraceCheckUtils]: 23: Hoare triple {39803#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {39787#false} is VALID [2022-04-15 06:59:40,976 INFO L290 TraceCheckUtils]: 24: Hoare triple {39787#false} assume !false; {39787#false} is VALID [2022-04-15 06:59:40,976 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-15 06:59:40,976 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:59:40,977 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1831846416] [2022-04-15 06:59:40,977 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1831846416] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:59:40,977 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1989126136] [2022-04-15 06:59:40,977 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:59:40,977 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:59:40,977 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:59:40,987 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-15 06:59:41,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:41,021 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-15 06:59:41,022 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:59:41,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:41,028 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:59:41,268 INFO L272 TraceCheckUtils]: 0: Hoare triple {39786#true} call ULTIMATE.init(); {39786#true} is VALID [2022-04-15 06:59:41,269 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-15 06:59:41,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {39791#(<= 20 ~SIZE~0)} assume true; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:41,270 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39791#(<= 20 ~SIZE~0)} {39786#true} #90#return; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:41,270 INFO L272 TraceCheckUtils]: 4: Hoare triple {39791#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:41,270 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-15 06:59:41,271 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-15 06:59:41,271 INFO L290 TraceCheckUtils]: 7: Hoare triple {39791#(<= 20 ~SIZE~0)} ~cond := #in~cond; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:41,271 INFO L290 TraceCheckUtils]: 8: Hoare triple {39791#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:41,272 INFO L290 TraceCheckUtils]: 9: Hoare triple {39791#(<= 20 ~SIZE~0)} assume true; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:41,272 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39791#(<= 20 ~SIZE~0)} {39791#(<= 20 ~SIZE~0)} #86#return; {39791#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:41,272 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-15 06:59:41,273 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-15 06:59:41,273 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-15 06:59:41,274 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-15 06:59:41,274 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-15 06:59:41,275 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-15 06:59:41,275 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-15 06:59:41,276 INFO L290 TraceCheckUtils]: 18: Hoare triple {39787#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {39787#false} is VALID [2022-04-15 06:59:41,276 INFO L290 TraceCheckUtils]: 19: Hoare triple {39787#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {39787#false} is VALID [2022-04-15 06:59:41,276 INFO L290 TraceCheckUtils]: 20: Hoare triple {39787#false} assume !(~d~0 == ~SIZE~0); {39787#false} is VALID [2022-04-15 06:59:41,276 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-15 06:59:41,276 INFO L290 TraceCheckUtils]: 22: Hoare triple {39787#false} ~cond := #in~cond; {39787#false} is VALID [2022-04-15 06:59:41,276 INFO L290 TraceCheckUtils]: 23: Hoare triple {39787#false} assume 0 == ~cond; {39787#false} is VALID [2022-04-15 06:59:41,276 INFO L290 TraceCheckUtils]: 24: Hoare triple {39787#false} assume !false; {39787#false} is VALID [2022-04-15 06:59:41,276 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-15 06:59:41,276 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:59:41,529 INFO L290 TraceCheckUtils]: 24: Hoare triple {39787#false} assume !false; {39787#false} is VALID [2022-04-15 06:59:41,530 INFO L290 TraceCheckUtils]: 23: Hoare triple {39787#false} assume 0 == ~cond; {39787#false} is VALID [2022-04-15 06:59:41,530 INFO L290 TraceCheckUtils]: 22: Hoare triple {39787#false} ~cond := #in~cond; {39787#false} is VALID [2022-04-15 06:59:41,530 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-15 06:59:41,530 INFO L290 TraceCheckUtils]: 20: Hoare triple {39787#false} assume !(~d~0 == ~SIZE~0); {39787#false} is VALID [2022-04-15 06:59:41,530 INFO L290 TraceCheckUtils]: 19: Hoare triple {39787#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {39787#false} is VALID [2022-04-15 06:59:41,530 INFO L290 TraceCheckUtils]: 18: Hoare triple {39787#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {39787#false} is VALID [2022-04-15 06:59:41,530 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-15 06:59:41,531 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-15 06:59:41,531 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-15 06:59:41,532 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-15 06:59:41,534 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-15 06:59:41,535 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-15 06:59:41,535 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-15 06:59:41,535 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39786#true} {39922#(< 1 ~SIZE~0)} #86#return; {39922#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:41,536 INFO L290 TraceCheckUtils]: 9: Hoare triple {39786#true} assume true; {39786#true} is VALID [2022-04-15 06:59:41,536 INFO L290 TraceCheckUtils]: 8: Hoare triple {39786#true} assume !(0 == ~cond); {39786#true} is VALID [2022-04-15 06:59:41,536 INFO L290 TraceCheckUtils]: 7: Hoare triple {39786#true} ~cond := #in~cond; {39786#true} is VALID [2022-04-15 06:59:41,536 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-15 06:59:41,536 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-15 06:59:41,536 INFO L272 TraceCheckUtils]: 4: Hoare triple {39922#(< 1 ~SIZE~0)} call #t~ret7 := main(); {39922#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:41,537 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39922#(< 1 ~SIZE~0)} {39786#true} #90#return; {39922#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:41,537 INFO L290 TraceCheckUtils]: 2: Hoare triple {39922#(< 1 ~SIZE~0)} assume true; {39922#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:41,537 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-15 06:59:41,537 INFO L272 TraceCheckUtils]: 0: Hoare triple {39786#true} call ULTIMATE.init(); {39786#true} is VALID [2022-04-15 06:59:41,538 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-15 06:59:41,538 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1989126136] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:59:41,538 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:59:41,538 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:59:42,359 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:59:42,359 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2099776671] [2022-04-15 06:59:42,360 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2099776671] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:59:42,360 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:59:42,360 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-15 06:59:42,360 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [680094520] [2022-04-15 06:59:42,360 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:59:42,360 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-15 06:59:42,360 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:59:42,360 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-15 06:59:42,396 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-15 06:59:42,396 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-15 06:59:42,397 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:59:42,397 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-15 06:59:42,397 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=168, Invalid=824, Unknown=0, NotChecked=0, Total=992 [2022-04-15 06:59:42,397 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-15 06:59:44,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:59:44,370 INFO L93 Difference]: Finished difference Result 287 states and 351 transitions. [2022-04-15 06:59:44,370 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-15 06:59:44,371 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-15 06:59:44,371 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:59:44,371 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-15 06:59:44,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 94 transitions. [2022-04-15 06:59:44,372 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-15 06:59:44,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 94 transitions. [2022-04-15 06:59:44,373 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 94 transitions. [2022-04-15 06:59:44,438 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-15 06:59:44,440 INFO L225 Difference]: With dead ends: 287 [2022-04-15 06:59:44,440 INFO L226 Difference]: Without dead ends: 200 [2022-04-15 06:59:44,441 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 48 SyntacticMatches, 15 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 472 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=180, Invalid=942, Unknown=0, NotChecked=0, Total=1122 [2022-04-15 06:59:44,441 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 47 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 821 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s 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.6s IncrementalHoareTripleChecker+Time [2022-04-15 06:59:44,441 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [48 Valid, 60 Invalid, 831 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 821 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-15 06:59:44,442 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 200 states. [2022-04-15 06:59:44,980 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 200 to 172. [2022-04-15 06:59:44,980 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:59:44,981 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-15 06:59:44,981 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-15 06:59:44,981 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-15 06:59:44,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:59:44,983 INFO L93 Difference]: Finished difference Result 200 states and 239 transitions. [2022-04-15 06:59:44,983 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 239 transitions. [2022-04-15 06:59:44,983 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:59:44,983 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:59:44,983 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-15 06:59:44,984 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-15 06:59:44,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:59:44,986 INFO L93 Difference]: Finished difference Result 200 states and 239 transitions. [2022-04-15 06:59:44,986 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 239 transitions. [2022-04-15 06:59:44,986 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:59:44,986 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:59:44,986 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:59:44,986 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:59:44,986 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-15 06:59:44,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 209 transitions. [2022-04-15 06:59:44,988 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 209 transitions. Word has length 49 [2022-04-15 06:59:44,988 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:59:44,988 INFO L478 AbstractCegarLoop]: Abstraction has 172 states and 209 transitions. [2022-04-15 06:59:44,988 INFO L479 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-15 06:59:44,988 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 209 transitions. [2022-04-15 06:59:45,396 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-15 06:59:45,396 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 209 transitions. [2022-04-15 06:59:45,397 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 06:59:45,397 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:59:45,397 INFO L499 BasicCegarLoop]: 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-15 06:59:45,414 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-15 06:59:45,605 WARN L460 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-15 06:59:45,606 INFO L403 AbstractCegarLoop]: === Iteration 40 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:59:45,606 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:59:45,606 INFO L85 PathProgramCache]: Analyzing trace with hash 2020510173, now seen corresponding path program 30 times [2022-04-15 06:59:45,606 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:59:45,606 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [459016626] [2022-04-15 06:59:49,708 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:59:49,816 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-15 06:59:50,008 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-15 06:59:50,010 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:59:50,013 INFO L85 PathProgramCache]: Analyzing trace with hash 1404106561, now seen corresponding path program 1 times [2022-04-15 06:59:50,013 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:59:50,013 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1811326417] [2022-04-15 06:59:50,013 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:59:50,013 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:59:50,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:50,171 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:59:50,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:50,176 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-15 06:59:50,177 INFO L290 TraceCheckUtils]: 1: Hoare triple {41302#(<= 20 ~SIZE~0)} assume true; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:50,177 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41302#(<= 20 ~SIZE~0)} {41297#true} #90#return; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:50,177 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:59:50,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:50,179 INFO L290 TraceCheckUtils]: 0: Hoare triple {41297#true} ~cond := #in~cond; {41297#true} is VALID [2022-04-15 06:59:50,179 INFO L290 TraceCheckUtils]: 1: Hoare triple {41297#true} assume !(0 == ~cond); {41297#true} is VALID [2022-04-15 06:59:50,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {41297#true} assume true; {41297#true} is VALID [2022-04-15 06:59:50,180 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41297#true} {41302#(<= 20 ~SIZE~0)} #86#return; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:50,180 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-15 06:59:50,181 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-15 06:59:50,181 INFO L290 TraceCheckUtils]: 2: Hoare triple {41302#(<= 20 ~SIZE~0)} assume true; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:50,182 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41302#(<= 20 ~SIZE~0)} {41297#true} #90#return; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:50,182 INFO L272 TraceCheckUtils]: 4: Hoare triple {41302#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:50,182 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-15 06:59:50,182 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-15 06:59:50,182 INFO L290 TraceCheckUtils]: 7: Hoare triple {41297#true} ~cond := #in~cond; {41297#true} is VALID [2022-04-15 06:59:50,182 INFO L290 TraceCheckUtils]: 8: Hoare triple {41297#true} assume !(0 == ~cond); {41297#true} is VALID [2022-04-15 06:59:50,182 INFO L290 TraceCheckUtils]: 9: Hoare triple {41297#true} assume true; {41297#true} is VALID [2022-04-15 06:59:50,183 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41297#true} {41302#(<= 20 ~SIZE~0)} #86#return; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:50,183 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-15 06:59:50,184 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-15 06:59:50,184 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-15 06:59:50,185 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-15 06:59:50,186 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-15 06:59:50,186 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-15 06:59:50,187 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-15 06:59:50,187 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-15 06:59:50,188 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-15 06:59:50,188 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-15 06:59:50,189 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-15 06:59:50,189 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-15 06:59:50,190 INFO L290 TraceCheckUtils]: 23: Hoare triple {41314#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {41298#false} is VALID [2022-04-15 06:59:50,190 INFO L290 TraceCheckUtils]: 24: Hoare triple {41298#false} assume !false; {41298#false} is VALID [2022-04-15 06:59:50,190 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-15 06:59:50,190 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:59:50,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1811326417] [2022-04-15 06:59:50,190 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1811326417] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:59:50,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [908895062] [2022-04-15 06:59:50,190 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:59:50,190 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:59:50,191 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:59:50,191 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-15 06:59:50,192 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-15 06:59:50,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:50,222 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:59:50,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:50,229 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:59:50,480 INFO L272 TraceCheckUtils]: 0: Hoare triple {41297#true} call ULTIMATE.init(); {41297#true} is VALID [2022-04-15 06:59:50,481 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-15 06:59:50,481 INFO L290 TraceCheckUtils]: 2: Hoare triple {41302#(<= 20 ~SIZE~0)} assume true; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:50,481 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41302#(<= 20 ~SIZE~0)} {41297#true} #90#return; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:50,482 INFO L272 TraceCheckUtils]: 4: Hoare triple {41302#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:50,482 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-15 06:59:50,482 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-15 06:59:50,483 INFO L290 TraceCheckUtils]: 7: Hoare triple {41302#(<= 20 ~SIZE~0)} ~cond := #in~cond; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:50,483 INFO L290 TraceCheckUtils]: 8: Hoare triple {41302#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:50,483 INFO L290 TraceCheckUtils]: 9: Hoare triple {41302#(<= 20 ~SIZE~0)} assume true; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:50,484 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41302#(<= 20 ~SIZE~0)} {41302#(<= 20 ~SIZE~0)} #86#return; {41302#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:50,484 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-15 06:59:50,484 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-15 06:59:50,485 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-15 06:59:50,486 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-15 06:59:50,486 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-15 06:59:50,487 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-15 06:59:50,487 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-15 06:59:50,487 INFO L290 TraceCheckUtils]: 18: Hoare triple {41298#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {41298#false} is VALID [2022-04-15 06:59:50,487 INFO L290 TraceCheckUtils]: 19: Hoare triple {41298#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {41298#false} is VALID [2022-04-15 06:59:50,487 INFO L290 TraceCheckUtils]: 20: Hoare triple {41298#false} assume !(~d~0 == ~SIZE~0); {41298#false} is VALID [2022-04-15 06:59:50,488 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-15 06:59:50,488 INFO L290 TraceCheckUtils]: 22: Hoare triple {41298#false} ~cond := #in~cond; {41298#false} is VALID [2022-04-15 06:59:50,488 INFO L290 TraceCheckUtils]: 23: Hoare triple {41298#false} assume 0 == ~cond; {41298#false} is VALID [2022-04-15 06:59:50,488 INFO L290 TraceCheckUtils]: 24: Hoare triple {41298#false} assume !false; {41298#false} is VALID [2022-04-15 06:59:50,488 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-15 06:59:50,488 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:59:50,756 INFO L290 TraceCheckUtils]: 24: Hoare triple {41298#false} assume !false; {41298#false} is VALID [2022-04-15 06:59:50,756 INFO L290 TraceCheckUtils]: 23: Hoare triple {41298#false} assume 0 == ~cond; {41298#false} is VALID [2022-04-15 06:59:50,756 INFO L290 TraceCheckUtils]: 22: Hoare triple {41298#false} ~cond := #in~cond; {41298#false} is VALID [2022-04-15 06:59:50,756 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-15 06:59:50,756 INFO L290 TraceCheckUtils]: 20: Hoare triple {41298#false} assume !(~d~0 == ~SIZE~0); {41298#false} is VALID [2022-04-15 06:59:50,756 INFO L290 TraceCheckUtils]: 19: Hoare triple {41298#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {41298#false} is VALID [2022-04-15 06:59:50,756 INFO L290 TraceCheckUtils]: 18: Hoare triple {41298#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {41298#false} is VALID [2022-04-15 06:59:50,757 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-15 06:59:50,757 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-15 06:59:50,758 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-15 06:59:50,758 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-15 06:59:50,759 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-15 06:59:50,759 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-15 06:59:50,759 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-15 06:59:50,760 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41297#true} {41433#(< 1 ~SIZE~0)} #86#return; {41433#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:50,760 INFO L290 TraceCheckUtils]: 9: Hoare triple {41297#true} assume true; {41297#true} is VALID [2022-04-15 06:59:50,760 INFO L290 TraceCheckUtils]: 8: Hoare triple {41297#true} assume !(0 == ~cond); {41297#true} is VALID [2022-04-15 06:59:50,760 INFO L290 TraceCheckUtils]: 7: Hoare triple {41297#true} ~cond := #in~cond; {41297#true} is VALID [2022-04-15 06:59:50,760 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-15 06:59:50,760 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-15 06:59:50,761 INFO L272 TraceCheckUtils]: 4: Hoare triple {41433#(< 1 ~SIZE~0)} call #t~ret7 := main(); {41433#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:50,761 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41433#(< 1 ~SIZE~0)} {41297#true} #90#return; {41433#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:50,761 INFO L290 TraceCheckUtils]: 2: Hoare triple {41433#(< 1 ~SIZE~0)} assume true; {41433#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:50,762 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-15 06:59:50,762 INFO L272 TraceCheckUtils]: 0: Hoare triple {41297#true} call ULTIMATE.init(); {41297#true} is VALID [2022-04-15 06:59:50,762 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-15 06:59:50,762 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [908895062] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:59:50,762 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:59:50,762 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:59:51,630 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:59:51,630 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [459016626] [2022-04-15 06:59:51,631 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [459016626] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:59:51,631 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:59:51,631 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [24] imperfect sequences [] total 24 [2022-04-15 06:59:51,631 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1243490325] [2022-04-15 06:59:51,631 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:59:51,631 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-15 06:59:51,631 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:59:51,631 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-15 06:59:51,669 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-15 06:59:51,669 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-15 06:59:51,669 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:59:51,669 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-15 06:59:51,669 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=182, Invalid=874, Unknown=0, NotChecked=0, Total=1056 [2022-04-15 06:59:51,670 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-15 06:59:53,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:59:53,946 INFO L93 Difference]: Finished difference Result 290 states and 354 transitions. [2022-04-15 06:59:53,946 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-15 06:59:53,946 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-15 06:59:53,946 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 06:59:53,946 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-15 06:59:53,947 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 95 transitions. [2022-04-15 06:59:53,947 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-15 06:59:53,948 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 95 transitions. [2022-04-15 06:59:53,948 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 95 transitions. [2022-04-15 06:59:54,015 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-15 06:59:54,018 INFO L225 Difference]: With dead ends: 290 [2022-04-15 06:59:54,018 INFO L226 Difference]: Without dead ends: 203 [2022-04-15 06:59:54,020 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 48 SyntacticMatches, 14 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 513 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=194, Invalid=996, Unknown=0, NotChecked=0, Total=1190 [2022-04-15 06:59:54,020 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 56 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 900 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-15 06:59:54,020 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [57 Valid, 60 Invalid, 911 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 900 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 06:59:54,021 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 203 states. [2022-04-15 06:59:54,538 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 203 to 172. [2022-04-15 06:59:54,538 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 06:59:54,538 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-15 06:59:54,539 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-15 06:59:54,539 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-15 06:59:54,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:59:54,541 INFO L93 Difference]: Finished difference Result 203 states and 242 transitions. [2022-04-15 06:59:54,541 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 242 transitions. [2022-04-15 06:59:54,541 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:59:54,541 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:59:54,541 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-15 06:59:54,542 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-15 06:59:54,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 06:59:54,544 INFO L93 Difference]: Finished difference Result 203 states and 242 transitions. [2022-04-15 06:59:54,544 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 242 transitions. [2022-04-15 06:59:54,544 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 06:59:54,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 06:59:54,544 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 06:59:54,544 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 06:59:54,544 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-15 06:59:54,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 209 transitions. [2022-04-15 06:59:54,546 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 209 transitions. Word has length 49 [2022-04-15 06:59:54,546 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 06:59:54,546 INFO L478 AbstractCegarLoop]: Abstraction has 172 states and 209 transitions. [2022-04-15 06:59:54,547 INFO L479 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-15 06:59:54,547 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 209 transitions. [2022-04-15 06:59:55,080 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-15 06:59:55,080 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 209 transitions. [2022-04-15 06:59:55,080 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 06:59:55,080 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 06:59:55,080 INFO L499 BasicCegarLoop]: 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-15 06:59:55,097 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Ended with exit code 0 [2022-04-15 06:59:55,281 WARN L460 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-15 06:59:55,281 INFO L403 AbstractCegarLoop]: === Iteration 41 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 06:59:55,281 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 06:59:55,281 INFO L85 PathProgramCache]: Analyzing trace with hash -888253729, now seen corresponding path program 31 times [2022-04-15 06:59:55,281 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 06:59:55,281 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [835363546] [2022-04-15 06:59:57,987 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 06:59:58,110 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-15 06:59:58,312 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-15 06:59:58,314 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 06:59:58,317 INFO L85 PathProgramCache]: Analyzing trace with hash -398337983, now seen corresponding path program 1 times [2022-04-15 06:59:58,318 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 06:59:58,318 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [499505711] [2022-04-15 06:59:58,318 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:59:58,318 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 06:59:58,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:58,476 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 06:59:58,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:58,481 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-15 06:59:58,481 INFO L290 TraceCheckUtils]: 1: Hoare triple {42826#(<= 20 ~SIZE~0)} assume true; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:58,482 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42826#(<= 20 ~SIZE~0)} {42821#true} #90#return; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:58,482 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 06:59:58,482 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:58,484 INFO L290 TraceCheckUtils]: 0: Hoare triple {42821#true} ~cond := #in~cond; {42821#true} is VALID [2022-04-15 06:59:58,484 INFO L290 TraceCheckUtils]: 1: Hoare triple {42821#true} assume !(0 == ~cond); {42821#true} is VALID [2022-04-15 06:59:58,484 INFO L290 TraceCheckUtils]: 2: Hoare triple {42821#true} assume true; {42821#true} is VALID [2022-04-15 06:59:58,484 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42821#true} {42826#(<= 20 ~SIZE~0)} #86#return; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:58,485 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-15 06:59:58,485 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-15 06:59:58,486 INFO L290 TraceCheckUtils]: 2: Hoare triple {42826#(<= 20 ~SIZE~0)} assume true; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:58,486 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42826#(<= 20 ~SIZE~0)} {42821#true} #90#return; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:58,486 INFO L272 TraceCheckUtils]: 4: Hoare triple {42826#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:58,486 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-15 06:59:58,487 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-15 06:59:58,487 INFO L290 TraceCheckUtils]: 7: Hoare triple {42821#true} ~cond := #in~cond; {42821#true} is VALID [2022-04-15 06:59:58,487 INFO L290 TraceCheckUtils]: 8: Hoare triple {42821#true} assume !(0 == ~cond); {42821#true} is VALID [2022-04-15 06:59:58,487 INFO L290 TraceCheckUtils]: 9: Hoare triple {42821#true} assume true; {42821#true} is VALID [2022-04-15 06:59:58,487 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42821#true} {42826#(<= 20 ~SIZE~0)} #86#return; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:58,488 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-15 06:59:58,488 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-15 06:59:58,489 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-15 06:59:58,489 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-15 06:59:58,490 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-15 06:59:58,490 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-15 06:59:58,491 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-15 06:59:58,491 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-15 06:59:58,492 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-15 06:59:58,492 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-15 06:59:58,493 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-15 06:59:58,493 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-15 06:59:58,494 INFO L290 TraceCheckUtils]: 23: Hoare triple {42838#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {42822#false} is VALID [2022-04-15 06:59:58,494 INFO L290 TraceCheckUtils]: 24: Hoare triple {42822#false} assume !false; {42822#false} is VALID [2022-04-15 06:59:58,494 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-15 06:59:58,494 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 06:59:58,494 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [499505711] [2022-04-15 06:59:58,494 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [499505711] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 06:59:58,494 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1432790995] [2022-04-15 06:59:58,494 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 06:59:58,494 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 06:59:58,494 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 06:59:58,495 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-15 06:59:58,515 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-15 06:59:58,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:58,544 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 06:59:58,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 06:59:58,551 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 06:59:58,762 INFO L272 TraceCheckUtils]: 0: Hoare triple {42821#true} call ULTIMATE.init(); {42821#true} is VALID [2022-04-15 06:59:58,763 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-15 06:59:58,763 INFO L290 TraceCheckUtils]: 2: Hoare triple {42826#(<= 20 ~SIZE~0)} assume true; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:58,764 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42826#(<= 20 ~SIZE~0)} {42821#true} #90#return; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:58,764 INFO L272 TraceCheckUtils]: 4: Hoare triple {42826#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:58,764 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-15 06:59:58,765 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-15 06:59:58,765 INFO L290 TraceCheckUtils]: 7: Hoare triple {42826#(<= 20 ~SIZE~0)} ~cond := #in~cond; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:58,765 INFO L290 TraceCheckUtils]: 8: Hoare triple {42826#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:58,765 INFO L290 TraceCheckUtils]: 9: Hoare triple {42826#(<= 20 ~SIZE~0)} assume true; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:58,766 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42826#(<= 20 ~SIZE~0)} {42826#(<= 20 ~SIZE~0)} #86#return; {42826#(<= 20 ~SIZE~0)} is VALID [2022-04-15 06:59:58,766 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-15 06:59:58,766 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-15 06:59:58,767 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-15 06:59:58,779 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-15 06:59:58,794 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-15 06:59:58,794 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-15 06:59:58,795 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-15 06:59:58,795 INFO L290 TraceCheckUtils]: 18: Hoare triple {42822#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {42822#false} is VALID [2022-04-15 06:59:58,795 INFO L290 TraceCheckUtils]: 19: Hoare triple {42822#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {42822#false} is VALID [2022-04-15 06:59:58,795 INFO L290 TraceCheckUtils]: 20: Hoare triple {42822#false} assume !(~d~0 == ~SIZE~0); {42822#false} is VALID [2022-04-15 06:59:58,795 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-15 06:59:58,795 INFO L290 TraceCheckUtils]: 22: Hoare triple {42822#false} ~cond := #in~cond; {42822#false} is VALID [2022-04-15 06:59:58,795 INFO L290 TraceCheckUtils]: 23: Hoare triple {42822#false} assume 0 == ~cond; {42822#false} is VALID [2022-04-15 06:59:58,795 INFO L290 TraceCheckUtils]: 24: Hoare triple {42822#false} assume !false; {42822#false} is VALID [2022-04-15 06:59:58,796 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-15 06:59:58,796 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 06:59:59,034 INFO L290 TraceCheckUtils]: 24: Hoare triple {42822#false} assume !false; {42822#false} is VALID [2022-04-15 06:59:59,034 INFO L290 TraceCheckUtils]: 23: Hoare triple {42822#false} assume 0 == ~cond; {42822#false} is VALID [2022-04-15 06:59:59,035 INFO L290 TraceCheckUtils]: 22: Hoare triple {42822#false} ~cond := #in~cond; {42822#false} is VALID [2022-04-15 06:59:59,035 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-15 06:59:59,035 INFO L290 TraceCheckUtils]: 20: Hoare triple {42822#false} assume !(~d~0 == ~SIZE~0); {42822#false} is VALID [2022-04-15 06:59:59,035 INFO L290 TraceCheckUtils]: 19: Hoare triple {42822#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {42822#false} is VALID [2022-04-15 06:59:59,035 INFO L290 TraceCheckUtils]: 18: Hoare triple {42822#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {42822#false} is VALID [2022-04-15 06:59:59,035 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-15 06:59:59,036 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-15 06:59:59,036 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-15 06:59:59,036 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-15 06:59:59,037 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-15 06:59:59,037 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-15 06:59:59,038 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-15 06:59:59,038 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42821#true} {42957#(< 1 ~SIZE~0)} #86#return; {42957#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:59,038 INFO L290 TraceCheckUtils]: 9: Hoare triple {42821#true} assume true; {42821#true} is VALID [2022-04-15 06:59:59,038 INFO L290 TraceCheckUtils]: 8: Hoare triple {42821#true} assume !(0 == ~cond); {42821#true} is VALID [2022-04-15 06:59:59,038 INFO L290 TraceCheckUtils]: 7: Hoare triple {42821#true} ~cond := #in~cond; {42821#true} is VALID [2022-04-15 06:59:59,038 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-15 06:59:59,038 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-15 06:59:59,039 INFO L272 TraceCheckUtils]: 4: Hoare triple {42957#(< 1 ~SIZE~0)} call #t~ret7 := main(); {42957#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:59,039 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42957#(< 1 ~SIZE~0)} {42821#true} #90#return; {42957#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:59,039 INFO L290 TraceCheckUtils]: 2: Hoare triple {42957#(< 1 ~SIZE~0)} assume true; {42957#(< 1 ~SIZE~0)} is VALID [2022-04-15 06:59:59,040 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-15 06:59:59,040 INFO L272 TraceCheckUtils]: 0: Hoare triple {42821#true} call ULTIMATE.init(); {42821#true} is VALID [2022-04-15 06:59:59,040 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-15 06:59:59,040 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1432790995] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 06:59:59,040 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 06:59:59,040 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 06:59:59,834 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 06:59:59,834 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [835363546] [2022-04-15 06:59:59,834 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [835363546] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 06:59:59,834 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 06:59:59,835 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-15 06:59:59,835 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [509807228] [2022-04-15 06:59:59,835 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 06:59:59,835 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-15 06:59:59,835 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 06:59:59,835 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-15 06:59:59,872 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-15 06:59:59,872 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-15 06:59:59,872 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 06:59:59,873 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-15 06:59:59,873 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=196, Invalid=926, Unknown=0, NotChecked=0, Total=1122 [2022-04-15 06:59:59,873 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-15 07:00:02,565 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:02,565 INFO L93 Difference]: Finished difference Result 287 states and 351 transitions. [2022-04-15 07:00:02,565 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-15 07:00:02,566 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-15 07:00:02,566 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:00:02,566 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-15 07:00:02,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 96 transitions. [2022-04-15 07:00:02,566 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-15 07:00:02,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 96 transitions. [2022-04-15 07:00:02,567 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 96 transitions. [2022-04-15 07:00:02,615 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-15 07:00:02,617 INFO L225 Difference]: With dead ends: 287 [2022-04-15 07:00:02,617 INFO L226 Difference]: Without dead ends: 200 [2022-04-15 07:00:02,618 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 48 SyntacticMatches, 13 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 545 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=208, Invalid=1052, Unknown=0, NotChecked=0, Total=1260 [2022-04-15 07:00:02,618 INFO L913 BasicCegarLoop]: 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-15 07:00:02,619 INFO L914 BasicCegarLoop]: 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-15 07:00:02,620 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 200 states. [2022-04-15 07:00:03,009 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 200 to 172. [2022-04-15 07:00:03,009 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:00:03,009 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-15 07:00:03,009 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-15 07:00:03,010 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-15 07:00:03,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:03,012 INFO L93 Difference]: Finished difference Result 200 states and 239 transitions. [2022-04-15 07:00:03,012 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 239 transitions. [2022-04-15 07:00:03,012 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:00:03,012 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:00:03,012 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-15 07:00:03,012 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-15 07:00:03,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:03,014 INFO L93 Difference]: Finished difference Result 200 states and 239 transitions. [2022-04-15 07:00:03,014 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 239 transitions. [2022-04-15 07:00:03,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:00:03,015 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:00:03,015 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:00:03,015 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:00:03,015 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-15 07:00:03,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 209 transitions. [2022-04-15 07:00:03,017 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 209 transitions. Word has length 49 [2022-04-15 07:00:03,017 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:00:03,017 INFO L478 AbstractCegarLoop]: Abstraction has 172 states and 209 transitions. [2022-04-15 07:00:03,017 INFO L479 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-15 07:00:03,017 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 209 transitions. [2022-04-15 07:00:03,482 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-15 07:00:03,482 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 209 transitions. [2022-04-15 07:00:03,483 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 07:00:03,483 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:00:03,483 INFO L499 BasicCegarLoop]: 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-15 07:00:03,499 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Ended with exit code 0 [2022-04-15 07:00:03,699 WARN L460 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-15 07:00:03,699 INFO L403 AbstractCegarLoop]: === Iteration 42 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:00:03,699 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:00:03,699 INFO L85 PathProgramCache]: Analyzing trace with hash -826214115, now seen corresponding path program 32 times [2022-04-15 07:00:03,699 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:00:03,699 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1378000102] [2022-04-15 07:00:03,855 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-15 07:00:04,038 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-15 07:00:04,044 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:00:04,046 INFO L85 PathProgramCache]: Analyzing trace with hash 2094184769, now seen corresponding path program 1 times [2022-04-15 07:00:04,046 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:00:04,046 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [785566663] [2022-04-15 07:00:04,046 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:00:04,047 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:00:04,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:04,189 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:00:04,191 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:04,195 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-15 07:00:04,195 INFO L290 TraceCheckUtils]: 1: Hoare triple {44339#(<= 20 ~SIZE~0)} assume true; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:04,195 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {44339#(<= 20 ~SIZE~0)} {44334#true} #90#return; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:04,196 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:00:04,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:04,198 INFO L290 TraceCheckUtils]: 0: Hoare triple {44334#true} ~cond := #in~cond; {44334#true} is VALID [2022-04-15 07:00:04,198 INFO L290 TraceCheckUtils]: 1: Hoare triple {44334#true} assume !(0 == ~cond); {44334#true} is VALID [2022-04-15 07:00:04,198 INFO L290 TraceCheckUtils]: 2: Hoare triple {44334#true} assume true; {44334#true} is VALID [2022-04-15 07:00:04,199 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44334#true} {44339#(<= 20 ~SIZE~0)} #86#return; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:04,199 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-15 07:00:04,200 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-15 07:00:04,200 INFO L290 TraceCheckUtils]: 2: Hoare triple {44339#(<= 20 ~SIZE~0)} assume true; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:04,200 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44339#(<= 20 ~SIZE~0)} {44334#true} #90#return; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:04,200 INFO L272 TraceCheckUtils]: 4: Hoare triple {44339#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:04,201 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-15 07:00:04,201 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-15 07:00:04,201 INFO L290 TraceCheckUtils]: 7: Hoare triple {44334#true} ~cond := #in~cond; {44334#true} is VALID [2022-04-15 07:00:04,201 INFO L290 TraceCheckUtils]: 8: Hoare triple {44334#true} assume !(0 == ~cond); {44334#true} is VALID [2022-04-15 07:00:04,201 INFO L290 TraceCheckUtils]: 9: Hoare triple {44334#true} assume true; {44334#true} is VALID [2022-04-15 07:00:04,201 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44334#true} {44339#(<= 20 ~SIZE~0)} #86#return; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:04,202 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-15 07:00:04,202 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-15 07:00:04,203 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-15 07:00:04,203 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-15 07:00:04,204 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-15 07:00:04,204 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-15 07:00:04,205 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-15 07:00:04,205 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-15 07:00:04,206 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-15 07:00:04,206 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-15 07:00:04,207 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-15 07:00:04,207 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-15 07:00:04,207 INFO L290 TraceCheckUtils]: 23: Hoare triple {44351#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {44335#false} is VALID [2022-04-15 07:00:04,207 INFO L290 TraceCheckUtils]: 24: Hoare triple {44335#false} assume !false; {44335#false} is VALID [2022-04-15 07:00:04,207 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-15 07:00:04,207 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:00:04,207 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [785566663] [2022-04-15 07:00:04,208 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [785566663] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:00:04,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1750253762] [2022-04-15 07:00:04,208 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:00:04,208 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:00:04,208 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:00:04,209 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-15 07:00:04,209 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-15 07:00:04,252 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:04,253 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:00:04,258 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:04,258 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:00:04,403 INFO L272 TraceCheckUtils]: 0: Hoare triple {44334#true} call ULTIMATE.init(); {44334#true} is VALID [2022-04-15 07:00:04,404 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-15 07:00:04,404 INFO L290 TraceCheckUtils]: 2: Hoare triple {44339#(<= 20 ~SIZE~0)} assume true; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:04,407 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44339#(<= 20 ~SIZE~0)} {44334#true} #90#return; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:04,407 INFO L272 TraceCheckUtils]: 4: Hoare triple {44339#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:04,407 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-15 07:00:04,407 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-15 07:00:04,408 INFO L290 TraceCheckUtils]: 7: Hoare triple {44339#(<= 20 ~SIZE~0)} ~cond := #in~cond; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:04,408 INFO L290 TraceCheckUtils]: 8: Hoare triple {44339#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:04,408 INFO L290 TraceCheckUtils]: 9: Hoare triple {44339#(<= 20 ~SIZE~0)} assume true; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:04,408 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44339#(<= 20 ~SIZE~0)} {44339#(<= 20 ~SIZE~0)} #86#return; {44339#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:04,408 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-15 07:00:04,409 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-15 07:00:04,409 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-15 07:00:04,410 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-15 07:00:04,410 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-15 07:00:04,411 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-15 07:00:04,411 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-15 07:00:04,411 INFO L290 TraceCheckUtils]: 18: Hoare triple {44335#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {44335#false} is VALID [2022-04-15 07:00:04,411 INFO L290 TraceCheckUtils]: 19: Hoare triple {44335#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {44335#false} is VALID [2022-04-15 07:00:04,411 INFO L290 TraceCheckUtils]: 20: Hoare triple {44335#false} assume !(~d~0 == ~SIZE~0); {44335#false} is VALID [2022-04-15 07:00:04,411 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-15 07:00:04,411 INFO L290 TraceCheckUtils]: 22: Hoare triple {44335#false} ~cond := #in~cond; {44335#false} is VALID [2022-04-15 07:00:04,412 INFO L290 TraceCheckUtils]: 23: Hoare triple {44335#false} assume 0 == ~cond; {44335#false} is VALID [2022-04-15 07:00:04,412 INFO L290 TraceCheckUtils]: 24: Hoare triple {44335#false} assume !false; {44335#false} is VALID [2022-04-15 07:00:04,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-15 07:00:04,412 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:00:04,582 INFO L290 TraceCheckUtils]: 24: Hoare triple {44335#false} assume !false; {44335#false} is VALID [2022-04-15 07:00:04,583 INFO L290 TraceCheckUtils]: 23: Hoare triple {44335#false} assume 0 == ~cond; {44335#false} is VALID [2022-04-15 07:00:04,583 INFO L290 TraceCheckUtils]: 22: Hoare triple {44335#false} ~cond := #in~cond; {44335#false} is VALID [2022-04-15 07:00:04,583 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-15 07:00:04,583 INFO L290 TraceCheckUtils]: 20: Hoare triple {44335#false} assume !(~d~0 == ~SIZE~0); {44335#false} is VALID [2022-04-15 07:00:04,583 INFO L290 TraceCheckUtils]: 19: Hoare triple {44335#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {44335#false} is VALID [2022-04-15 07:00:04,583 INFO L290 TraceCheckUtils]: 18: Hoare triple {44335#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {44335#false} is VALID [2022-04-15 07:00:04,583 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-15 07:00:04,584 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-15 07:00:04,584 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-15 07:00:04,584 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-15 07:00:04,585 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-15 07:00:04,585 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-15 07:00:04,585 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-15 07:00:04,586 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44334#true} {44470#(< 1 ~SIZE~0)} #86#return; {44470#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:04,586 INFO L290 TraceCheckUtils]: 9: Hoare triple {44334#true} assume true; {44334#true} is VALID [2022-04-15 07:00:04,586 INFO L290 TraceCheckUtils]: 8: Hoare triple {44334#true} assume !(0 == ~cond); {44334#true} is VALID [2022-04-15 07:00:04,586 INFO L290 TraceCheckUtils]: 7: Hoare triple {44334#true} ~cond := #in~cond; {44334#true} is VALID [2022-04-15 07:00:04,586 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-15 07:00:04,586 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-15 07:00:04,586 INFO L272 TraceCheckUtils]: 4: Hoare triple {44470#(< 1 ~SIZE~0)} call #t~ret7 := main(); {44470#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:04,587 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44470#(< 1 ~SIZE~0)} {44334#true} #90#return; {44470#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:04,587 INFO L290 TraceCheckUtils]: 2: Hoare triple {44470#(< 1 ~SIZE~0)} assume true; {44470#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:04,587 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-15 07:00:04,587 INFO L272 TraceCheckUtils]: 0: Hoare triple {44334#true} call ULTIMATE.init(); {44334#true} is VALID [2022-04-15 07:00:04,588 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-15 07:00:04,588 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1750253762] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:00:04,588 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:00:04,588 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:00:05,412 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:00:05,412 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1378000102] [2022-04-15 07:00:05,412 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1378000102] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:00:05,412 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:00:05,412 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-15 07:00:05,412 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [531902510] [2022-04-15 07:00:05,412 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:00:05,412 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-15 07:00:05,413 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:00:05,413 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-15 07:00:05,448 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-15 07:00:05,448 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-15 07:00:05,448 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:00:05,449 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-15 07:00:05,449 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=210, Invalid=980, Unknown=0, NotChecked=0, Total=1190 [2022-04-15 07:00:05,449 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-15 07:00:07,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:07,527 INFO L93 Difference]: Finished difference Result 284 states and 348 transitions. [2022-04-15 07:00:07,527 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-15 07:00:07,527 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-15 07:00:07,528 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:00:07,528 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-15 07:00:07,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 97 transitions. [2022-04-15 07:00:07,528 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-15 07:00:07,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 97 transitions. [2022-04-15 07:00:07,529 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 97 transitions. [2022-04-15 07:00:07,603 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-15 07:00:07,605 INFO L225 Difference]: With dead ends: 284 [2022-04-15 07:00:07,605 INFO L226 Difference]: Without dead ends: 197 [2022-04-15 07:00:07,606 INFO L912 BasicCegarLoop]: 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-15 07:00:07,606 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 50 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 957 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s 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-15 07:00:07,606 INFO L914 BasicCegarLoop]: 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-15 07:00:07,606 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-15 07:00:08,200 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 172. [2022-04-15 07:00:08,200 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:00:08,200 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-15 07:00:08,200 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-15 07:00:08,200 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-15 07:00:08,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:08,217 INFO L93 Difference]: Finished difference Result 197 states and 236 transitions. [2022-04-15 07:00:08,217 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 236 transitions. [2022-04-15 07:00:08,217 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:00:08,217 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:00:08,218 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-15 07:00:08,218 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-15 07:00:08,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:08,220 INFO L93 Difference]: Finished difference Result 197 states and 236 transitions. [2022-04-15 07:00:08,220 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 236 transitions. [2022-04-15 07:00:08,220 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:00:08,220 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:00:08,220 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:00:08,220 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:00:08,220 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-15 07:00:08,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 209 transitions. [2022-04-15 07:00:08,222 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 209 transitions. Word has length 49 [2022-04-15 07:00:08,222 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:00:08,222 INFO L478 AbstractCegarLoop]: Abstraction has 172 states and 209 transitions. [2022-04-15 07:00:08,222 INFO L479 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-15 07:00:08,222 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 209 transitions. [2022-04-15 07:00:08,702 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-15 07:00:08,702 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 209 transitions. [2022-04-15 07:00:08,702 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 07:00:08,702 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:00:08,702 INFO L499 BasicCegarLoop]: 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-15 07:00:08,721 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-15 07:00:08,903 WARN L460 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-15 07:00:08,903 INFO L403 AbstractCegarLoop]: === Iteration 43 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:00:08,903 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:00:08,903 INFO L85 PathProgramCache]: Analyzing trace with hash 1663314847, now seen corresponding path program 33 times [2022-04-15 07:00:08,903 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:00:08,903 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [908322604] [2022-04-15 07:00:11,547 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:00:11,655 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-15 07:00:15,770 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:00:15,876 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-15 07:00:15,877 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:00:15,880 INFO L85 PathProgramCache]: Analyzing trace with hash 291740225, now seen corresponding path program 1 times [2022-04-15 07:00:15,880 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:00:15,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1045350449] [2022-04-15 07:00:15,881 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:00:15,881 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:00:15,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:16,007 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:00:16,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:16,014 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-15 07:00:16,014 INFO L290 TraceCheckUtils]: 1: Hoare triple {45841#(<= 20 ~SIZE~0)} assume true; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:16,015 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {45841#(<= 20 ~SIZE~0)} {45836#true} #90#return; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:16,015 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:00:16,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:16,017 INFO L290 TraceCheckUtils]: 0: Hoare triple {45836#true} ~cond := #in~cond; {45836#true} is VALID [2022-04-15 07:00:16,017 INFO L290 TraceCheckUtils]: 1: Hoare triple {45836#true} assume !(0 == ~cond); {45836#true} is VALID [2022-04-15 07:00:16,017 INFO L290 TraceCheckUtils]: 2: Hoare triple {45836#true} assume true; {45836#true} is VALID [2022-04-15 07:00:16,017 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45836#true} {45841#(<= 20 ~SIZE~0)} #86#return; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:16,018 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-15 07:00:16,018 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-15 07:00:16,018 INFO L290 TraceCheckUtils]: 2: Hoare triple {45841#(<= 20 ~SIZE~0)} assume true; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:16,019 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45841#(<= 20 ~SIZE~0)} {45836#true} #90#return; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:16,019 INFO L272 TraceCheckUtils]: 4: Hoare triple {45841#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:16,019 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-15 07:00:16,019 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-15 07:00:16,019 INFO L290 TraceCheckUtils]: 7: Hoare triple {45836#true} ~cond := #in~cond; {45836#true} is VALID [2022-04-15 07:00:16,019 INFO L290 TraceCheckUtils]: 8: Hoare triple {45836#true} assume !(0 == ~cond); {45836#true} is VALID [2022-04-15 07:00:16,019 INFO L290 TraceCheckUtils]: 9: Hoare triple {45836#true} assume true; {45836#true} is VALID [2022-04-15 07:00:16,020 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {45836#true} {45841#(<= 20 ~SIZE~0)} #86#return; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:16,020 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-15 07:00:16,020 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-15 07:00:16,021 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-15 07:00:16,021 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-15 07:00:16,022 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-15 07:00:16,022 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-15 07:00:16,023 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-15 07:00:16,024 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-15 07:00:16,024 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-15 07:00:16,025 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-15 07:00:16,025 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-15 07:00:16,026 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-15 07:00:16,026 INFO L290 TraceCheckUtils]: 23: Hoare triple {45853#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {45837#false} is VALID [2022-04-15 07:00:16,026 INFO L290 TraceCheckUtils]: 24: Hoare triple {45837#false} assume !false; {45837#false} is VALID [2022-04-15 07:00:16,026 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-15 07:00:16,026 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:00:16,026 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1045350449] [2022-04-15 07:00:16,026 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1045350449] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:00:16,026 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1135680054] [2022-04-15 07:00:16,027 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:00:16,027 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:00:16,027 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:00:16,028 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-15 07:00:16,029 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-15 07:00:16,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:16,056 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:00:16,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:16,062 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:00:16,231 INFO L272 TraceCheckUtils]: 0: Hoare triple {45836#true} call ULTIMATE.init(); {45836#true} is VALID [2022-04-15 07:00:16,232 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-15 07:00:16,232 INFO L290 TraceCheckUtils]: 2: Hoare triple {45841#(<= 20 ~SIZE~0)} assume true; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:16,233 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45841#(<= 20 ~SIZE~0)} {45836#true} #90#return; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:16,233 INFO L272 TraceCheckUtils]: 4: Hoare triple {45841#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:16,233 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-15 07:00:16,233 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-15 07:00:16,233 INFO L290 TraceCheckUtils]: 7: Hoare triple {45841#(<= 20 ~SIZE~0)} ~cond := #in~cond; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:16,234 INFO L290 TraceCheckUtils]: 8: Hoare triple {45841#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:16,234 INFO L290 TraceCheckUtils]: 9: Hoare triple {45841#(<= 20 ~SIZE~0)} assume true; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:16,234 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {45841#(<= 20 ~SIZE~0)} {45841#(<= 20 ~SIZE~0)} #86#return; {45841#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:16,234 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-15 07:00:16,235 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-15 07:00:16,235 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-15 07:00:16,236 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-15 07:00:16,236 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-15 07:00:16,237 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-15 07:00:16,237 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-15 07:00:16,237 INFO L290 TraceCheckUtils]: 18: Hoare triple {45837#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {45837#false} is VALID [2022-04-15 07:00:16,237 INFO L290 TraceCheckUtils]: 19: Hoare triple {45837#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {45837#false} is VALID [2022-04-15 07:00:16,237 INFO L290 TraceCheckUtils]: 20: Hoare triple {45837#false} assume !(~d~0 == ~SIZE~0); {45837#false} is VALID [2022-04-15 07:00:16,237 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-15 07:00:16,237 INFO L290 TraceCheckUtils]: 22: Hoare triple {45837#false} ~cond := #in~cond; {45837#false} is VALID [2022-04-15 07:00:16,237 INFO L290 TraceCheckUtils]: 23: Hoare triple {45837#false} assume 0 == ~cond; {45837#false} is VALID [2022-04-15 07:00:16,237 INFO L290 TraceCheckUtils]: 24: Hoare triple {45837#false} assume !false; {45837#false} is VALID [2022-04-15 07:00:16,238 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-15 07:00:16,238 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:00:16,426 INFO L290 TraceCheckUtils]: 24: Hoare triple {45837#false} assume !false; {45837#false} is VALID [2022-04-15 07:00:16,427 INFO L290 TraceCheckUtils]: 23: Hoare triple {45837#false} assume 0 == ~cond; {45837#false} is VALID [2022-04-15 07:00:16,427 INFO L290 TraceCheckUtils]: 22: Hoare triple {45837#false} ~cond := #in~cond; {45837#false} is VALID [2022-04-15 07:00:16,427 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-15 07:00:16,427 INFO L290 TraceCheckUtils]: 20: Hoare triple {45837#false} assume !(~d~0 == ~SIZE~0); {45837#false} is VALID [2022-04-15 07:00:16,427 INFO L290 TraceCheckUtils]: 19: Hoare triple {45837#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {45837#false} is VALID [2022-04-15 07:00:16,427 INFO L290 TraceCheckUtils]: 18: Hoare triple {45837#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {45837#false} is VALID [2022-04-15 07:00:16,427 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-15 07:00:16,428 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-15 07:00:16,428 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-15 07:00:16,428 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-15 07:00:16,429 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-15 07:00:16,429 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-15 07:00:16,430 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-15 07:00:16,430 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {45836#true} {45972#(< 1 ~SIZE~0)} #86#return; {45972#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:16,430 INFO L290 TraceCheckUtils]: 9: Hoare triple {45836#true} assume true; {45836#true} is VALID [2022-04-15 07:00:16,430 INFO L290 TraceCheckUtils]: 8: Hoare triple {45836#true} assume !(0 == ~cond); {45836#true} is VALID [2022-04-15 07:00:16,430 INFO L290 TraceCheckUtils]: 7: Hoare triple {45836#true} ~cond := #in~cond; {45836#true} is VALID [2022-04-15 07:00:16,430 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-15 07:00:16,430 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-15 07:00:16,431 INFO L272 TraceCheckUtils]: 4: Hoare triple {45972#(< 1 ~SIZE~0)} call #t~ret7 := main(); {45972#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:16,431 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45972#(< 1 ~SIZE~0)} {45836#true} #90#return; {45972#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:16,431 INFO L290 TraceCheckUtils]: 2: Hoare triple {45972#(< 1 ~SIZE~0)} assume true; {45972#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:16,431 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-15 07:00:16,432 INFO L272 TraceCheckUtils]: 0: Hoare triple {45836#true} call ULTIMATE.init(); {45836#true} is VALID [2022-04-15 07:00:16,432 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-15 07:00:16,432 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1135680054] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:00:16,432 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:00:16,432 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:00:17,089 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:00:17,089 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [908322604] [2022-04-15 07:00:17,089 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [908322604] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:00:17,089 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:00:17,089 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-15 07:00:17,090 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1343699088] [2022-04-15 07:00:17,090 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:00:17,090 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-15 07:00:17,090 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:00:17,090 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-15 07:00:17,114 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-15 07:00:17,114 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-15 07:00:17,114 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:00:17,115 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-15 07:00:17,115 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=224, Invalid=1036, Unknown=0, NotChecked=0, Total=1260 [2022-04-15 07:00:17,115 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-15 07:00:19,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:19,627 INFO L93 Difference]: Finished difference Result 281 states and 345 transitions. [2022-04-15 07:00:19,627 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-15 07:00:19,627 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-15 07:00:19,627 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:00:19,627 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-15 07:00:19,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 98 transitions. [2022-04-15 07:00:19,628 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-15 07:00:19,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 98 transitions. [2022-04-15 07:00:19,628 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 98 transitions. [2022-04-15 07:00:19,699 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-15 07:00:19,702 INFO L225 Difference]: With dead ends: 281 [2022-04-15 07:00:19,702 INFO L226 Difference]: Without dead ends: 194 [2022-04-15 07:00:19,702 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 48 SyntacticMatches, 11 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 582 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=236, Invalid=1170, Unknown=0, NotChecked=0, Total=1406 [2022-04-15 07:00:19,702 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 57 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 1271 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s 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, 1.0s IncrementalHoareTripleChecker+Time [2022-04-15 07:00:19,702 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [58 Valid, 74 Invalid, 1282 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1271 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-15 07:00:19,703 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 194 states. [2022-04-15 07:00:20,313 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 194 to 172. [2022-04-15 07:00:20,313 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:00:20,313 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-15 07:00:20,314 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-15 07:00:20,315 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-15 07:00:20,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:20,318 INFO L93 Difference]: Finished difference Result 194 states and 233 transitions. [2022-04-15 07:00:20,319 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 233 transitions. [2022-04-15 07:00:20,319 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:00:20,319 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:00:20,319 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-15 07:00:20,319 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-15 07:00:20,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:20,321 INFO L93 Difference]: Finished difference Result 194 states and 233 transitions. [2022-04-15 07:00:20,321 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 233 transitions. [2022-04-15 07:00:20,321 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:00:20,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:00:20,322 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:00:20,322 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:00:20,322 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-15 07:00:20,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 209 transitions. [2022-04-15 07:00:20,324 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 209 transitions. Word has length 49 [2022-04-15 07:00:20,324 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:00:20,324 INFO L478 AbstractCegarLoop]: Abstraction has 172 states and 209 transitions. [2022-04-15 07:00:20,324 INFO L479 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-15 07:00:20,324 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 209 transitions. [2022-04-15 07:00:20,831 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-15 07:00:20,831 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 209 transitions. [2022-04-15 07:00:20,832 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 07:00:20,832 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:00:20,832 INFO L499 BasicCegarLoop]: 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-15 07:00:20,848 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Forceful destruction successful, exit code 0 [2022-04-15 07:00:21,043 WARN L460 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-15 07:00:21,043 INFO L403 AbstractCegarLoop]: === Iteration 44 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:00:21,043 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:00:21,043 INFO L85 PathProgramCache]: Analyzing trace with hash 845666397, now seen corresponding path program 34 times [2022-04-15 07:00:21,044 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:00:21,044 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [202674767] [2022-04-15 07:00:25,182 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:00:25,266 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-15 07:00:29,362 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:00:29,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-15 07:00:29,447 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:00:29,452 INFO L85 PathProgramCache]: Analyzing trace with hash -1510704319, now seen corresponding path program 1 times [2022-04-15 07:00:29,452 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:00:29,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1014508703] [2022-04-15 07:00:29,452 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:00:29,452 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:00:29,464 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:29,612 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:00:29,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:29,616 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-15 07:00:29,617 INFO L290 TraceCheckUtils]: 1: Hoare triple {47332#(<= 20 ~SIZE~0)} assume true; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:29,617 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {47332#(<= 20 ~SIZE~0)} {47327#true} #90#return; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:29,617 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:00:29,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:29,619 INFO L290 TraceCheckUtils]: 0: Hoare triple {47327#true} ~cond := #in~cond; {47327#true} is VALID [2022-04-15 07:00:29,619 INFO L290 TraceCheckUtils]: 1: Hoare triple {47327#true} assume !(0 == ~cond); {47327#true} is VALID [2022-04-15 07:00:29,619 INFO L290 TraceCheckUtils]: 2: Hoare triple {47327#true} assume true; {47327#true} is VALID [2022-04-15 07:00:29,619 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47327#true} {47332#(<= 20 ~SIZE~0)} #86#return; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:29,620 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-15 07:00:29,620 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-15 07:00:29,620 INFO L290 TraceCheckUtils]: 2: Hoare triple {47332#(<= 20 ~SIZE~0)} assume true; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:29,621 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47332#(<= 20 ~SIZE~0)} {47327#true} #90#return; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:29,621 INFO L272 TraceCheckUtils]: 4: Hoare triple {47332#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:29,621 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-15 07:00:29,621 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-15 07:00:29,621 INFO L290 TraceCheckUtils]: 7: Hoare triple {47327#true} ~cond := #in~cond; {47327#true} is VALID [2022-04-15 07:00:29,621 INFO L290 TraceCheckUtils]: 8: Hoare triple {47327#true} assume !(0 == ~cond); {47327#true} is VALID [2022-04-15 07:00:29,621 INFO L290 TraceCheckUtils]: 9: Hoare triple {47327#true} assume true; {47327#true} is VALID [2022-04-15 07:00:29,622 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {47327#true} {47332#(<= 20 ~SIZE~0)} #86#return; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:29,622 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-15 07:00:29,622 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-15 07:00:29,623 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-15 07:00:29,623 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-15 07:00:29,624 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-15 07:00:29,624 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-15 07:00:29,625 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-15 07:00:29,625 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-15 07:00:29,626 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-15 07:00:29,626 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-15 07:00:29,627 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-15 07:00:29,627 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-15 07:00:29,627 INFO L290 TraceCheckUtils]: 23: Hoare triple {47344#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {47328#false} is VALID [2022-04-15 07:00:29,628 INFO L290 TraceCheckUtils]: 24: Hoare triple {47328#false} assume !false; {47328#false} is VALID [2022-04-15 07:00:29,628 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-15 07:00:29,628 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:00:29,628 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1014508703] [2022-04-15 07:00:29,628 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1014508703] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:00:29,628 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1309051914] [2022-04-15 07:00:29,628 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:00:29,628 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:00:29,629 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:00:29,630 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-15 07:00:29,631 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-15 07:00:29,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:29,674 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:00:29,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:29,679 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:00:29,858 INFO L272 TraceCheckUtils]: 0: Hoare triple {47327#true} call ULTIMATE.init(); {47327#true} is VALID [2022-04-15 07:00:29,859 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-15 07:00:29,859 INFO L290 TraceCheckUtils]: 2: Hoare triple {47332#(<= 20 ~SIZE~0)} assume true; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:29,859 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47332#(<= 20 ~SIZE~0)} {47327#true} #90#return; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:29,860 INFO L272 TraceCheckUtils]: 4: Hoare triple {47332#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:29,860 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-15 07:00:29,860 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-15 07:00:29,860 INFO L290 TraceCheckUtils]: 7: Hoare triple {47332#(<= 20 ~SIZE~0)} ~cond := #in~cond; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:29,861 INFO L290 TraceCheckUtils]: 8: Hoare triple {47332#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:29,861 INFO L290 TraceCheckUtils]: 9: Hoare triple {47332#(<= 20 ~SIZE~0)} assume true; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:29,861 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {47332#(<= 20 ~SIZE~0)} {47332#(<= 20 ~SIZE~0)} #86#return; {47332#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:29,861 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-15 07:00:29,862 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-15 07:00:29,862 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-15 07:00:29,863 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-15 07:00:29,863 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-15 07:00:29,864 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-15 07:00:29,864 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-15 07:00:29,864 INFO L290 TraceCheckUtils]: 18: Hoare triple {47328#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {47328#false} is VALID [2022-04-15 07:00:29,864 INFO L290 TraceCheckUtils]: 19: Hoare triple {47328#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {47328#false} is VALID [2022-04-15 07:00:29,864 INFO L290 TraceCheckUtils]: 20: Hoare triple {47328#false} assume !(~d~0 == ~SIZE~0); {47328#false} is VALID [2022-04-15 07:00:29,864 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-15 07:00:29,864 INFO L290 TraceCheckUtils]: 22: Hoare triple {47328#false} ~cond := #in~cond; {47328#false} is VALID [2022-04-15 07:00:29,865 INFO L290 TraceCheckUtils]: 23: Hoare triple {47328#false} assume 0 == ~cond; {47328#false} is VALID [2022-04-15 07:00:29,865 INFO L290 TraceCheckUtils]: 24: Hoare triple {47328#false} assume !false; {47328#false} is VALID [2022-04-15 07:00:29,865 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-15 07:00:29,865 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:00:30,054 INFO L290 TraceCheckUtils]: 24: Hoare triple {47328#false} assume !false; {47328#false} is VALID [2022-04-15 07:00:30,054 INFO L290 TraceCheckUtils]: 23: Hoare triple {47328#false} assume 0 == ~cond; {47328#false} is VALID [2022-04-15 07:00:30,054 INFO L290 TraceCheckUtils]: 22: Hoare triple {47328#false} ~cond := #in~cond; {47328#false} is VALID [2022-04-15 07:00:30,054 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-15 07:00:30,054 INFO L290 TraceCheckUtils]: 20: Hoare triple {47328#false} assume !(~d~0 == ~SIZE~0); {47328#false} is VALID [2022-04-15 07:00:30,055 INFO L290 TraceCheckUtils]: 19: Hoare triple {47328#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {47328#false} is VALID [2022-04-15 07:00:30,055 INFO L290 TraceCheckUtils]: 18: Hoare triple {47328#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {47328#false} is VALID [2022-04-15 07:00:30,055 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-15 07:00:30,055 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-15 07:00:30,056 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-15 07:00:30,056 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-15 07:00:30,057 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-15 07:00:30,057 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-15 07:00:30,057 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-15 07:00:30,058 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {47327#true} {47463#(< 1 ~SIZE~0)} #86#return; {47463#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:30,058 INFO L290 TraceCheckUtils]: 9: Hoare triple {47327#true} assume true; {47327#true} is VALID [2022-04-15 07:00:30,058 INFO L290 TraceCheckUtils]: 8: Hoare triple {47327#true} assume !(0 == ~cond); {47327#true} is VALID [2022-04-15 07:00:30,058 INFO L290 TraceCheckUtils]: 7: Hoare triple {47327#true} ~cond := #in~cond; {47327#true} is VALID [2022-04-15 07:00:30,058 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-15 07:00:30,058 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-15 07:00:30,058 INFO L272 TraceCheckUtils]: 4: Hoare triple {47463#(< 1 ~SIZE~0)} call #t~ret7 := main(); {47463#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:30,059 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47463#(< 1 ~SIZE~0)} {47327#true} #90#return; {47463#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:30,059 INFO L290 TraceCheckUtils]: 2: Hoare triple {47463#(< 1 ~SIZE~0)} assume true; {47463#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:30,059 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-15 07:00:30,059 INFO L272 TraceCheckUtils]: 0: Hoare triple {47327#true} call ULTIMATE.init(); {47327#true} is VALID [2022-04-15 07:00:30,059 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-15 07:00:30,059 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1309051914] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:00:30,060 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:00:30,060 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:00:30,740 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:00:30,740 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [202674767] [2022-04-15 07:00:30,740 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [202674767] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:00:30,740 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:00:30,740 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [28] imperfect sequences [] total 28 [2022-04-15 07:00:30,740 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [617390586] [2022-04-15 07:00:30,740 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:00:30,741 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-15 07:00:30,741 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:00:30,741 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-15 07:00:30,767 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-15 07:00:30,767 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-15 07:00:30,767 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:00:30,768 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-15 07:00:30,768 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=238, Invalid=1094, Unknown=0, NotChecked=0, Total=1332 [2022-04-15 07:00:30,768 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-15 07:00:32,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:32,601 INFO L93 Difference]: Finished difference Result 278 states and 342 transitions. [2022-04-15 07:00:32,601 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-15 07:00:32,601 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-15 07:00:32,601 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:00:32,602 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-15 07:00:32,602 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 99 transitions. [2022-04-15 07:00:32,602 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-15 07:00:32,603 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 99 transitions. [2022-04-15 07:00:32,603 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 99 transitions. [2022-04-15 07:00:32,666 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-15 07:00:32,669 INFO L225 Difference]: With dead ends: 278 [2022-04-15 07:00:32,669 INFO L226 Difference]: Without dead ends: 191 [2022-04-15 07:00:32,683 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 48 SyntacticMatches, 10 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 587 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=250, Invalid=1232, Unknown=0, NotChecked=0, Total=1482 [2022-04-15 07:00:32,684 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 55 mSDsluCounter, 38 mSDsCounter, 0 mSdLazyCounter, 1055 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s 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-15 07:00:32,684 INFO L914 BasicCegarLoop]: 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-15 07:00:32,684 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 191 states. [2022-04-15 07:00:33,249 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 191 to 172. [2022-04-15 07:00:33,249 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:00:33,250 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-15 07:00:33,250 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-15 07:00:33,250 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-15 07:00:33,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:33,252 INFO L93 Difference]: Finished difference Result 191 states and 230 transitions. [2022-04-15 07:00:33,252 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 230 transitions. [2022-04-15 07:00:33,252 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:00:33,252 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:00:33,252 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-15 07:00:33,252 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-15 07:00:33,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:33,254 INFO L93 Difference]: Finished difference Result 191 states and 230 transitions. [2022-04-15 07:00:33,254 INFO L276 IsEmpty]: Start isEmpty. Operand 191 states and 230 transitions. [2022-04-15 07:00:33,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:00:33,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:00:33,254 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:00:33,254 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:00:33,255 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-15 07:00:33,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 209 transitions. [2022-04-15 07:00:33,256 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 209 transitions. Word has length 49 [2022-04-15 07:00:33,256 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:00:33,257 INFO L478 AbstractCegarLoop]: Abstraction has 172 states and 209 transitions. [2022-04-15 07:00:33,257 INFO L479 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-15 07:00:33,257 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 209 transitions. [2022-04-15 07:00:33,735 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-15 07:00:33,735 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 209 transitions. [2022-04-15 07:00:33,735 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 07:00:33,735 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:00:33,736 INFO L499 BasicCegarLoop]: 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-15 07:00:33,753 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-15 07:00:33,951 WARN L460 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-15 07:00:33,951 INFO L403 AbstractCegarLoop]: === Iteration 45 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:00:33,952 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:00:33,952 INFO L85 PathProgramCache]: Analyzing trace with hash -742681505, now seen corresponding path program 35 times [2022-04-15 07:00:33,952 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:00:33,952 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1015891839] [2022-04-15 07:00:38,064 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:00:38,175 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-15 07:00:38,364 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-15 07:00:38,366 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:00:38,368 INFO L85 PathProgramCache]: Analyzing trace with hash 981818433, now seen corresponding path program 1 times [2022-04-15 07:00:38,368 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:00:38,369 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1818710623] [2022-04-15 07:00:38,369 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:00:38,369 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:00:38,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:38,582 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:00:38,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:38,587 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-15 07:00:38,588 INFO L290 TraceCheckUtils]: 1: Hoare triple {48812#(<= 20 ~SIZE~0)} assume true; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:38,588 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {48812#(<= 20 ~SIZE~0)} {48807#true} #90#return; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:38,588 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:00:38,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:38,591 INFO L290 TraceCheckUtils]: 0: Hoare triple {48807#true} ~cond := #in~cond; {48807#true} is VALID [2022-04-15 07:00:38,591 INFO L290 TraceCheckUtils]: 1: Hoare triple {48807#true} assume !(0 == ~cond); {48807#true} is VALID [2022-04-15 07:00:38,592 INFO L290 TraceCheckUtils]: 2: Hoare triple {48807#true} assume true; {48807#true} is VALID [2022-04-15 07:00:38,592 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {48807#true} {48812#(<= 20 ~SIZE~0)} #86#return; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:38,593 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-15 07:00:38,593 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-15 07:00:38,594 INFO L290 TraceCheckUtils]: 2: Hoare triple {48812#(<= 20 ~SIZE~0)} assume true; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:38,594 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {48812#(<= 20 ~SIZE~0)} {48807#true} #90#return; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:38,594 INFO L272 TraceCheckUtils]: 4: Hoare triple {48812#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:38,594 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-15 07:00:38,595 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-15 07:00:38,595 INFO L290 TraceCheckUtils]: 7: Hoare triple {48807#true} ~cond := #in~cond; {48807#true} is VALID [2022-04-15 07:00:38,595 INFO L290 TraceCheckUtils]: 8: Hoare triple {48807#true} assume !(0 == ~cond); {48807#true} is VALID [2022-04-15 07:00:38,595 INFO L290 TraceCheckUtils]: 9: Hoare triple {48807#true} assume true; {48807#true} is VALID [2022-04-15 07:00:38,595 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {48807#true} {48812#(<= 20 ~SIZE~0)} #86#return; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:38,596 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-15 07:00:38,596 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-15 07:00:38,597 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-15 07:00:38,598 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-15 07:00:38,598 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-15 07:00:38,599 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-15 07:00:38,599 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-15 07:00:38,600 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-15 07:00:38,600 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-15 07:00:38,601 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-15 07:00:38,602 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-15 07:00:38,602 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-15 07:00:38,602 INFO L290 TraceCheckUtils]: 23: Hoare triple {48824#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {48808#false} is VALID [2022-04-15 07:00:38,602 INFO L290 TraceCheckUtils]: 24: Hoare triple {48808#false} assume !false; {48808#false} is VALID [2022-04-15 07:00:38,602 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-15 07:00:38,603 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:00:38,603 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1818710623] [2022-04-15 07:00:38,603 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1818710623] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:00:38,603 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1499667049] [2022-04-15 07:00:38,603 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:00:38,603 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:00:38,603 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:00:38,604 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-15 07:00:38,605 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-15 07:00:38,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:38,639 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:00:38,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:38,668 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:00:38,953 INFO L272 TraceCheckUtils]: 0: Hoare triple {48807#true} call ULTIMATE.init(); {48807#true} is VALID [2022-04-15 07:00:38,954 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-15 07:00:38,954 INFO L290 TraceCheckUtils]: 2: Hoare triple {48812#(<= 20 ~SIZE~0)} assume true; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:38,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {48812#(<= 20 ~SIZE~0)} {48807#true} #90#return; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:38,955 INFO L272 TraceCheckUtils]: 4: Hoare triple {48812#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:38,955 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-15 07:00:38,956 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-15 07:00:38,956 INFO L290 TraceCheckUtils]: 7: Hoare triple {48812#(<= 20 ~SIZE~0)} ~cond := #in~cond; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:38,956 INFO L290 TraceCheckUtils]: 8: Hoare triple {48812#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:38,956 INFO L290 TraceCheckUtils]: 9: Hoare triple {48812#(<= 20 ~SIZE~0)} assume true; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:38,957 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {48812#(<= 20 ~SIZE~0)} {48812#(<= 20 ~SIZE~0)} #86#return; {48812#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:38,957 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-15 07:00:38,957 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-15 07:00:38,958 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-15 07:00:38,959 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-15 07:00:38,959 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-15 07:00:38,960 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-15 07:00:38,960 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-15 07:00:38,960 INFO L290 TraceCheckUtils]: 18: Hoare triple {48808#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {48808#false} is VALID [2022-04-15 07:00:38,960 INFO L290 TraceCheckUtils]: 19: Hoare triple {48808#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {48808#false} is VALID [2022-04-15 07:00:38,961 INFO L290 TraceCheckUtils]: 20: Hoare triple {48808#false} assume !(~d~0 == ~SIZE~0); {48808#false} is VALID [2022-04-15 07:00:38,961 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-15 07:00:38,961 INFO L290 TraceCheckUtils]: 22: Hoare triple {48808#false} ~cond := #in~cond; {48808#false} is VALID [2022-04-15 07:00:38,961 INFO L290 TraceCheckUtils]: 23: Hoare triple {48808#false} assume 0 == ~cond; {48808#false} is VALID [2022-04-15 07:00:38,961 INFO L290 TraceCheckUtils]: 24: Hoare triple {48808#false} assume !false; {48808#false} is VALID [2022-04-15 07:00:38,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-15 07:00:38,961 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:00:39,228 INFO L290 TraceCheckUtils]: 24: Hoare triple {48808#false} assume !false; {48808#false} is VALID [2022-04-15 07:00:39,229 INFO L290 TraceCheckUtils]: 23: Hoare triple {48808#false} assume 0 == ~cond; {48808#false} is VALID [2022-04-15 07:00:39,229 INFO L290 TraceCheckUtils]: 22: Hoare triple {48808#false} ~cond := #in~cond; {48808#false} is VALID [2022-04-15 07:00:39,229 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-15 07:00:39,229 INFO L290 TraceCheckUtils]: 20: Hoare triple {48808#false} assume !(~d~0 == ~SIZE~0); {48808#false} is VALID [2022-04-15 07:00:39,229 INFO L290 TraceCheckUtils]: 19: Hoare triple {48808#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {48808#false} is VALID [2022-04-15 07:00:39,229 INFO L290 TraceCheckUtils]: 18: Hoare triple {48808#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {48808#false} is VALID [2022-04-15 07:00:39,229 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-15 07:00:39,230 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-15 07:00:39,230 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-15 07:00:39,231 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-15 07:00:39,232 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-15 07:00:39,232 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-15 07:00:39,232 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-15 07:00:39,233 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {48807#true} {48943#(< 1 ~SIZE~0)} #86#return; {48943#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:39,233 INFO L290 TraceCheckUtils]: 9: Hoare triple {48807#true} assume true; {48807#true} is VALID [2022-04-15 07:00:39,233 INFO L290 TraceCheckUtils]: 8: Hoare triple {48807#true} assume !(0 == ~cond); {48807#true} is VALID [2022-04-15 07:00:39,233 INFO L290 TraceCheckUtils]: 7: Hoare triple {48807#true} ~cond := #in~cond; {48807#true} is VALID [2022-04-15 07:00:39,233 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-15 07:00:39,233 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-15 07:00:39,234 INFO L272 TraceCheckUtils]: 4: Hoare triple {48943#(< 1 ~SIZE~0)} call #t~ret7 := main(); {48943#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:39,234 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {48943#(< 1 ~SIZE~0)} {48807#true} #90#return; {48943#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:39,234 INFO L290 TraceCheckUtils]: 2: Hoare triple {48943#(< 1 ~SIZE~0)} assume true; {48943#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:39,235 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-15 07:00:39,235 INFO L272 TraceCheckUtils]: 0: Hoare triple {48807#true} call ULTIMATE.init(); {48807#true} is VALID [2022-04-15 07:00:39,235 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-15 07:00:39,235 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1499667049] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:00:39,235 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:00:39,235 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:00:40,033 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:00:40,033 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1015891839] [2022-04-15 07:00:40,034 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1015891839] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:00:40,034 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:00:40,034 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-15 07:00:40,034 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [140739351] [2022-04-15 07:00:40,034 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:00:40,034 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-15 07:00:40,034 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:00:40,034 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-15 07:00:40,065 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-15 07:00:40,065 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-15 07:00:40,065 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:00:40,065 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-15 07:00:40,065 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=252, Invalid=1154, Unknown=0, NotChecked=0, Total=1406 [2022-04-15 07:00:40,066 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-15 07:00:42,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:42,274 INFO L93 Difference]: Finished difference Result 276 states and 340 transitions. [2022-04-15 07:00:42,274 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-15 07:00:42,274 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-15 07:00:42,274 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:00:42,274 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-15 07:00:42,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 100 transitions. [2022-04-15 07:00:42,275 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-15 07:00:42,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 100 transitions. [2022-04-15 07:00:42,275 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 100 transitions. [2022-04-15 07:00:42,347 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-15 07:00:42,349 INFO L225 Difference]: With dead ends: 276 [2022-04-15 07:00:42,349 INFO L226 Difference]: Without dead ends: 189 [2022-04-15 07:00:42,350 INFO L912 BasicCegarLoop]: 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-15 07:00:42,350 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 57 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 1101 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s 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-15 07:00:42,350 INFO L914 BasicCegarLoop]: 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-15 07:00:42,351 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 189 states. [2022-04-15 07:00:42,912 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 189 to 172. [2022-04-15 07:00:42,912 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:00:42,912 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-15 07:00:42,912 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-15 07:00:42,913 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-15 07:00:42,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:42,914 INFO L93 Difference]: Finished difference Result 189 states and 228 transitions. [2022-04-15 07:00:42,915 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 228 transitions. [2022-04-15 07:00:42,915 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:00:42,915 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:00:42,915 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-15 07:00:42,915 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-15 07:00:42,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:42,917 INFO L93 Difference]: Finished difference Result 189 states and 228 transitions. [2022-04-15 07:00:42,917 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 228 transitions. [2022-04-15 07:00:42,917 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:00:42,917 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:00:42,917 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:00:42,917 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:00:42,917 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-15 07:00:42,919 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 209 transitions. [2022-04-15 07:00:42,919 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 209 transitions. Word has length 49 [2022-04-15 07:00:42,919 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:00:42,919 INFO L478 AbstractCegarLoop]: Abstraction has 172 states and 209 transitions. [2022-04-15 07:00:42,919 INFO L479 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-15 07:00:42,919 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 209 transitions. [2022-04-15 07:00:43,399 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-15 07:00:43,400 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 209 transitions. [2022-04-15 07:00:43,400 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 07:00:43,400 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:00:43,400 INFO L499 BasicCegarLoop]: 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-15 07:00:43,417 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (38)] Forceful destruction successful, exit code 0 [2022-04-15 07:00:43,615 WARN L460 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-15 07:00:43,615 INFO L403 AbstractCegarLoop]: === Iteration 46 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:00:43,616 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:00:43,616 INFO L85 PathProgramCache]: Analyzing trace with hash -1753798755, now seen corresponding path program 36 times [2022-04-15 07:00:43,616 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:00:43,616 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1573589676] [2022-04-15 07:00:43,875 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-15 07:00:46,581 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:00:46,698 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-15 07:00:46,699 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:00:46,703 INFO L85 PathProgramCache]: Analyzing trace with hash -820626111, now seen corresponding path program 1 times [2022-04-15 07:00:46,703 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:00:46,703 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1576914888] [2022-04-15 07:00:46,703 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:00:46,703 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:00:46,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:46,862 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:00:46,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:46,867 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-15 07:00:46,867 INFO L290 TraceCheckUtils]: 1: Hoare triple {50285#(<= 20 ~SIZE~0)} assume true; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:46,868 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {50285#(<= 20 ~SIZE~0)} {50280#true} #90#return; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:46,868 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:00:46,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:46,870 INFO L290 TraceCheckUtils]: 0: Hoare triple {50280#true} ~cond := #in~cond; {50280#true} is VALID [2022-04-15 07:00:46,870 INFO L290 TraceCheckUtils]: 1: Hoare triple {50280#true} assume !(0 == ~cond); {50280#true} is VALID [2022-04-15 07:00:46,870 INFO L290 TraceCheckUtils]: 2: Hoare triple {50280#true} assume true; {50280#true} is VALID [2022-04-15 07:00:46,870 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {50280#true} {50285#(<= 20 ~SIZE~0)} #86#return; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:46,871 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-15 07:00:46,871 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-15 07:00:46,872 INFO L290 TraceCheckUtils]: 2: Hoare triple {50285#(<= 20 ~SIZE~0)} assume true; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:46,872 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {50285#(<= 20 ~SIZE~0)} {50280#true} #90#return; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:46,872 INFO L272 TraceCheckUtils]: 4: Hoare triple {50285#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:46,872 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-15 07:00:46,873 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-15 07:00:46,873 INFO L290 TraceCheckUtils]: 7: Hoare triple {50280#true} ~cond := #in~cond; {50280#true} is VALID [2022-04-15 07:00:46,873 INFO L290 TraceCheckUtils]: 8: Hoare triple {50280#true} assume !(0 == ~cond); {50280#true} is VALID [2022-04-15 07:00:46,873 INFO L290 TraceCheckUtils]: 9: Hoare triple {50280#true} assume true; {50280#true} is VALID [2022-04-15 07:00:46,873 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {50280#true} {50285#(<= 20 ~SIZE~0)} #86#return; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:46,874 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-15 07:00:46,874 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-15 07:00:46,875 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-15 07:00:46,875 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-15 07:00:46,876 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-15 07:00:46,876 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-15 07:00:46,877 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-15 07:00:46,877 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-15 07:00:46,878 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-15 07:00:46,878 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-15 07:00:46,879 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-15 07:00:46,879 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-15 07:00:46,880 INFO L290 TraceCheckUtils]: 23: Hoare triple {50297#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {50281#false} is VALID [2022-04-15 07:00:46,880 INFO L290 TraceCheckUtils]: 24: Hoare triple {50281#false} assume !false; {50281#false} is VALID [2022-04-15 07:00:46,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-15 07:00:46,880 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:00:46,880 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1576914888] [2022-04-15 07:00:46,880 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1576914888] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:00:46,880 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [107797997] [2022-04-15 07:00:46,880 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:00:46,880 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:00:46,880 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:00:46,881 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-15 07:00:46,886 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-15 07:00:46,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:46,914 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:00:46,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:46,920 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:00:47,167 INFO L272 TraceCheckUtils]: 0: Hoare triple {50280#true} call ULTIMATE.init(); {50280#true} is VALID [2022-04-15 07:00:47,167 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-15 07:00:47,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {50285#(<= 20 ~SIZE~0)} assume true; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:47,168 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {50285#(<= 20 ~SIZE~0)} {50280#true} #90#return; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:47,168 INFO L272 TraceCheckUtils]: 4: Hoare triple {50285#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:47,169 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-15 07:00:47,169 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-15 07:00:47,169 INFO L290 TraceCheckUtils]: 7: Hoare triple {50285#(<= 20 ~SIZE~0)} ~cond := #in~cond; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:47,170 INFO L290 TraceCheckUtils]: 8: Hoare triple {50285#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:47,170 INFO L290 TraceCheckUtils]: 9: Hoare triple {50285#(<= 20 ~SIZE~0)} assume true; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:47,170 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {50285#(<= 20 ~SIZE~0)} {50285#(<= 20 ~SIZE~0)} #86#return; {50285#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:47,171 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-15 07:00:47,171 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-15 07:00:47,172 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-15 07:00:47,173 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-15 07:00:47,173 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-15 07:00:47,174 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-15 07:00:47,175 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-15 07:00:47,175 INFO L290 TraceCheckUtils]: 18: Hoare triple {50281#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {50281#false} is VALID [2022-04-15 07:00:47,175 INFO L290 TraceCheckUtils]: 19: Hoare triple {50281#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {50281#false} is VALID [2022-04-15 07:00:47,175 INFO L290 TraceCheckUtils]: 20: Hoare triple {50281#false} assume !(~d~0 == ~SIZE~0); {50281#false} is VALID [2022-04-15 07:00:47,175 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-15 07:00:47,175 INFO L290 TraceCheckUtils]: 22: Hoare triple {50281#false} ~cond := #in~cond; {50281#false} is VALID [2022-04-15 07:00:47,175 INFO L290 TraceCheckUtils]: 23: Hoare triple {50281#false} assume 0 == ~cond; {50281#false} is VALID [2022-04-15 07:00:47,175 INFO L290 TraceCheckUtils]: 24: Hoare triple {50281#false} assume !false; {50281#false} is VALID [2022-04-15 07:00:47,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-15 07:00:47,176 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:00:47,461 INFO L290 TraceCheckUtils]: 24: Hoare triple {50281#false} assume !false; {50281#false} is VALID [2022-04-15 07:00:47,461 INFO L290 TraceCheckUtils]: 23: Hoare triple {50281#false} assume 0 == ~cond; {50281#false} is VALID [2022-04-15 07:00:47,461 INFO L290 TraceCheckUtils]: 22: Hoare triple {50281#false} ~cond := #in~cond; {50281#false} is VALID [2022-04-15 07:00:47,461 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-15 07:00:47,461 INFO L290 TraceCheckUtils]: 20: Hoare triple {50281#false} assume !(~d~0 == ~SIZE~0); {50281#false} is VALID [2022-04-15 07:00:47,461 INFO L290 TraceCheckUtils]: 19: Hoare triple {50281#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {50281#false} is VALID [2022-04-15 07:00:47,461 INFO L290 TraceCheckUtils]: 18: Hoare triple {50281#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {50281#false} is VALID [2022-04-15 07:00:47,462 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-15 07:00:47,462 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-15 07:00:47,462 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-15 07:00:47,463 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-15 07:00:47,464 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-15 07:00:47,464 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-15 07:00:47,464 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-15 07:00:47,465 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {50280#true} {50416#(< 1 ~SIZE~0)} #86#return; {50416#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:47,465 INFO L290 TraceCheckUtils]: 9: Hoare triple {50280#true} assume true; {50280#true} is VALID [2022-04-15 07:00:47,465 INFO L290 TraceCheckUtils]: 8: Hoare triple {50280#true} assume !(0 == ~cond); {50280#true} is VALID [2022-04-15 07:00:47,465 INFO L290 TraceCheckUtils]: 7: Hoare triple {50280#true} ~cond := #in~cond; {50280#true} is VALID [2022-04-15 07:00:47,465 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-15 07:00:47,465 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-15 07:00:47,466 INFO L272 TraceCheckUtils]: 4: Hoare triple {50416#(< 1 ~SIZE~0)} call #t~ret7 := main(); {50416#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:47,466 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {50416#(< 1 ~SIZE~0)} {50280#true} #90#return; {50416#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:47,466 INFO L290 TraceCheckUtils]: 2: Hoare triple {50416#(< 1 ~SIZE~0)} assume true; {50416#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:47,467 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-15 07:00:47,467 INFO L272 TraceCheckUtils]: 0: Hoare triple {50280#true} call ULTIMATE.init(); {50280#true} is VALID [2022-04-15 07:00:47,467 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-15 07:00:47,467 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [107797997] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:00:47,467 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:00:47,467 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:00:48,398 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:00:48,398 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1573589676] [2022-04-15 07:00:48,399 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1573589676] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:00:48,399 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:00:48,399 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [30] imperfect sequences [] total 30 [2022-04-15 07:00:48,399 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [979188966] [2022-04-15 07:00:48,399 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:00:48,399 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-15 07:00:48,399 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:00:48,399 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-15 07:00:48,436 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-15 07:00:48,436 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-15 07:00:48,436 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:00:48,436 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-15 07:00:48,436 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=266, Invalid=1216, Unknown=0, NotChecked=0, Total=1482 [2022-04-15 07:00:48,437 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-15 07:00:51,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:51,244 INFO L93 Difference]: Finished difference Result 287 states and 355 transitions. [2022-04-15 07:00:51,244 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-15 07:00:51,244 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-15 07:00:51,244 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:00:51,244 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-15 07:00:51,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 102 transitions. [2022-04-15 07:00:51,245 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-15 07:00:51,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 102 transitions. [2022-04-15 07:00:51,246 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 102 transitions. [2022-04-15 07:00:51,318 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-15 07:00:51,320 INFO L225 Difference]: With dead ends: 287 [2022-04-15 07:00:51,320 INFO L226 Difference]: Without dead ends: 189 [2022-04-15 07:00:51,320 INFO L912 BasicCegarLoop]: 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-15 07:00:51,321 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 60 mSDsluCounter, 58 mSDsCounter, 0 mSdLazyCounter, 1421 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s 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, 1.0s IncrementalHoareTripleChecker+Time [2022-04-15 07:00:51,321 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [61 Valid, 79 Invalid, 1432 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1421 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-15 07:00:51,321 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 189 states. [2022-04-15 07:00:51,937 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 189 to 175. [2022-04-15 07:00:51,938 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:00:51,938 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-15 07:00:51,938 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-15 07:00:51,938 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-15 07:00:51,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:51,940 INFO L93 Difference]: Finished difference Result 189 states and 229 transitions. [2022-04-15 07:00:51,940 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 229 transitions. [2022-04-15 07:00:51,940 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:00:51,940 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:00:51,940 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-15 07:00:51,941 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-15 07:00:51,943 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:51,943 INFO L93 Difference]: Finished difference Result 189 states and 229 transitions. [2022-04-15 07:00:51,943 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 229 transitions. [2022-04-15 07:00:51,943 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:00:51,943 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:00:51,943 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:00:51,943 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:00:51,943 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-15 07:00:51,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 175 states to 175 states and 213 transitions. [2022-04-15 07:00:51,945 INFO L78 Accepts]: Start accepts. Automaton has 175 states and 213 transitions. Word has length 49 [2022-04-15 07:00:51,945 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:00:51,945 INFO L478 AbstractCegarLoop]: Abstraction has 175 states and 213 transitions. [2022-04-15 07:00:51,946 INFO L479 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-15 07:00:51,946 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 175 states and 213 transitions. [2022-04-15 07:00:52,441 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-15 07:00:52,441 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 213 transitions. [2022-04-15 07:00:52,441 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-15 07:00:52,441 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:00:52,441 INFO L499 BasicCegarLoop]: 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-15 07:00:52,460 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-15 07:00:52,642 WARN L460 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-15 07:00:52,642 INFO L403 AbstractCegarLoop]: === Iteration 47 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:00:52,642 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:00:52,642 INFO L85 PathProgramCache]: Analyzing trace with hash 207767157, now seen corresponding path program 3 times [2022-04-15 07:00:52,642 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:00:52,642 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1726044741] [2022-04-15 07:00:52,979 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-15 07:00:53,200 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-15 07:00:53,201 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:00:53,202 INFO L85 PathProgramCache]: Analyzing trace with hash -1948738128, now seen corresponding path program 1 times [2022-04-15 07:00:53,203 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:00:53,203 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1668864489] [2022-04-15 07:00:53,203 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:00:53,203 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:00:53,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:53,253 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:00:53,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:53,258 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-15 07:00:53,258 INFO L290 TraceCheckUtils]: 1: Hoare triple {51787#(<= 20 ~SIZE~0)} assume true; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:53,259 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {51787#(<= 20 ~SIZE~0)} {51782#true} #90#return; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:53,259 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:00:53,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:53,261 INFO L290 TraceCheckUtils]: 0: Hoare triple {51782#true} ~cond := #in~cond; {51782#true} is VALID [2022-04-15 07:00:53,261 INFO L290 TraceCheckUtils]: 1: Hoare triple {51782#true} assume !(0 == ~cond); {51782#true} is VALID [2022-04-15 07:00:53,261 INFO L290 TraceCheckUtils]: 2: Hoare triple {51782#true} assume true; {51782#true} is VALID [2022-04-15 07:00:53,262 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51782#true} {51787#(<= 20 ~SIZE~0)} #86#return; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:53,262 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-15 07:00:53,263 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-15 07:00:53,263 INFO L290 TraceCheckUtils]: 2: Hoare triple {51787#(<= 20 ~SIZE~0)} assume true; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:53,263 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51787#(<= 20 ~SIZE~0)} {51782#true} #90#return; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:53,263 INFO L272 TraceCheckUtils]: 4: Hoare triple {51787#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:53,264 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-15 07:00:53,264 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-15 07:00:53,264 INFO L290 TraceCheckUtils]: 7: Hoare triple {51782#true} ~cond := #in~cond; {51782#true} is VALID [2022-04-15 07:00:53,264 INFO L290 TraceCheckUtils]: 8: Hoare triple {51782#true} assume !(0 == ~cond); {51782#true} is VALID [2022-04-15 07:00:53,264 INFO L290 TraceCheckUtils]: 9: Hoare triple {51782#true} assume true; {51782#true} is VALID [2022-04-15 07:00:53,264 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {51782#true} {51787#(<= 20 ~SIZE~0)} #86#return; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:53,265 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-15 07:00:53,265 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-15 07:00:53,265 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-15 07:00:53,266 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-15 07:00:53,266 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-15 07:00:53,266 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-15 07:00:53,267 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-15 07:00:53,267 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-15 07:00:53,267 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-15 07:00:53,268 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-15 07:00:53,268 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-15 07:00:53,268 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-15 07:00:53,269 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-15 07:00:53,269 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-15 07:00:53,269 INFO L290 TraceCheckUtils]: 25: Hoare triple {51795#(<= (+ main_~c~0 17) ~SIZE~0)} assume !(~c~0 < ~SIZE~0); {51783#false} is VALID [2022-04-15 07:00:53,270 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-15 07:00:53,270 INFO L290 TraceCheckUtils]: 27: Hoare triple {51783#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {51783#false} is VALID [2022-04-15 07:00:53,270 INFO L290 TraceCheckUtils]: 28: Hoare triple {51783#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {51783#false} is VALID [2022-04-15 07:00:53,270 INFO L290 TraceCheckUtils]: 29: Hoare triple {51783#false} assume !(~d~0 == ~SIZE~0); {51783#false} is VALID [2022-04-15 07:00:53,270 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-15 07:00:53,270 INFO L290 TraceCheckUtils]: 31: Hoare triple {51783#false} ~cond := #in~cond; {51783#false} is VALID [2022-04-15 07:00:53,270 INFO L290 TraceCheckUtils]: 32: Hoare triple {51783#false} assume 0 == ~cond; {51783#false} is VALID [2022-04-15 07:00:53,270 INFO L290 TraceCheckUtils]: 33: Hoare triple {51783#false} assume !false; {51783#false} is VALID [2022-04-15 07:00:53,270 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-15 07:00:53,270 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:00:53,270 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1668864489] [2022-04-15 07:00:53,270 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1668864489] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:00:53,271 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [633613042] [2022-04-15 07:00:53,271 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:00:53,271 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:00:53,271 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:00:53,272 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-15 07:00:53,273 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-15 07:00:53,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:53,306 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-15 07:00:53,312 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:53,313 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:00:53,505 INFO L272 TraceCheckUtils]: 0: Hoare triple {51782#true} call ULTIMATE.init(); {51782#true} is VALID [2022-04-15 07:00:53,506 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-15 07:00:53,506 INFO L290 TraceCheckUtils]: 2: Hoare triple {51787#(<= 20 ~SIZE~0)} assume true; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:53,506 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51787#(<= 20 ~SIZE~0)} {51782#true} #90#return; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:53,507 INFO L272 TraceCheckUtils]: 4: Hoare triple {51787#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:53,507 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-15 07:00:53,507 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-15 07:00:53,508 INFO L290 TraceCheckUtils]: 7: Hoare triple {51787#(<= 20 ~SIZE~0)} ~cond := #in~cond; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:53,508 INFO L290 TraceCheckUtils]: 8: Hoare triple {51787#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:53,508 INFO L290 TraceCheckUtils]: 9: Hoare triple {51787#(<= 20 ~SIZE~0)} assume true; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:53,509 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {51787#(<= 20 ~SIZE~0)} {51787#(<= 20 ~SIZE~0)} #86#return; {51787#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:53,509 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-15 07:00:53,510 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-15 07:00:53,510 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-15 07:00:53,511 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-15 07:00:53,511 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-15 07:00:53,512 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-15 07:00:53,512 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-15 07:00:53,513 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-15 07:00:53,513 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-15 07:00:53,513 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-15 07:00:53,514 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-15 07:00:53,514 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-15 07:00:53,515 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-15 07:00:53,515 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-15 07:00:53,516 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-15 07:00:53,516 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-15 07:00:53,516 INFO L290 TraceCheckUtils]: 27: Hoare triple {51783#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {51783#false} is VALID [2022-04-15 07:00:53,516 INFO L290 TraceCheckUtils]: 28: Hoare triple {51783#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {51783#false} is VALID [2022-04-15 07:00:53,516 INFO L290 TraceCheckUtils]: 29: Hoare triple {51783#false} assume !(~d~0 == ~SIZE~0); {51783#false} is VALID [2022-04-15 07:00:53,516 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-15 07:00:53,516 INFO L290 TraceCheckUtils]: 31: Hoare triple {51783#false} ~cond := #in~cond; {51783#false} is VALID [2022-04-15 07:00:53,516 INFO L290 TraceCheckUtils]: 32: Hoare triple {51783#false} assume 0 == ~cond; {51783#false} is VALID [2022-04-15 07:00:53,516 INFO L290 TraceCheckUtils]: 33: Hoare triple {51783#false} assume !false; {51783#false} is VALID [2022-04-15 07:00:53,517 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-15 07:00:53,517 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:00:53,699 INFO L290 TraceCheckUtils]: 33: Hoare triple {51783#false} assume !false; {51783#false} is VALID [2022-04-15 07:00:53,700 INFO L290 TraceCheckUtils]: 32: Hoare triple {51783#false} assume 0 == ~cond; {51783#false} is VALID [2022-04-15 07:00:53,700 INFO L290 TraceCheckUtils]: 31: Hoare triple {51783#false} ~cond := #in~cond; {51783#false} is VALID [2022-04-15 07:00:53,700 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-15 07:00:53,700 INFO L290 TraceCheckUtils]: 29: Hoare triple {51783#false} assume !(~d~0 == ~SIZE~0); {51783#false} is VALID [2022-04-15 07:00:53,700 INFO L290 TraceCheckUtils]: 28: Hoare triple {51783#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {51783#false} is VALID [2022-04-15 07:00:53,700 INFO L290 TraceCheckUtils]: 27: Hoare triple {51783#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {51783#false} is VALID [2022-04-15 07:00:53,700 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-15 07:00:53,700 INFO L290 TraceCheckUtils]: 25: Hoare triple {51927#(< main_~c~0 ~SIZE~0)} assume !(~c~0 < ~SIZE~0); {51783#false} is VALID [2022-04-15 07:00:53,701 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-15 07:00:53,701 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-15 07:00:53,702 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-15 07:00:53,702 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-15 07:00:53,702 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-15 07:00:53,703 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-15 07:00:53,703 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-15 07:00:53,704 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-15 07:00:53,704 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-15 07:00:53,704 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-15 07:00:53,705 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-15 07:00:53,705 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-15 07:00:53,706 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-15 07:00:53,706 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-15 07:00:53,707 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {51782#true} {51961#(< 3 ~SIZE~0)} #86#return; {51961#(< 3 ~SIZE~0)} is VALID [2022-04-15 07:00:53,707 INFO L290 TraceCheckUtils]: 9: Hoare triple {51782#true} assume true; {51782#true} is VALID [2022-04-15 07:00:53,707 INFO L290 TraceCheckUtils]: 8: Hoare triple {51782#true} assume !(0 == ~cond); {51782#true} is VALID [2022-04-15 07:00:53,707 INFO L290 TraceCheckUtils]: 7: Hoare triple {51782#true} ~cond := #in~cond; {51782#true} is VALID [2022-04-15 07:00:53,707 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-15 07:00:53,707 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-15 07:00:53,708 INFO L272 TraceCheckUtils]: 4: Hoare triple {51961#(< 3 ~SIZE~0)} call #t~ret7 := main(); {51961#(< 3 ~SIZE~0)} is VALID [2022-04-15 07:00:53,708 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {51961#(< 3 ~SIZE~0)} {51782#true} #90#return; {51961#(< 3 ~SIZE~0)} is VALID [2022-04-15 07:00:53,708 INFO L290 TraceCheckUtils]: 2: Hoare triple {51961#(< 3 ~SIZE~0)} assume true; {51961#(< 3 ~SIZE~0)} is VALID [2022-04-15 07:00:53,709 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-15 07:00:53,709 INFO L272 TraceCheckUtils]: 0: Hoare triple {51782#true} call ULTIMATE.init(); {51782#true} is VALID [2022-04-15 07:00:53,709 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-15 07:00:53,709 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [633613042] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:00:53,709 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:00:53,710 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 17 [2022-04-15 07:00:53,878 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:00:53,878 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1726044741] [2022-04-15 07:00:53,878 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1726044741] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:00:53,878 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:00:53,878 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 07:00:53,878 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1224385306] [2022-04-15 07:00:53,878 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:00:53,878 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-15 07:00:53,878 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:00:53,879 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-15 07:00:53,909 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-15 07:00:53,909 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 07:00:53,909 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:00:53,909 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 07:00:53,909 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=173, Invalid=289, Unknown=0, NotChecked=0, Total=462 [2022-04-15 07:00:53,909 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-15 07:00:55,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:55,424 INFO L93 Difference]: Finished difference Result 332 states and 410 transitions. [2022-04-15 07:00:55,424 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 07:00:55,424 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-15 07:00:55,424 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:00:55,424 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-15 07:00:55,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 81 transitions. [2022-04-15 07:00:55,425 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-15 07:00:55,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 81 transitions. [2022-04-15 07:00:55,426 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 81 transitions. [2022-04-15 07:00:55,483 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-15 07:00:55,486 INFO L225 Difference]: With dead ends: 332 [2022-04-15 07:00:55,486 INFO L226 Difference]: Without dead ends: 236 [2022-04-15 07:00:55,486 INFO L912 BasicCegarLoop]: 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-15 07:00:55,487 INFO L913 BasicCegarLoop]: 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-15 07:00:55,487 INFO L914 BasicCegarLoop]: 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-15 07:00:55,487 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 236 states. [2022-04-15 07:00:56,239 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 236 to 193. [2022-04-15 07:00:56,240 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:00:56,240 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-15 07:00:56,240 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-15 07:00:56,240 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-15 07:00:56,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:56,243 INFO L93 Difference]: Finished difference Result 236 states and 280 transitions. [2022-04-15 07:00:56,243 INFO L276 IsEmpty]: Start isEmpty. Operand 236 states and 280 transitions. [2022-04-15 07:00:56,243 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:00:56,243 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:00:56,243 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-15 07:00:56,244 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-15 07:00:56,246 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:00:56,246 INFO L93 Difference]: Finished difference Result 236 states and 280 transitions. [2022-04-15 07:00:56,246 INFO L276 IsEmpty]: Start isEmpty. Operand 236 states and 280 transitions. [2022-04-15 07:00:56,246 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:00:56,246 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:00:56,246 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:00:56,246 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:00:56,247 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-15 07:00:56,249 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193 states to 193 states and 234 transitions. [2022-04-15 07:00:56,249 INFO L78 Accepts]: Start accepts. Automaton has 193 states and 234 transitions. Word has length 51 [2022-04-15 07:00:56,249 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:00:56,249 INFO L478 AbstractCegarLoop]: Abstraction has 193 states and 234 transitions. [2022-04-15 07:00:56,249 INFO L479 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-15 07:00:56,249 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 193 states and 234 transitions. [2022-04-15 07:00:56,787 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-15 07:00:56,788 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 234 transitions. [2022-04-15 07:00:56,788 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-15 07:00:56,788 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:00:56,788 INFO L499 BasicCegarLoop]: 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-15 07:00:56,810 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-15 07:00:57,004 WARN L460 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-15 07:00:57,005 INFO L403 AbstractCegarLoop]: === Iteration 48 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:00:57,005 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:00:57,005 INFO L85 PathProgramCache]: Analyzing trace with hash 679090812, now seen corresponding path program 37 times [2022-04-15 07:00:57,005 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:00:57,006 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [451800649] [2022-04-15 07:00:57,209 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-15 07:00:57,365 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-15 07:00:57,366 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:00:57,369 INFO L85 PathProgramCache]: Analyzing trace with hash -130547903, now seen corresponding path program 1 times [2022-04-15 07:00:57,369 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:00:57,369 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [526445562] [2022-04-15 07:00:57,369 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:00:57,369 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:00:57,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:57,509 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:00:57,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:57,513 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-15 07:00:57,513 INFO L290 TraceCheckUtils]: 1: Hoare triple {53550#(<= 20 ~SIZE~0)} assume true; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:57,514 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {53550#(<= 20 ~SIZE~0)} {53545#true} #90#return; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:57,514 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:00:57,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:57,526 INFO L290 TraceCheckUtils]: 0: Hoare triple {53545#true} ~cond := #in~cond; {53545#true} is VALID [2022-04-15 07:00:57,526 INFO L290 TraceCheckUtils]: 1: Hoare triple {53545#true} assume !(0 == ~cond); {53545#true} is VALID [2022-04-15 07:00:57,526 INFO L290 TraceCheckUtils]: 2: Hoare triple {53545#true} assume true; {53545#true} is VALID [2022-04-15 07:00:57,527 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53545#true} {53550#(<= 20 ~SIZE~0)} #86#return; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:57,527 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-15 07:00:57,527 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-15 07:00:57,528 INFO L290 TraceCheckUtils]: 2: Hoare triple {53550#(<= 20 ~SIZE~0)} assume true; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:57,528 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53550#(<= 20 ~SIZE~0)} {53545#true} #90#return; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:57,528 INFO L272 TraceCheckUtils]: 4: Hoare triple {53550#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:57,528 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-15 07:00:57,528 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-15 07:00:57,528 INFO L290 TraceCheckUtils]: 7: Hoare triple {53545#true} ~cond := #in~cond; {53545#true} is VALID [2022-04-15 07:00:57,528 INFO L290 TraceCheckUtils]: 8: Hoare triple {53545#true} assume !(0 == ~cond); {53545#true} is VALID [2022-04-15 07:00:57,529 INFO L290 TraceCheckUtils]: 9: Hoare triple {53545#true} assume true; {53545#true} is VALID [2022-04-15 07:00:57,529 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {53545#true} {53550#(<= 20 ~SIZE~0)} #86#return; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:57,529 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-15 07:00:57,529 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-15 07:00:57,530 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-15 07:00:57,530 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-15 07:00:57,531 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-15 07:00:57,531 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-15 07:00:57,532 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-15 07:00:57,532 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-15 07:00:57,533 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-15 07:00:57,533 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-15 07:00:57,534 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-15 07:00:57,534 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-15 07:00:57,534 INFO L290 TraceCheckUtils]: 23: Hoare triple {53562#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {53546#false} is VALID [2022-04-15 07:00:57,534 INFO L290 TraceCheckUtils]: 24: Hoare triple {53546#false} assume !false; {53546#false} is VALID [2022-04-15 07:00:57,534 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-15 07:00:57,534 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:00:57,535 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [526445562] [2022-04-15 07:00:57,535 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [526445562] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:00:57,535 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [941535403] [2022-04-15 07:00:57,535 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:00:57,535 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:00:57,535 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:00:57,536 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-15 07:00:57,537 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-15 07:00:57,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:57,566 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:00:57,570 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:00:57,571 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:00:57,723 INFO L272 TraceCheckUtils]: 0: Hoare triple {53545#true} call ULTIMATE.init(); {53545#true} is VALID [2022-04-15 07:00:57,723 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-15 07:00:57,723 INFO L290 TraceCheckUtils]: 2: Hoare triple {53550#(<= 20 ~SIZE~0)} assume true; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:57,724 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53550#(<= 20 ~SIZE~0)} {53545#true} #90#return; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:57,724 INFO L272 TraceCheckUtils]: 4: Hoare triple {53550#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:57,724 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-15 07:00:57,724 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-15 07:00:57,725 INFO L290 TraceCheckUtils]: 7: Hoare triple {53550#(<= 20 ~SIZE~0)} ~cond := #in~cond; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:57,725 INFO L290 TraceCheckUtils]: 8: Hoare triple {53550#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:57,725 INFO L290 TraceCheckUtils]: 9: Hoare triple {53550#(<= 20 ~SIZE~0)} assume true; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:57,725 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {53550#(<= 20 ~SIZE~0)} {53550#(<= 20 ~SIZE~0)} #86#return; {53550#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:00:57,725 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-15 07:00:57,726 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-15 07:00:57,726 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-15 07:00:57,727 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-15 07:00:57,727 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-15 07:00:57,728 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-15 07:00:57,728 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-15 07:00:57,728 INFO L290 TraceCheckUtils]: 18: Hoare triple {53546#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {53546#false} is VALID [2022-04-15 07:00:57,728 INFO L290 TraceCheckUtils]: 19: Hoare triple {53546#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {53546#false} is VALID [2022-04-15 07:00:57,728 INFO L290 TraceCheckUtils]: 20: Hoare triple {53546#false} assume !(~d~0 == ~SIZE~0); {53546#false} is VALID [2022-04-15 07:00:57,728 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-15 07:00:57,728 INFO L290 TraceCheckUtils]: 22: Hoare triple {53546#false} ~cond := #in~cond; {53546#false} is VALID [2022-04-15 07:00:57,728 INFO L290 TraceCheckUtils]: 23: Hoare triple {53546#false} assume 0 == ~cond; {53546#false} is VALID [2022-04-15 07:00:57,729 INFO L290 TraceCheckUtils]: 24: Hoare triple {53546#false} assume !false; {53546#false} is VALID [2022-04-15 07:00:57,729 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-15 07:00:57,729 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:00:57,902 INFO L290 TraceCheckUtils]: 24: Hoare triple {53546#false} assume !false; {53546#false} is VALID [2022-04-15 07:00:57,902 INFO L290 TraceCheckUtils]: 23: Hoare triple {53546#false} assume 0 == ~cond; {53546#false} is VALID [2022-04-15 07:00:57,902 INFO L290 TraceCheckUtils]: 22: Hoare triple {53546#false} ~cond := #in~cond; {53546#false} is VALID [2022-04-15 07:00:57,902 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-15 07:00:57,902 INFO L290 TraceCheckUtils]: 20: Hoare triple {53546#false} assume !(~d~0 == ~SIZE~0); {53546#false} is VALID [2022-04-15 07:00:57,902 INFO L290 TraceCheckUtils]: 19: Hoare triple {53546#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {53546#false} is VALID [2022-04-15 07:00:57,902 INFO L290 TraceCheckUtils]: 18: Hoare triple {53546#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {53546#false} is VALID [2022-04-15 07:00:57,903 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-15 07:00:57,903 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-15 07:00:57,904 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-15 07:00:57,904 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-15 07:00:57,904 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-15 07:00:57,905 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-15 07:00:57,905 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-15 07:00:57,905 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {53545#true} {53681#(< 1 ~SIZE~0)} #86#return; {53681#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:57,905 INFO L290 TraceCheckUtils]: 9: Hoare triple {53545#true} assume true; {53545#true} is VALID [2022-04-15 07:00:57,905 INFO L290 TraceCheckUtils]: 8: Hoare triple {53545#true} assume !(0 == ~cond); {53545#true} is VALID [2022-04-15 07:00:57,905 INFO L290 TraceCheckUtils]: 7: Hoare triple {53545#true} ~cond := #in~cond; {53545#true} is VALID [2022-04-15 07:00:57,906 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-15 07:00:57,906 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-15 07:00:57,906 INFO L272 TraceCheckUtils]: 4: Hoare triple {53681#(< 1 ~SIZE~0)} call #t~ret7 := main(); {53681#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:57,906 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53681#(< 1 ~SIZE~0)} {53545#true} #90#return; {53681#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:57,906 INFO L290 TraceCheckUtils]: 2: Hoare triple {53681#(< 1 ~SIZE~0)} assume true; {53681#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:00:57,907 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-15 07:00:57,907 INFO L272 TraceCheckUtils]: 0: Hoare triple {53545#true} call ULTIMATE.init(); {53545#true} is VALID [2022-04-15 07:00:57,907 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-15 07:00:57,907 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [941535403] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:00:57,907 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:00:57,907 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:00:58,590 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:00:58,590 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [451800649] [2022-04-15 07:00:58,591 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [451800649] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:00:58,591 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:00:58,591 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [24] imperfect sequences [] total 24 [2022-04-15 07:00:58,591 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1090562717] [2022-04-15 07:00:58,591 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:00:58,592 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-15 07:00:58,592 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:00:58,592 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-15 07:00:58,618 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-15 07:00:58,618 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-15 07:00:58,618 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:00:58,618 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-15 07:00:58,619 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=175, Invalid=881, Unknown=0, NotChecked=0, Total=1056 [2022-04-15 07:00:58,619 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-15 07:01:00,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:01:00,376 INFO L93 Difference]: Finished difference Result 335 states and 406 transitions. [2022-04-15 07:01:00,376 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-15 07:01:00,377 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-15 07:01:00,377 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:01:00,377 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-15 07:01:00,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 97 transitions. [2022-04-15 07:01:00,377 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-15 07:01:00,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 97 transitions. [2022-04-15 07:01:00,378 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 97 transitions. [2022-04-15 07:01:00,428 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-15 07:01:00,431 INFO L225 Difference]: With dead ends: 335 [2022-04-15 07:01:00,431 INFO L226 Difference]: Without dead ends: 230 [2022-04-15 07:01:00,431 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 48 SyntacticMatches, 17 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 516 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=187, Invalid=1003, Unknown=0, NotChecked=0, Total=1190 [2022-04-15 07:01:00,434 INFO L913 BasicCegarLoop]: 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-15 07:01:00,434 INFO L914 BasicCegarLoop]: 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-15 07:01:00,434 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 230 states. [2022-04-15 07:01:01,025 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 230 to 196. [2022-04-15 07:01:01,025 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:01:01,025 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-15 07:01:01,025 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-15 07:01:01,026 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-15 07:01:01,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:01:01,028 INFO L93 Difference]: Finished difference Result 230 states and 273 transitions. [2022-04-15 07:01:01,028 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 273 transitions. [2022-04-15 07:01:01,028 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:01:01,028 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:01:01,029 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-15 07:01:01,029 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-15 07:01:01,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:01:01,031 INFO L93 Difference]: Finished difference Result 230 states and 273 transitions. [2022-04-15 07:01:01,031 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 273 transitions. [2022-04-15 07:01:01,031 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:01:01,031 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:01:01,031 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:01:01,032 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:01:01,032 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-15 07:01:01,035 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 196 states to 196 states and 237 transitions. [2022-04-15 07:01:01,035 INFO L78 Accepts]: Start accepts. Automaton has 196 states and 237 transitions. Word has length 52 [2022-04-15 07:01:01,035 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:01:01,035 INFO L478 AbstractCegarLoop]: Abstraction has 196 states and 237 transitions. [2022-04-15 07:01:01,035 INFO L479 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-15 07:01:01,035 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 196 states and 237 transitions. [2022-04-15 07:01:01,603 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-15 07:01:01,603 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 237 transitions. [2022-04-15 07:01:01,603 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-15 07:01:01,604 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:01:01,604 INFO L499 BasicCegarLoop]: 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-15 07:01:01,622 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (41)] Forceful destruction successful, exit code 0 [2022-04-15 07:01:01,810 WARN L460 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-15 07:01:01,811 INFO L403 AbstractCegarLoop]: === Iteration 49 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:01:01,811 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:01:01,811 INFO L85 PathProgramCache]: Analyzing trace with hash -164914690, now seen corresponding path program 38 times [2022-04-15 07:01:01,811 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:01:01,811 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [554863726] [2022-04-15 07:01:04,614 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:01:04,706 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-15 07:01:07,785 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:01:07,884 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-15 07:01:07,885 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:01:07,888 INFO L85 PathProgramCache]: Analyzing trace with hash -1932992447, now seen corresponding path program 1 times [2022-04-15 07:01:07,888 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:01:07,888 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1876242469] [2022-04-15 07:01:07,888 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:01:07,888 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:01:07,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:08,055 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:01:08,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:08,060 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-15 07:01:08,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {55266#(<= 20 ~SIZE~0)} assume true; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:08,060 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {55266#(<= 20 ~SIZE~0)} {55261#true} #90#return; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:08,060 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:01:08,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:08,062 INFO L290 TraceCheckUtils]: 0: Hoare triple {55261#true} ~cond := #in~cond; {55261#true} is VALID [2022-04-15 07:01:08,063 INFO L290 TraceCheckUtils]: 1: Hoare triple {55261#true} assume !(0 == ~cond); {55261#true} is VALID [2022-04-15 07:01:08,063 INFO L290 TraceCheckUtils]: 2: Hoare triple {55261#true} assume true; {55261#true} is VALID [2022-04-15 07:01:08,063 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {55261#true} {55266#(<= 20 ~SIZE~0)} #86#return; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:08,064 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-15 07:01:08,064 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-15 07:01:08,064 INFO L290 TraceCheckUtils]: 2: Hoare triple {55266#(<= 20 ~SIZE~0)} assume true; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:08,065 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {55266#(<= 20 ~SIZE~0)} {55261#true} #90#return; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:08,065 INFO L272 TraceCheckUtils]: 4: Hoare triple {55266#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:08,065 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-15 07:01:08,065 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-15 07:01:08,065 INFO L290 TraceCheckUtils]: 7: Hoare triple {55261#true} ~cond := #in~cond; {55261#true} is VALID [2022-04-15 07:01:08,066 INFO L290 TraceCheckUtils]: 8: Hoare triple {55261#true} assume !(0 == ~cond); {55261#true} is VALID [2022-04-15 07:01:08,066 INFO L290 TraceCheckUtils]: 9: Hoare triple {55261#true} assume true; {55261#true} is VALID [2022-04-15 07:01:08,066 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {55261#true} {55266#(<= 20 ~SIZE~0)} #86#return; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:08,066 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-15 07:01:08,067 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-15 07:01:08,067 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-15 07:01:08,068 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-15 07:01:08,069 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-15 07:01:08,069 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-15 07:01:08,070 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-15 07:01:08,070 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-15 07:01:08,071 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-15 07:01:08,071 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-15 07:01:08,072 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-15 07:01:08,072 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-15 07:01:08,073 INFO L290 TraceCheckUtils]: 23: Hoare triple {55278#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {55262#false} is VALID [2022-04-15 07:01:08,073 INFO L290 TraceCheckUtils]: 24: Hoare triple {55262#false} assume !false; {55262#false} is VALID [2022-04-15 07:01:08,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-15 07:01:08,073 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:01:08,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1876242469] [2022-04-15 07:01:08,073 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1876242469] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:01:08,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1803707845] [2022-04-15 07:01:08,073 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:01:08,073 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:01:08,074 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:01:08,075 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-15 07:01:08,076 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-15 07:01:08,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:08,106 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:01:08,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:08,113 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:01:08,374 INFO L272 TraceCheckUtils]: 0: Hoare triple {55261#true} call ULTIMATE.init(); {55261#true} is VALID [2022-04-15 07:01:08,375 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-15 07:01:08,375 INFO L290 TraceCheckUtils]: 2: Hoare triple {55266#(<= 20 ~SIZE~0)} assume true; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:08,376 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {55266#(<= 20 ~SIZE~0)} {55261#true} #90#return; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:08,376 INFO L272 TraceCheckUtils]: 4: Hoare triple {55266#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:08,376 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-15 07:01:08,377 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-15 07:01:08,377 INFO L290 TraceCheckUtils]: 7: Hoare triple {55266#(<= 20 ~SIZE~0)} ~cond := #in~cond; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:08,378 INFO L290 TraceCheckUtils]: 8: Hoare triple {55266#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:08,378 INFO L290 TraceCheckUtils]: 9: Hoare triple {55266#(<= 20 ~SIZE~0)} assume true; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:08,378 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {55266#(<= 20 ~SIZE~0)} {55266#(<= 20 ~SIZE~0)} #86#return; {55266#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:08,379 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-15 07:01:08,379 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-15 07:01:08,380 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-15 07:01:08,381 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-15 07:01:08,382 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-15 07:01:08,382 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-15 07:01:08,383 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-15 07:01:08,383 INFO L290 TraceCheckUtils]: 18: Hoare triple {55262#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {55262#false} is VALID [2022-04-15 07:01:08,383 INFO L290 TraceCheckUtils]: 19: Hoare triple {55262#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {55262#false} is VALID [2022-04-15 07:01:08,383 INFO L290 TraceCheckUtils]: 20: Hoare triple {55262#false} assume !(~d~0 == ~SIZE~0); {55262#false} is VALID [2022-04-15 07:01:08,383 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-15 07:01:08,383 INFO L290 TraceCheckUtils]: 22: Hoare triple {55262#false} ~cond := #in~cond; {55262#false} is VALID [2022-04-15 07:01:08,383 INFO L290 TraceCheckUtils]: 23: Hoare triple {55262#false} assume 0 == ~cond; {55262#false} is VALID [2022-04-15 07:01:08,384 INFO L290 TraceCheckUtils]: 24: Hoare triple {55262#false} assume !false; {55262#false} is VALID [2022-04-15 07:01:08,384 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-15 07:01:08,384 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:01:08,687 INFO L290 TraceCheckUtils]: 24: Hoare triple {55262#false} assume !false; {55262#false} is VALID [2022-04-15 07:01:08,688 INFO L290 TraceCheckUtils]: 23: Hoare triple {55262#false} assume 0 == ~cond; {55262#false} is VALID [2022-04-15 07:01:08,688 INFO L290 TraceCheckUtils]: 22: Hoare triple {55262#false} ~cond := #in~cond; {55262#false} is VALID [2022-04-15 07:01:08,688 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-15 07:01:08,688 INFO L290 TraceCheckUtils]: 20: Hoare triple {55262#false} assume !(~d~0 == ~SIZE~0); {55262#false} is VALID [2022-04-15 07:01:08,688 INFO L290 TraceCheckUtils]: 19: Hoare triple {55262#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {55262#false} is VALID [2022-04-15 07:01:08,688 INFO L290 TraceCheckUtils]: 18: Hoare triple {55262#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {55262#false} is VALID [2022-04-15 07:01:08,688 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-15 07:01:08,689 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-15 07:01:08,689 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-15 07:01:08,690 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-15 07:01:08,691 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-15 07:01:08,691 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-15 07:01:08,691 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-15 07:01:08,703 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {55261#true} {55397#(< 1 ~SIZE~0)} #86#return; {55397#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:08,703 INFO L290 TraceCheckUtils]: 9: Hoare triple {55261#true} assume true; {55261#true} is VALID [2022-04-15 07:01:08,703 INFO L290 TraceCheckUtils]: 8: Hoare triple {55261#true} assume !(0 == ~cond); {55261#true} is VALID [2022-04-15 07:01:08,703 INFO L290 TraceCheckUtils]: 7: Hoare triple {55261#true} ~cond := #in~cond; {55261#true} is VALID [2022-04-15 07:01:08,704 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-15 07:01:08,708 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-15 07:01:08,708 INFO L272 TraceCheckUtils]: 4: Hoare triple {55397#(< 1 ~SIZE~0)} call #t~ret7 := main(); {55397#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:08,709 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {55397#(< 1 ~SIZE~0)} {55261#true} #90#return; {55397#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:08,709 INFO L290 TraceCheckUtils]: 2: Hoare triple {55397#(< 1 ~SIZE~0)} assume true; {55397#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:08,710 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-15 07:01:08,710 INFO L272 TraceCheckUtils]: 0: Hoare triple {55261#true} call ULTIMATE.init(); {55261#true} is VALID [2022-04-15 07:01:08,710 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-15 07:01:08,724 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1803707845] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:01:08,724 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:01:08,725 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:01:09,577 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:01:09,577 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [554863726] [2022-04-15 07:01:09,577 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [554863726] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:01:09,577 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:01:09,577 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-15 07:01:09,577 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1808565013] [2022-04-15 07:01:09,577 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:01:09,577 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-15 07:01:09,577 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:01:09,578 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-15 07:01:09,603 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-15 07:01:09,603 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-15 07:01:09,603 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:01:09,603 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-15 07:01:09,603 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=189, Invalid=933, Unknown=0, NotChecked=0, Total=1122 [2022-04-15 07:01:09,604 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-15 07:01:11,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:01:11,811 INFO L93 Difference]: Finished difference Result 338 states and 409 transitions. [2022-04-15 07:01:11,811 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-15 07:01:11,811 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-15 07:01:11,811 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:01:11,812 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-15 07:01:11,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 98 transitions. [2022-04-15 07:01:11,812 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-15 07:01:11,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 98 transitions. [2022-04-15 07:01:11,813 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 98 transitions. [2022-04-15 07:01:11,881 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-15 07:01:11,884 INFO L225 Difference]: With dead ends: 338 [2022-04-15 07:01:11,884 INFO L226 Difference]: Without dead ends: 233 [2022-04-15 07:01:11,884 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 48 SyntacticMatches, 16 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 563 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=201, Invalid=1059, Unknown=0, NotChecked=0, Total=1260 [2022-04-15 07:01:11,885 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 48 mSDsluCounter, 38 mSDsCounter, 0 mSdLazyCounter, 949 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s 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.6s IncrementalHoareTripleChecker+Time [2022-04-15 07:01:11,885 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [49 Valid, 58 Invalid, 959 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 949 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-15 07:01:11,885 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 233 states. [2022-04-15 07:01:12,674 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 233 to 196. [2022-04-15 07:01:12,675 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:01:12,675 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-15 07:01:12,675 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-15 07:01:12,675 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-15 07:01:12,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:01:12,678 INFO L93 Difference]: Finished difference Result 233 states and 276 transitions. [2022-04-15 07:01:12,678 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 276 transitions. [2022-04-15 07:01:12,678 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:01:12,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:01:12,678 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-15 07:01:12,678 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-15 07:01:12,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:01:12,681 INFO L93 Difference]: Finished difference Result 233 states and 276 transitions. [2022-04-15 07:01:12,681 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 276 transitions. [2022-04-15 07:01:12,681 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:01:12,681 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:01:12,681 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:01:12,681 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:01:12,681 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-15 07:01:12,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 196 states to 196 states and 237 transitions. [2022-04-15 07:01:12,683 INFO L78 Accepts]: Start accepts. Automaton has 196 states and 237 transitions. Word has length 52 [2022-04-15 07:01:12,684 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:01:12,684 INFO L478 AbstractCegarLoop]: Abstraction has 196 states and 237 transitions. [2022-04-15 07:01:12,684 INFO L479 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-15 07:01:12,684 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 196 states and 237 transitions. [2022-04-15 07:01:13,433 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-15 07:01:13,433 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 237 transitions. [2022-04-15 07:01:13,433 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-15 07:01:13,433 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:01:13,433 INFO L499 BasicCegarLoop]: 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-15 07:01:13,450 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-15 07:01:13,634 WARN L460 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-15 07:01:13,634 INFO L403 AbstractCegarLoop]: === Iteration 50 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:01:13,634 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:01:13,635 INFO L85 PathProgramCache]: Analyzing trace with hash 109844924, now seen corresponding path program 39 times [2022-04-15 07:01:13,635 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:01:13,635 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1648781425] [2022-04-15 07:01:13,897 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-15 07:01:14,179 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-15 07:01:14,180 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:01:14,184 INFO L85 PathProgramCache]: Analyzing trace with hash 559530305, now seen corresponding path program 1 times [2022-04-15 07:01:14,184 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:01:14,184 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1251793386] [2022-04-15 07:01:14,184 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:01:14,184 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:01:14,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:14,370 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:01:14,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:14,376 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-15 07:01:14,376 INFO L290 TraceCheckUtils]: 1: Hoare triple {56995#(<= 20 ~SIZE~0)} assume true; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:14,377 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {56995#(<= 20 ~SIZE~0)} {56990#true} #90#return; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:14,377 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:01:14,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:14,379 INFO L290 TraceCheckUtils]: 0: Hoare triple {56990#true} ~cond := #in~cond; {56990#true} is VALID [2022-04-15 07:01:14,379 INFO L290 TraceCheckUtils]: 1: Hoare triple {56990#true} assume !(0 == ~cond); {56990#true} is VALID [2022-04-15 07:01:14,380 INFO L290 TraceCheckUtils]: 2: Hoare triple {56990#true} assume true; {56990#true} is VALID [2022-04-15 07:01:14,380 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56990#true} {56995#(<= 20 ~SIZE~0)} #86#return; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:14,381 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-15 07:01:14,381 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-15 07:01:14,382 INFO L290 TraceCheckUtils]: 2: Hoare triple {56995#(<= 20 ~SIZE~0)} assume true; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:14,382 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56995#(<= 20 ~SIZE~0)} {56990#true} #90#return; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:14,382 INFO L272 TraceCheckUtils]: 4: Hoare triple {56995#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:14,383 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-15 07:01:14,383 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-15 07:01:14,383 INFO L290 TraceCheckUtils]: 7: Hoare triple {56990#true} ~cond := #in~cond; {56990#true} is VALID [2022-04-15 07:01:14,383 INFO L290 TraceCheckUtils]: 8: Hoare triple {56990#true} assume !(0 == ~cond); {56990#true} is VALID [2022-04-15 07:01:14,383 INFO L290 TraceCheckUtils]: 9: Hoare triple {56990#true} assume true; {56990#true} is VALID [2022-04-15 07:01:14,384 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {56990#true} {56995#(<= 20 ~SIZE~0)} #86#return; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:14,384 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-15 07:01:14,384 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-15 07:01:14,385 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-15 07:01:14,386 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-15 07:01:14,387 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-15 07:01:14,387 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-15 07:01:14,388 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-15 07:01:14,389 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-15 07:01:14,389 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-15 07:01:14,390 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-15 07:01:14,391 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-15 07:01:14,391 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-15 07:01:14,391 INFO L290 TraceCheckUtils]: 23: Hoare triple {57007#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {56991#false} is VALID [2022-04-15 07:01:14,391 INFO L290 TraceCheckUtils]: 24: Hoare triple {56991#false} assume !false; {56991#false} is VALID [2022-04-15 07:01:14,392 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-15 07:01:14,392 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:01:14,392 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1251793386] [2022-04-15 07:01:14,392 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1251793386] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:01:14,392 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1859474383] [2022-04-15 07:01:14,392 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:01:14,392 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:01:14,392 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:01:14,393 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-15 07:01:14,394 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-15 07:01:14,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:14,439 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:01:14,447 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:14,448 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:01:14,762 INFO L272 TraceCheckUtils]: 0: Hoare triple {56990#true} call ULTIMATE.init(); {56990#true} is VALID [2022-04-15 07:01:14,762 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-15 07:01:14,763 INFO L290 TraceCheckUtils]: 2: Hoare triple {56995#(<= 20 ~SIZE~0)} assume true; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:14,763 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {56995#(<= 20 ~SIZE~0)} {56990#true} #90#return; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:14,763 INFO L272 TraceCheckUtils]: 4: Hoare triple {56995#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:14,764 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-15 07:01:14,764 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-15 07:01:14,764 INFO L290 TraceCheckUtils]: 7: Hoare triple {56995#(<= 20 ~SIZE~0)} ~cond := #in~cond; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:14,764 INFO L290 TraceCheckUtils]: 8: Hoare triple {56995#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:14,765 INFO L290 TraceCheckUtils]: 9: Hoare triple {56995#(<= 20 ~SIZE~0)} assume true; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:14,765 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {56995#(<= 20 ~SIZE~0)} {56995#(<= 20 ~SIZE~0)} #86#return; {56995#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:14,765 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-15 07:01:14,766 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-15 07:01:14,766 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-15 07:01:14,767 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-15 07:01:14,768 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-15 07:01:14,768 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-15 07:01:14,769 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-15 07:01:14,769 INFO L290 TraceCheckUtils]: 18: Hoare triple {56991#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {56991#false} is VALID [2022-04-15 07:01:14,769 INFO L290 TraceCheckUtils]: 19: Hoare triple {56991#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {56991#false} is VALID [2022-04-15 07:01:14,769 INFO L290 TraceCheckUtils]: 20: Hoare triple {56991#false} assume !(~d~0 == ~SIZE~0); {56991#false} is VALID [2022-04-15 07:01:14,769 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-15 07:01:14,769 INFO L290 TraceCheckUtils]: 22: Hoare triple {56991#false} ~cond := #in~cond; {56991#false} is VALID [2022-04-15 07:01:14,769 INFO L290 TraceCheckUtils]: 23: Hoare triple {56991#false} assume 0 == ~cond; {56991#false} is VALID [2022-04-15 07:01:14,769 INFO L290 TraceCheckUtils]: 24: Hoare triple {56991#false} assume !false; {56991#false} is VALID [2022-04-15 07:01:14,769 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-15 07:01:14,769 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:01:14,973 INFO L290 TraceCheckUtils]: 24: Hoare triple {56991#false} assume !false; {56991#false} is VALID [2022-04-15 07:01:14,974 INFO L290 TraceCheckUtils]: 23: Hoare triple {56991#false} assume 0 == ~cond; {56991#false} is VALID [2022-04-15 07:01:14,974 INFO L290 TraceCheckUtils]: 22: Hoare triple {56991#false} ~cond := #in~cond; {56991#false} is VALID [2022-04-15 07:01:14,974 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-15 07:01:14,974 INFO L290 TraceCheckUtils]: 20: Hoare triple {56991#false} assume !(~d~0 == ~SIZE~0); {56991#false} is VALID [2022-04-15 07:01:14,974 INFO L290 TraceCheckUtils]: 19: Hoare triple {56991#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {56991#false} is VALID [2022-04-15 07:01:14,974 INFO L290 TraceCheckUtils]: 18: Hoare triple {56991#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {56991#false} is VALID [2022-04-15 07:01:14,975 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-15 07:01:14,975 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-15 07:01:14,975 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-15 07:01:14,976 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-15 07:01:14,976 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-15 07:01:14,977 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-15 07:01:14,977 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-15 07:01:14,977 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {56990#true} {57126#(< 1 ~SIZE~0)} #86#return; {57126#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:14,977 INFO L290 TraceCheckUtils]: 9: Hoare triple {56990#true} assume true; {56990#true} is VALID [2022-04-15 07:01:14,978 INFO L290 TraceCheckUtils]: 8: Hoare triple {56990#true} assume !(0 == ~cond); {56990#true} is VALID [2022-04-15 07:01:14,978 INFO L290 TraceCheckUtils]: 7: Hoare triple {56990#true} ~cond := #in~cond; {56990#true} is VALID [2022-04-15 07:01:14,978 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-15 07:01:14,978 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-15 07:01:14,978 INFO L272 TraceCheckUtils]: 4: Hoare triple {57126#(< 1 ~SIZE~0)} call #t~ret7 := main(); {57126#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:14,978 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57126#(< 1 ~SIZE~0)} {56990#true} #90#return; {57126#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:14,979 INFO L290 TraceCheckUtils]: 2: Hoare triple {57126#(< 1 ~SIZE~0)} assume true; {57126#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:14,979 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-15 07:01:14,979 INFO L272 TraceCheckUtils]: 0: Hoare triple {56990#true} call ULTIMATE.init(); {56990#true} is VALID [2022-04-15 07:01:14,979 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-15 07:01:14,980 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1859474383] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:01:14,980 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:01:14,980 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:01:15,700 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:01:15,701 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1648781425] [2022-04-15 07:01:15,701 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1648781425] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:01:15,701 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:01:15,701 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-15 07:01:15,701 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1968471694] [2022-04-15 07:01:15,701 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:01:15,701 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-15 07:01:15,702 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:01:15,702 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-15 07:01:15,730 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-15 07:01:15,730 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-15 07:01:15,730 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:01:15,730 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-15 07:01:15,730 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=203, Invalid=987, Unknown=0, NotChecked=0, Total=1190 [2022-04-15 07:01:15,731 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-15 07:01:17,910 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:01:17,911 INFO L93 Difference]: Finished difference Result 335 states and 406 transitions. [2022-04-15 07:01:17,911 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-15 07:01:17,911 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-15 07:01:17,911 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:01:17,911 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-15 07:01:17,912 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 99 transitions. [2022-04-15 07:01:17,912 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-15 07:01:17,912 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 99 transitions. [2022-04-15 07:01:17,912 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 99 transitions. [2022-04-15 07:01:17,957 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-15 07:01:17,959 INFO L225 Difference]: With dead ends: 335 [2022-04-15 07:01:17,959 INFO L226 Difference]: Without dead ends: 230 [2022-04-15 07:01:17,960 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 48 SyntacticMatches, 15 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 601 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=215, Invalid=1117, Unknown=0, NotChecked=0, Total=1332 [2022-04-15 07:01:17,960 INFO L913 BasicCegarLoop]: 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-15 07:01:17,960 INFO L914 BasicCegarLoop]: 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-15 07:01:17,960 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 230 states. [2022-04-15 07:01:18,771 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 230 to 196. [2022-04-15 07:01:18,771 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:01:18,772 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-15 07:01:18,772 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-15 07:01:18,772 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-15 07:01:18,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:01:18,775 INFO L93 Difference]: Finished difference Result 230 states and 273 transitions. [2022-04-15 07:01:18,775 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 273 transitions. [2022-04-15 07:01:18,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:01:18,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:01:18,775 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-15 07:01:18,775 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-15 07:01:18,778 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:01:18,778 INFO L93 Difference]: Finished difference Result 230 states and 273 transitions. [2022-04-15 07:01:18,778 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 273 transitions. [2022-04-15 07:01:18,778 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:01:18,778 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:01:18,778 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:01:18,778 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:01:18,778 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-15 07:01:18,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 196 states to 196 states and 237 transitions. [2022-04-15 07:01:18,781 INFO L78 Accepts]: Start accepts. Automaton has 196 states and 237 transitions. Word has length 52 [2022-04-15 07:01:18,781 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:01:18,781 INFO L478 AbstractCegarLoop]: Abstraction has 196 states and 237 transitions. [2022-04-15 07:01:18,781 INFO L479 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-15 07:01:18,781 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 196 states and 237 transitions. [2022-04-15 07:01:19,422 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-15 07:01:19,422 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 237 transitions. [2022-04-15 07:01:19,422 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-15 07:01:19,422 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:01:19,422 INFO L499 BasicCegarLoop]: 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-15 07:01:19,438 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-15 07:01:19,623 WARN L460 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-15 07:01:19,623 INFO L403 AbstractCegarLoop]: === Iteration 51 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:01:19,623 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:01:19,623 INFO L85 PathProgramCache]: Analyzing trace with hash 1496048318, now seen corresponding path program 40 times [2022-04-15 07:01:19,623 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:01:19,623 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1853836792] [2022-04-15 07:01:23,734 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:01:23,880 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-15 07:01:28,006 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:01:28,121 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-15 07:01:28,123 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:01:28,125 INFO L85 PathProgramCache]: Analyzing trace with hash -1242914239, now seen corresponding path program 1 times [2022-04-15 07:01:28,126 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:01:28,126 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [934340849] [2022-04-15 07:01:28,126 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:01:28,126 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:01:28,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:28,284 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:01:28,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:28,289 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-15 07:01:28,289 INFO L290 TraceCheckUtils]: 1: Hoare triple {58713#(<= 20 ~SIZE~0)} assume true; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:28,290 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {58713#(<= 20 ~SIZE~0)} {58708#true} #90#return; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:28,290 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:01:28,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:28,292 INFO L290 TraceCheckUtils]: 0: Hoare triple {58708#true} ~cond := #in~cond; {58708#true} is VALID [2022-04-15 07:01:28,292 INFO L290 TraceCheckUtils]: 1: Hoare triple {58708#true} assume !(0 == ~cond); {58708#true} is VALID [2022-04-15 07:01:28,292 INFO L290 TraceCheckUtils]: 2: Hoare triple {58708#true} assume true; {58708#true} is VALID [2022-04-15 07:01:28,293 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {58708#true} {58713#(<= 20 ~SIZE~0)} #86#return; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:28,293 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-15 07:01:28,294 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-15 07:01:28,294 INFO L290 TraceCheckUtils]: 2: Hoare triple {58713#(<= 20 ~SIZE~0)} assume true; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:28,294 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {58713#(<= 20 ~SIZE~0)} {58708#true} #90#return; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:28,295 INFO L272 TraceCheckUtils]: 4: Hoare triple {58713#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:28,295 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-15 07:01:28,295 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-15 07:01:28,295 INFO L290 TraceCheckUtils]: 7: Hoare triple {58708#true} ~cond := #in~cond; {58708#true} is VALID [2022-04-15 07:01:28,295 INFO L290 TraceCheckUtils]: 8: Hoare triple {58708#true} assume !(0 == ~cond); {58708#true} is VALID [2022-04-15 07:01:28,295 INFO L290 TraceCheckUtils]: 9: Hoare triple {58708#true} assume true; {58708#true} is VALID [2022-04-15 07:01:28,296 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {58708#true} {58713#(<= 20 ~SIZE~0)} #86#return; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:28,296 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-15 07:01:28,296 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-15 07:01:28,297 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-15 07:01:28,298 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-15 07:01:28,298 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-15 07:01:28,299 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-15 07:01:28,299 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-15 07:01:28,300 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-15 07:01:28,301 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-15 07:01:28,301 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-15 07:01:28,302 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-15 07:01:28,302 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-15 07:01:28,302 INFO L290 TraceCheckUtils]: 23: Hoare triple {58725#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {58709#false} is VALID [2022-04-15 07:01:28,302 INFO L290 TraceCheckUtils]: 24: Hoare triple {58709#false} assume !false; {58709#false} is VALID [2022-04-15 07:01:28,303 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-15 07:01:28,303 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:01:28,303 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [934340849] [2022-04-15 07:01:28,303 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [934340849] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:01:28,303 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2117670200] [2022-04-15 07:01:28,303 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:01:28,303 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:01:28,303 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:01:28,304 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-15 07:01:28,306 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-15 07:01:28,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:28,340 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:01:28,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:28,347 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:01:28,596 INFO L272 TraceCheckUtils]: 0: Hoare triple {58708#true} call ULTIMATE.init(); {58708#true} is VALID [2022-04-15 07:01:28,596 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-15 07:01:28,596 INFO L290 TraceCheckUtils]: 2: Hoare triple {58713#(<= 20 ~SIZE~0)} assume true; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:28,597 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {58713#(<= 20 ~SIZE~0)} {58708#true} #90#return; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:28,597 INFO L272 TraceCheckUtils]: 4: Hoare triple {58713#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:28,597 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-15 07:01:28,598 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-15 07:01:28,598 INFO L290 TraceCheckUtils]: 7: Hoare triple {58713#(<= 20 ~SIZE~0)} ~cond := #in~cond; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:28,598 INFO L290 TraceCheckUtils]: 8: Hoare triple {58713#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:28,599 INFO L290 TraceCheckUtils]: 9: Hoare triple {58713#(<= 20 ~SIZE~0)} assume true; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:28,599 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {58713#(<= 20 ~SIZE~0)} {58713#(<= 20 ~SIZE~0)} #86#return; {58713#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:28,599 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-15 07:01:28,600 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-15 07:01:28,600 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-15 07:01:28,601 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-15 07:01:28,601 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-15 07:01:28,602 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-15 07:01:28,602 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-15 07:01:28,603 INFO L290 TraceCheckUtils]: 18: Hoare triple {58709#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {58709#false} is VALID [2022-04-15 07:01:28,603 INFO L290 TraceCheckUtils]: 19: Hoare triple {58709#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {58709#false} is VALID [2022-04-15 07:01:28,603 INFO L290 TraceCheckUtils]: 20: Hoare triple {58709#false} assume !(~d~0 == ~SIZE~0); {58709#false} is VALID [2022-04-15 07:01:28,603 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-15 07:01:28,603 INFO L290 TraceCheckUtils]: 22: Hoare triple {58709#false} ~cond := #in~cond; {58709#false} is VALID [2022-04-15 07:01:28,603 INFO L290 TraceCheckUtils]: 23: Hoare triple {58709#false} assume 0 == ~cond; {58709#false} is VALID [2022-04-15 07:01:28,603 INFO L290 TraceCheckUtils]: 24: Hoare triple {58709#false} assume !false; {58709#false} is VALID [2022-04-15 07:01:28,603 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-15 07:01:28,603 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:01:28,869 INFO L290 TraceCheckUtils]: 24: Hoare triple {58709#false} assume !false; {58709#false} is VALID [2022-04-15 07:01:28,869 INFO L290 TraceCheckUtils]: 23: Hoare triple {58709#false} assume 0 == ~cond; {58709#false} is VALID [2022-04-15 07:01:28,869 INFO L290 TraceCheckUtils]: 22: Hoare triple {58709#false} ~cond := #in~cond; {58709#false} is VALID [2022-04-15 07:01:28,869 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-15 07:01:28,869 INFO L290 TraceCheckUtils]: 20: Hoare triple {58709#false} assume !(~d~0 == ~SIZE~0); {58709#false} is VALID [2022-04-15 07:01:28,869 INFO L290 TraceCheckUtils]: 19: Hoare triple {58709#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {58709#false} is VALID [2022-04-15 07:01:28,869 INFO L290 TraceCheckUtils]: 18: Hoare triple {58709#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {58709#false} is VALID [2022-04-15 07:01:28,870 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-15 07:01:28,870 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-15 07:01:28,871 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-15 07:01:28,871 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-15 07:01:28,872 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-15 07:01:28,872 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-15 07:01:28,872 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-15 07:01:28,873 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {58708#true} {58844#(< 1 ~SIZE~0)} #86#return; {58844#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:28,873 INFO L290 TraceCheckUtils]: 9: Hoare triple {58708#true} assume true; {58708#true} is VALID [2022-04-15 07:01:28,873 INFO L290 TraceCheckUtils]: 8: Hoare triple {58708#true} assume !(0 == ~cond); {58708#true} is VALID [2022-04-15 07:01:28,873 INFO L290 TraceCheckUtils]: 7: Hoare triple {58708#true} ~cond := #in~cond; {58708#true} is VALID [2022-04-15 07:01:28,873 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-15 07:01:28,873 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-15 07:01:28,874 INFO L272 TraceCheckUtils]: 4: Hoare triple {58844#(< 1 ~SIZE~0)} call #t~ret7 := main(); {58844#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:28,874 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {58844#(< 1 ~SIZE~0)} {58708#true} #90#return; {58844#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:28,874 INFO L290 TraceCheckUtils]: 2: Hoare triple {58844#(< 1 ~SIZE~0)} assume true; {58844#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:28,875 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-15 07:01:28,875 INFO L272 TraceCheckUtils]: 0: Hoare triple {58708#true} call ULTIMATE.init(); {58708#true} is VALID [2022-04-15 07:01:28,875 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-15 07:01:28,875 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2117670200] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:01:28,875 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:01:28,875 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:01:29,832 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:01:29,832 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1853836792] [2022-04-15 07:01:29,832 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1853836792] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:01:29,832 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:01:29,832 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-15 07:01:29,833 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2126480325] [2022-04-15 07:01:29,833 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:01:29,833 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-15 07:01:29,833 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:01:29,833 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-15 07:01:29,864 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-15 07:01:29,864 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-15 07:01:29,864 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:01:29,864 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-15 07:01:29,864 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=217, Invalid=1043, Unknown=0, NotChecked=0, Total=1260 [2022-04-15 07:01:29,865 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-15 07:01:32,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:01:32,124 INFO L93 Difference]: Finished difference Result 332 states and 403 transitions. [2022-04-15 07:01:32,124 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-15 07:01:32,125 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-15 07:01:32,125 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:01:32,125 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-15 07:01:32,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 100 transitions. [2022-04-15 07:01:32,126 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-15 07:01:32,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 100 transitions. [2022-04-15 07:01:32,126 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 100 transitions. [2022-04-15 07:01:32,176 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-15 07:01:32,179 INFO L225 Difference]: With dead ends: 332 [2022-04-15 07:01:32,179 INFO L226 Difference]: Without dead ends: 227 [2022-04-15 07:01:32,179 INFO L912 BasicCegarLoop]: 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-15 07:01:32,180 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 47 mSDsluCounter, 60 mSDsCounter, 0 mSdLazyCounter, 1286 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-15 07:01:32,180 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [48 Valid, 80 Invalid, 1296 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1286 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 07:01:32,180 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 227 states. [2022-04-15 07:01:33,015 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 227 to 196. [2022-04-15 07:01:33,015 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:01:33,016 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-15 07:01:33,016 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-15 07:01:33,016 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-15 07:01:33,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:01:33,018 INFO L93 Difference]: Finished difference Result 227 states and 270 transitions. [2022-04-15 07:01:33,019 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 270 transitions. [2022-04-15 07:01:33,019 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:01:33,019 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:01:33,019 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-15 07:01:33,019 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-15 07:01:33,021 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:01:33,021 INFO L93 Difference]: Finished difference Result 227 states and 270 transitions. [2022-04-15 07:01:33,021 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 270 transitions. [2022-04-15 07:01:33,021 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:01:33,022 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:01:33,022 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:01:33,022 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:01:33,022 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-15 07:01:33,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 196 states to 196 states and 237 transitions. [2022-04-15 07:01:33,024 INFO L78 Accepts]: Start accepts. Automaton has 196 states and 237 transitions. Word has length 52 [2022-04-15 07:01:33,024 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:01:33,024 INFO L478 AbstractCegarLoop]: Abstraction has 196 states and 237 transitions. [2022-04-15 07:01:33,024 INFO L479 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-15 07:01:33,024 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 196 states and 237 transitions. [2022-04-15 07:01:33,702 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-15 07:01:33,703 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 237 transitions. [2022-04-15 07:01:33,703 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-15 07:01:33,703 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:01:33,703 INFO L499 BasicCegarLoop]: 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-15 07:01:33,721 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-15 07:01:33,918 WARN L460 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-15 07:01:33,918 INFO L403 AbstractCegarLoop]: === Iteration 52 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:01:33,919 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:01:33,919 INFO L85 PathProgramCache]: Analyzing trace with hash 1558087932, now seen corresponding path program 41 times [2022-04-15 07:01:33,919 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:01:33,919 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1066891883] [2022-04-15 07:01:34,053 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-15 07:01:34,223 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-15 07:01:34,224 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:01:34,226 INFO L85 PathProgramCache]: Analyzing trace with hash 1249608513, now seen corresponding path program 1 times [2022-04-15 07:01:34,226 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:01:34,226 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [445248340] [2022-04-15 07:01:34,226 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:01:34,226 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:01:34,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:34,371 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:01:34,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:34,375 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-15 07:01:34,375 INFO L290 TraceCheckUtils]: 1: Hoare triple {60420#(<= 20 ~SIZE~0)} assume true; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:34,376 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {60420#(<= 20 ~SIZE~0)} {60415#true} #90#return; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:34,376 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:01:34,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:34,377 INFO L290 TraceCheckUtils]: 0: Hoare triple {60415#true} ~cond := #in~cond; {60415#true} is VALID [2022-04-15 07:01:34,377 INFO L290 TraceCheckUtils]: 1: Hoare triple {60415#true} assume !(0 == ~cond); {60415#true} is VALID [2022-04-15 07:01:34,378 INFO L290 TraceCheckUtils]: 2: Hoare triple {60415#true} assume true; {60415#true} is VALID [2022-04-15 07:01:34,378 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60415#true} {60420#(<= 20 ~SIZE~0)} #86#return; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:34,378 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-15 07:01:34,379 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-15 07:01:34,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {60420#(<= 20 ~SIZE~0)} assume true; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:34,379 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60420#(<= 20 ~SIZE~0)} {60415#true} #90#return; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:34,379 INFO L272 TraceCheckUtils]: 4: Hoare triple {60420#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:34,379 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-15 07:01:34,379 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-15 07:01:34,380 INFO L290 TraceCheckUtils]: 7: Hoare triple {60415#true} ~cond := #in~cond; {60415#true} is VALID [2022-04-15 07:01:34,380 INFO L290 TraceCheckUtils]: 8: Hoare triple {60415#true} assume !(0 == ~cond); {60415#true} is VALID [2022-04-15 07:01:34,380 INFO L290 TraceCheckUtils]: 9: Hoare triple {60415#true} assume true; {60415#true} is VALID [2022-04-15 07:01:34,380 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {60415#true} {60420#(<= 20 ~SIZE~0)} #86#return; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:34,380 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-15 07:01:34,380 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-15 07:01:34,381 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-15 07:01:34,381 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-15 07:01:34,382 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-15 07:01:34,382 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-15 07:01:34,383 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-15 07:01:34,383 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-15 07:01:34,384 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-15 07:01:34,384 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-15 07:01:34,384 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-15 07:01:34,385 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-15 07:01:34,385 INFO L290 TraceCheckUtils]: 23: Hoare triple {60432#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {60416#false} is VALID [2022-04-15 07:01:34,385 INFO L290 TraceCheckUtils]: 24: Hoare triple {60416#false} assume !false; {60416#false} is VALID [2022-04-15 07:01:34,385 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-15 07:01:34,385 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:01:34,385 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [445248340] [2022-04-15 07:01:34,385 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [445248340] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:01:34,385 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [520967241] [2022-04-15 07:01:34,385 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:01:34,386 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:01:34,386 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:01:34,386 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-15 07:01:34,387 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-15 07:01:34,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:34,416 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:01:34,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:34,422 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:01:34,664 INFO L272 TraceCheckUtils]: 0: Hoare triple {60415#true} call ULTIMATE.init(); {60415#true} is VALID [2022-04-15 07:01:34,665 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-15 07:01:34,665 INFO L290 TraceCheckUtils]: 2: Hoare triple {60420#(<= 20 ~SIZE~0)} assume true; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:34,665 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60420#(<= 20 ~SIZE~0)} {60415#true} #90#return; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:34,666 INFO L272 TraceCheckUtils]: 4: Hoare triple {60420#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:34,666 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-15 07:01:34,666 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-15 07:01:34,667 INFO L290 TraceCheckUtils]: 7: Hoare triple {60420#(<= 20 ~SIZE~0)} ~cond := #in~cond; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:34,667 INFO L290 TraceCheckUtils]: 8: Hoare triple {60420#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:34,667 INFO L290 TraceCheckUtils]: 9: Hoare triple {60420#(<= 20 ~SIZE~0)} assume true; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:34,668 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {60420#(<= 20 ~SIZE~0)} {60420#(<= 20 ~SIZE~0)} #86#return; {60420#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:34,668 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-15 07:01:34,668 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-15 07:01:34,669 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-15 07:01:34,669 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-15 07:01:34,670 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-15 07:01:34,670 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-15 07:01:34,671 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-15 07:01:34,671 INFO L290 TraceCheckUtils]: 18: Hoare triple {60416#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {60416#false} is VALID [2022-04-15 07:01:34,671 INFO L290 TraceCheckUtils]: 19: Hoare triple {60416#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {60416#false} is VALID [2022-04-15 07:01:34,671 INFO L290 TraceCheckUtils]: 20: Hoare triple {60416#false} assume !(~d~0 == ~SIZE~0); {60416#false} is VALID [2022-04-15 07:01:34,671 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-15 07:01:34,671 INFO L290 TraceCheckUtils]: 22: Hoare triple {60416#false} ~cond := #in~cond; {60416#false} is VALID [2022-04-15 07:01:34,671 INFO L290 TraceCheckUtils]: 23: Hoare triple {60416#false} assume 0 == ~cond; {60416#false} is VALID [2022-04-15 07:01:34,671 INFO L290 TraceCheckUtils]: 24: Hoare triple {60416#false} assume !false; {60416#false} is VALID [2022-04-15 07:01:34,672 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-15 07:01:34,672 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:01:34,937 INFO L290 TraceCheckUtils]: 24: Hoare triple {60416#false} assume !false; {60416#false} is VALID [2022-04-15 07:01:34,937 INFO L290 TraceCheckUtils]: 23: Hoare triple {60416#false} assume 0 == ~cond; {60416#false} is VALID [2022-04-15 07:01:34,937 INFO L290 TraceCheckUtils]: 22: Hoare triple {60416#false} ~cond := #in~cond; {60416#false} is VALID [2022-04-15 07:01:34,937 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-15 07:01:34,937 INFO L290 TraceCheckUtils]: 20: Hoare triple {60416#false} assume !(~d~0 == ~SIZE~0); {60416#false} is VALID [2022-04-15 07:01:34,937 INFO L290 TraceCheckUtils]: 19: Hoare triple {60416#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {60416#false} is VALID [2022-04-15 07:01:34,937 INFO L290 TraceCheckUtils]: 18: Hoare triple {60416#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {60416#false} is VALID [2022-04-15 07:01:34,938 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-15 07:01:34,938 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-15 07:01:34,939 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-15 07:01:34,939 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-15 07:01:34,940 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-15 07:01:34,940 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-15 07:01:34,940 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-15 07:01:34,941 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {60415#true} {60551#(< 1 ~SIZE~0)} #86#return; {60551#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:34,941 INFO L290 TraceCheckUtils]: 9: Hoare triple {60415#true} assume true; {60415#true} is VALID [2022-04-15 07:01:34,941 INFO L290 TraceCheckUtils]: 8: Hoare triple {60415#true} assume !(0 == ~cond); {60415#true} is VALID [2022-04-15 07:01:34,941 INFO L290 TraceCheckUtils]: 7: Hoare triple {60415#true} ~cond := #in~cond; {60415#true} is VALID [2022-04-15 07:01:34,941 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-15 07:01:34,941 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-15 07:01:34,942 INFO L272 TraceCheckUtils]: 4: Hoare triple {60551#(< 1 ~SIZE~0)} call #t~ret7 := main(); {60551#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:34,942 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60551#(< 1 ~SIZE~0)} {60415#true} #90#return; {60551#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:34,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {60551#(< 1 ~SIZE~0)} assume true; {60551#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:34,943 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-15 07:01:34,943 INFO L272 TraceCheckUtils]: 0: Hoare triple {60415#true} call ULTIMATE.init(); {60415#true} is VALID [2022-04-15 07:01:34,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-15 07:01:34,943 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [520967241] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:01:34,943 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:01:34,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:01:35,937 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:01:35,937 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1066891883] [2022-04-15 07:01:35,938 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1066891883] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:01:35,938 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:01:35,938 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [28] imperfect sequences [] total 28 [2022-04-15 07:01:35,938 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1583219471] [2022-04-15 07:01:35,938 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:01:35,938 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-15 07:01:35,938 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:01:35,938 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-15 07:01:35,983 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-15 07:01:35,983 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-15 07:01:35,983 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:01:35,984 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-15 07:01:35,984 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=231, Invalid=1101, Unknown=0, NotChecked=0, Total=1332 [2022-04-15 07:01:35,984 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-15 07:01:38,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:01:38,584 INFO L93 Difference]: Finished difference Result 329 states and 400 transitions. [2022-04-15 07:01:38,584 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-15 07:01:38,584 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-15 07:01:38,584 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:01:38,584 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-15 07:01:38,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 101 transitions. [2022-04-15 07:01:38,585 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-15 07:01:38,586 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 101 transitions. [2022-04-15 07:01:38,586 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 101 transitions. [2022-04-15 07:01:38,637 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-15 07:01:38,640 INFO L225 Difference]: With dead ends: 329 [2022-04-15 07:01:38,641 INFO L226 Difference]: Without dead ends: 224 [2022-04-15 07:01:38,641 INFO L912 BasicCegarLoop]: 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-15 07:01:38,642 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 49 mSDsluCounter, 58 mSDsCounter, 0 mSdLazyCounter, 1286 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s 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.9s IncrementalHoareTripleChecker+Time [2022-04-15 07:01:38,642 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 78 Invalid, 1296 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1286 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-15 07:01:38,642 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-04-15 07:01:39,557 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 196. [2022-04-15 07:01:39,557 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:01:39,557 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-15 07:01:39,558 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-15 07:01:39,558 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-15 07:01:39,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:01:39,561 INFO L93 Difference]: Finished difference Result 224 states and 267 transitions. [2022-04-15 07:01:39,561 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 267 transitions. [2022-04-15 07:01:39,562 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:01:39,562 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:01:39,562 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-15 07:01:39,562 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-15 07:01:39,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:01:39,566 INFO L93 Difference]: Finished difference Result 224 states and 267 transitions. [2022-04-15 07:01:39,566 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 267 transitions. [2022-04-15 07:01:39,566 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:01:39,566 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:01:39,566 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:01:39,566 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:01:39,567 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-15 07:01:39,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 196 states to 196 states and 237 transitions. [2022-04-15 07:01:39,570 INFO L78 Accepts]: Start accepts. Automaton has 196 states and 237 transitions. Word has length 52 [2022-04-15 07:01:39,570 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:01:39,570 INFO L478 AbstractCegarLoop]: Abstraction has 196 states and 237 transitions. [2022-04-15 07:01:39,570 INFO L479 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-15 07:01:39,570 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 196 states and 237 transitions. [2022-04-15 07:01:40,281 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-15 07:01:40,281 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 237 transitions. [2022-04-15 07:01:40,281 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-15 07:01:40,281 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:01:40,281 INFO L499 BasicCegarLoop]: 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-15 07:01:40,302 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-15 07:01:40,500 WARN L460 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-15 07:01:40,500 INFO L403 AbstractCegarLoop]: === Iteration 53 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:01:40,501 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:01:40,501 INFO L85 PathProgramCache]: Analyzing trace with hash -247350402, now seen corresponding path program 42 times [2022-04-15 07:01:40,501 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:01:40,501 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2036946312] [2022-04-15 07:01:44,659 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:01:44,801 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-15 07:01:48,919 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:01:49,026 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-15 07:01:49,027 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:01:49,030 INFO L85 PathProgramCache]: Analyzing trace with hash -552836031, now seen corresponding path program 1 times [2022-04-15 07:01:49,030 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:01:49,030 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1348267662] [2022-04-15 07:01:49,031 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:01:49,031 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:01:49,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:49,187 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:01:49,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:49,193 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-15 07:01:49,193 INFO L290 TraceCheckUtils]: 1: Hoare triple {62116#(<= 20 ~SIZE~0)} assume true; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:49,193 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {62116#(<= 20 ~SIZE~0)} {62111#true} #90#return; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:49,194 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:01:49,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:49,195 INFO L290 TraceCheckUtils]: 0: Hoare triple {62111#true} ~cond := #in~cond; {62111#true} is VALID [2022-04-15 07:01:49,195 INFO L290 TraceCheckUtils]: 1: Hoare triple {62111#true} assume !(0 == ~cond); {62111#true} is VALID [2022-04-15 07:01:49,196 INFO L290 TraceCheckUtils]: 2: Hoare triple {62111#true} assume true; {62111#true} is VALID [2022-04-15 07:01:49,196 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {62111#true} {62116#(<= 20 ~SIZE~0)} #86#return; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:49,196 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-15 07:01:49,197 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-15 07:01:49,197 INFO L290 TraceCheckUtils]: 2: Hoare triple {62116#(<= 20 ~SIZE~0)} assume true; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:49,197 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {62116#(<= 20 ~SIZE~0)} {62111#true} #90#return; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:49,198 INFO L272 TraceCheckUtils]: 4: Hoare triple {62116#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:49,198 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-15 07:01:49,198 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-15 07:01:49,198 INFO L290 TraceCheckUtils]: 7: Hoare triple {62111#true} ~cond := #in~cond; {62111#true} is VALID [2022-04-15 07:01:49,198 INFO L290 TraceCheckUtils]: 8: Hoare triple {62111#true} assume !(0 == ~cond); {62111#true} is VALID [2022-04-15 07:01:49,198 INFO L290 TraceCheckUtils]: 9: Hoare triple {62111#true} assume true; {62111#true} is VALID [2022-04-15 07:01:49,199 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {62111#true} {62116#(<= 20 ~SIZE~0)} #86#return; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:49,199 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-15 07:01:49,200 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-15 07:01:49,200 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-15 07:01:49,201 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-15 07:01:49,201 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-15 07:01:49,202 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-15 07:01:49,203 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-15 07:01:49,203 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-15 07:01:49,204 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-15 07:01:49,204 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-15 07:01:49,205 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-15 07:01:49,205 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-15 07:01:49,205 INFO L290 TraceCheckUtils]: 23: Hoare triple {62128#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {62112#false} is VALID [2022-04-15 07:01:49,205 INFO L290 TraceCheckUtils]: 24: Hoare triple {62112#false} assume !false; {62112#false} is VALID [2022-04-15 07:01:49,206 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-15 07:01:49,206 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:01:49,206 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1348267662] [2022-04-15 07:01:49,206 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1348267662] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:01:49,206 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1165885171] [2022-04-15 07:01:49,206 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:01:49,206 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:01:49,207 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:01:49,207 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-15 07:01:49,208 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-15 07:01:49,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:49,240 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:01:49,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:49,246 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:01:49,494 INFO L272 TraceCheckUtils]: 0: Hoare triple {62111#true} call ULTIMATE.init(); {62111#true} is VALID [2022-04-15 07:01:49,494 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-15 07:01:49,495 INFO L290 TraceCheckUtils]: 2: Hoare triple {62116#(<= 20 ~SIZE~0)} assume true; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:49,495 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {62116#(<= 20 ~SIZE~0)} {62111#true} #90#return; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:49,495 INFO L272 TraceCheckUtils]: 4: Hoare triple {62116#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:49,496 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-15 07:01:49,496 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-15 07:01:49,496 INFO L290 TraceCheckUtils]: 7: Hoare triple {62116#(<= 20 ~SIZE~0)} ~cond := #in~cond; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:49,496 INFO L290 TraceCheckUtils]: 8: Hoare triple {62116#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:49,497 INFO L290 TraceCheckUtils]: 9: Hoare triple {62116#(<= 20 ~SIZE~0)} assume true; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:49,497 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {62116#(<= 20 ~SIZE~0)} {62116#(<= 20 ~SIZE~0)} #86#return; {62116#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:49,497 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-15 07:01:49,498 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-15 07:01:49,499 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-15 07:01:49,499 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-15 07:01:49,500 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-15 07:01:49,500 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-15 07:01:49,501 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-15 07:01:49,501 INFO L290 TraceCheckUtils]: 18: Hoare triple {62112#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {62112#false} is VALID [2022-04-15 07:01:49,501 INFO L290 TraceCheckUtils]: 19: Hoare triple {62112#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {62112#false} is VALID [2022-04-15 07:01:49,501 INFO L290 TraceCheckUtils]: 20: Hoare triple {62112#false} assume !(~d~0 == ~SIZE~0); {62112#false} is VALID [2022-04-15 07:01:49,501 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-15 07:01:49,501 INFO L290 TraceCheckUtils]: 22: Hoare triple {62112#false} ~cond := #in~cond; {62112#false} is VALID [2022-04-15 07:01:49,501 INFO L290 TraceCheckUtils]: 23: Hoare triple {62112#false} assume 0 == ~cond; {62112#false} is VALID [2022-04-15 07:01:49,501 INFO L290 TraceCheckUtils]: 24: Hoare triple {62112#false} assume !false; {62112#false} is VALID [2022-04-15 07:01:49,501 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-15 07:01:49,501 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:01:49,762 INFO L290 TraceCheckUtils]: 24: Hoare triple {62112#false} assume !false; {62112#false} is VALID [2022-04-15 07:01:49,762 INFO L290 TraceCheckUtils]: 23: Hoare triple {62112#false} assume 0 == ~cond; {62112#false} is VALID [2022-04-15 07:01:49,762 INFO L290 TraceCheckUtils]: 22: Hoare triple {62112#false} ~cond := #in~cond; {62112#false} is VALID [2022-04-15 07:01:49,762 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-15 07:01:49,762 INFO L290 TraceCheckUtils]: 20: Hoare triple {62112#false} assume !(~d~0 == ~SIZE~0); {62112#false} is VALID [2022-04-15 07:01:49,762 INFO L290 TraceCheckUtils]: 19: Hoare triple {62112#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {62112#false} is VALID [2022-04-15 07:01:49,763 INFO L290 TraceCheckUtils]: 18: Hoare triple {62112#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {62112#false} is VALID [2022-04-15 07:01:49,763 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-15 07:01:49,763 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-15 07:01:49,764 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-15 07:01:49,764 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-15 07:01:49,765 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-15 07:01:49,765 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-15 07:01:49,766 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-15 07:01:49,766 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {62111#true} {62247#(< 1 ~SIZE~0)} #86#return; {62247#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:49,766 INFO L290 TraceCheckUtils]: 9: Hoare triple {62111#true} assume true; {62111#true} is VALID [2022-04-15 07:01:49,766 INFO L290 TraceCheckUtils]: 8: Hoare triple {62111#true} assume !(0 == ~cond); {62111#true} is VALID [2022-04-15 07:01:49,766 INFO L290 TraceCheckUtils]: 7: Hoare triple {62111#true} ~cond := #in~cond; {62111#true} is VALID [2022-04-15 07:01:49,766 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-15 07:01:49,767 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-15 07:01:49,767 INFO L272 TraceCheckUtils]: 4: Hoare triple {62247#(< 1 ~SIZE~0)} call #t~ret7 := main(); {62247#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:49,767 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {62247#(< 1 ~SIZE~0)} {62111#true} #90#return; {62247#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:49,768 INFO L290 TraceCheckUtils]: 2: Hoare triple {62247#(< 1 ~SIZE~0)} assume true; {62247#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:49,768 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-15 07:01:49,768 INFO L272 TraceCheckUtils]: 0: Hoare triple {62111#true} call ULTIMATE.init(); {62111#true} is VALID [2022-04-15 07:01:49,768 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-15 07:01:49,768 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1165885171] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:01:49,769 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:01:49,769 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:01:50,770 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:01:50,771 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2036946312] [2022-04-15 07:01:50,771 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2036946312] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:01:50,771 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:01:50,771 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-15 07:01:50,771 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1477855198] [2022-04-15 07:01:50,771 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:01:50,771 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-15 07:01:50,771 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:01:50,771 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-15 07:01:50,799 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-15 07:01:50,799 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-15 07:01:50,799 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:01:50,799 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-15 07:01:50,799 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=245, Invalid=1161, Unknown=0, NotChecked=0, Total=1406 [2022-04-15 07:01:50,799 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-15 07:01:52,844 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:01:52,844 INFO L93 Difference]: Finished difference Result 326 states and 397 transitions. [2022-04-15 07:01:52,844 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-15 07:01:52,844 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-15 07:01:52,844 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:01:52,844 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-15 07:01:52,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 102 transitions. [2022-04-15 07:01:52,845 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-15 07:01:52,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 102 transitions. [2022-04-15 07:01:52,846 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 102 transitions. [2022-04-15 07:01:52,892 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-15 07:01:52,894 INFO L225 Difference]: With dead ends: 326 [2022-04-15 07:01:52,894 INFO L226 Difference]: Without dead ends: 221 [2022-04-15 07:01:52,895 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 48 SyntacticMatches, 12 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 661 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=257, Invalid=1303, Unknown=0, NotChecked=0, Total=1560 [2022-04-15 07:01:52,895 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 60 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 1370 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-15 07:01:52,895 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [61 Valid, 74 Invalid, 1381 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1370 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 07:01:52,895 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 221 states. [2022-04-15 07:01:53,736 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 221 to 196. [2022-04-15 07:01:53,737 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:01:53,737 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-15 07:01:53,737 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-15 07:01:53,737 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-15 07:01:53,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:01:53,740 INFO L93 Difference]: Finished difference Result 221 states and 264 transitions. [2022-04-15 07:01:53,740 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 264 transitions. [2022-04-15 07:01:53,740 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:01:53,740 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:01:53,740 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-15 07:01:53,740 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-15 07:01:53,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:01:53,743 INFO L93 Difference]: Finished difference Result 221 states and 264 transitions. [2022-04-15 07:01:53,743 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 264 transitions. [2022-04-15 07:01:53,743 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:01:53,743 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:01:53,743 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:01:53,743 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:01:53,743 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-15 07:01:53,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 196 states to 196 states and 237 transitions. [2022-04-15 07:01:53,746 INFO L78 Accepts]: Start accepts. Automaton has 196 states and 237 transitions. Word has length 52 [2022-04-15 07:01:53,746 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:01:53,746 INFO L478 AbstractCegarLoop]: Abstraction has 196 states and 237 transitions. [2022-04-15 07:01:53,746 INFO L479 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-15 07:01:53,746 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 196 states and 237 transitions. [2022-04-15 07:01:54,500 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-15 07:01:54,500 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 237 transitions. [2022-04-15 07:01:54,501 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-15 07:01:54,501 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:01:54,501 INFO L499 BasicCegarLoop]: 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-15 07:01:54,520 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-15 07:01:54,717 WARN L460 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-15 07:01:54,718 INFO L403 AbstractCegarLoop]: === Iteration 54 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:01:54,718 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:01:54,718 INFO L85 PathProgramCache]: Analyzing trace with hash -1064998852, now seen corresponding path program 43 times [2022-04-15 07:01:54,718 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:01:54,718 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1546147668] [2022-04-15 07:01:57,325 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:01:57,433 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-15 07:01:57,636 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-15 07:01:57,638 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:01:57,641 INFO L85 PathProgramCache]: Analyzing trace with hash 1939686721, now seen corresponding path program 1 times [2022-04-15 07:01:57,641 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:01:57,641 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1523092284] [2022-04-15 07:01:57,641 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:01:57,641 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:01:57,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:57,805 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:01:57,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:57,810 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-15 07:01:57,810 INFO L290 TraceCheckUtils]: 1: Hoare triple {63801#(<= 20 ~SIZE~0)} assume true; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:57,811 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {63801#(<= 20 ~SIZE~0)} {63796#true} #90#return; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:57,811 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:01:57,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:57,813 INFO L290 TraceCheckUtils]: 0: Hoare triple {63796#true} ~cond := #in~cond; {63796#true} is VALID [2022-04-15 07:01:57,813 INFO L290 TraceCheckUtils]: 1: Hoare triple {63796#true} assume !(0 == ~cond); {63796#true} is VALID [2022-04-15 07:01:57,813 INFO L290 TraceCheckUtils]: 2: Hoare triple {63796#true} assume true; {63796#true} is VALID [2022-04-15 07:01:57,813 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63796#true} {63801#(<= 20 ~SIZE~0)} #86#return; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:57,814 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-15 07:01:57,814 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-15 07:01:57,815 INFO L290 TraceCheckUtils]: 2: Hoare triple {63801#(<= 20 ~SIZE~0)} assume true; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:57,815 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63801#(<= 20 ~SIZE~0)} {63796#true} #90#return; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:57,815 INFO L272 TraceCheckUtils]: 4: Hoare triple {63801#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:57,816 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-15 07:01:57,816 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-15 07:01:57,816 INFO L290 TraceCheckUtils]: 7: Hoare triple {63796#true} ~cond := #in~cond; {63796#true} is VALID [2022-04-15 07:01:57,816 INFO L290 TraceCheckUtils]: 8: Hoare triple {63796#true} assume !(0 == ~cond); {63796#true} is VALID [2022-04-15 07:01:57,816 INFO L290 TraceCheckUtils]: 9: Hoare triple {63796#true} assume true; {63796#true} is VALID [2022-04-15 07:01:57,816 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {63796#true} {63801#(<= 20 ~SIZE~0)} #86#return; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:57,817 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-15 07:01:57,817 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-15 07:01:57,818 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-15 07:01:57,818 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-15 07:01:57,819 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-15 07:01:57,819 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-15 07:01:57,820 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-15 07:01:57,820 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-15 07:01:57,821 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-15 07:01:57,821 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-15 07:01:57,822 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-15 07:01:57,822 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-15 07:01:57,823 INFO L290 TraceCheckUtils]: 23: Hoare triple {63813#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {63797#false} is VALID [2022-04-15 07:01:57,823 INFO L290 TraceCheckUtils]: 24: Hoare triple {63797#false} assume !false; {63797#false} is VALID [2022-04-15 07:01:57,823 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-15 07:01:57,834 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:01:57,834 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1523092284] [2022-04-15 07:01:57,834 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1523092284] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:01:57,834 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1568289026] [2022-04-15 07:01:57,834 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:01:57,834 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:01:57,834 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:01:57,835 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-15 07:01:57,836 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-15 07:01:57,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:57,868 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:01:57,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:01:57,875 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:01:58,127 INFO L272 TraceCheckUtils]: 0: Hoare triple {63796#true} call ULTIMATE.init(); {63796#true} is VALID [2022-04-15 07:01:58,128 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-15 07:01:58,128 INFO L290 TraceCheckUtils]: 2: Hoare triple {63801#(<= 20 ~SIZE~0)} assume true; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:58,128 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63801#(<= 20 ~SIZE~0)} {63796#true} #90#return; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:58,129 INFO L272 TraceCheckUtils]: 4: Hoare triple {63801#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:58,129 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-15 07:01:58,129 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-15 07:01:58,130 INFO L290 TraceCheckUtils]: 7: Hoare triple {63801#(<= 20 ~SIZE~0)} ~cond := #in~cond; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:58,130 INFO L290 TraceCheckUtils]: 8: Hoare triple {63801#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:58,130 INFO L290 TraceCheckUtils]: 9: Hoare triple {63801#(<= 20 ~SIZE~0)} assume true; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:58,130 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {63801#(<= 20 ~SIZE~0)} {63801#(<= 20 ~SIZE~0)} #86#return; {63801#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:01:58,131 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-15 07:01:58,131 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-15 07:01:58,132 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-15 07:01:58,132 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-15 07:01:58,133 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-15 07:01:58,133 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-15 07:01:58,134 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-15 07:01:58,134 INFO L290 TraceCheckUtils]: 18: Hoare triple {63797#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {63797#false} is VALID [2022-04-15 07:01:58,134 INFO L290 TraceCheckUtils]: 19: Hoare triple {63797#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {63797#false} is VALID [2022-04-15 07:01:58,134 INFO L290 TraceCheckUtils]: 20: Hoare triple {63797#false} assume !(~d~0 == ~SIZE~0); {63797#false} is VALID [2022-04-15 07:01:58,134 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-15 07:01:58,134 INFO L290 TraceCheckUtils]: 22: Hoare triple {63797#false} ~cond := #in~cond; {63797#false} is VALID [2022-04-15 07:01:58,134 INFO L290 TraceCheckUtils]: 23: Hoare triple {63797#false} assume 0 == ~cond; {63797#false} is VALID [2022-04-15 07:01:58,134 INFO L290 TraceCheckUtils]: 24: Hoare triple {63797#false} assume !false; {63797#false} is VALID [2022-04-15 07:01:58,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-15 07:01:58,135 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:01:58,396 INFO L290 TraceCheckUtils]: 24: Hoare triple {63797#false} assume !false; {63797#false} is VALID [2022-04-15 07:01:58,397 INFO L290 TraceCheckUtils]: 23: Hoare triple {63797#false} assume 0 == ~cond; {63797#false} is VALID [2022-04-15 07:01:58,397 INFO L290 TraceCheckUtils]: 22: Hoare triple {63797#false} ~cond := #in~cond; {63797#false} is VALID [2022-04-15 07:01:58,397 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-15 07:01:58,397 INFO L290 TraceCheckUtils]: 20: Hoare triple {63797#false} assume !(~d~0 == ~SIZE~0); {63797#false} is VALID [2022-04-15 07:01:58,397 INFO L290 TraceCheckUtils]: 19: Hoare triple {63797#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {63797#false} is VALID [2022-04-15 07:01:58,397 INFO L290 TraceCheckUtils]: 18: Hoare triple {63797#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {63797#false} is VALID [2022-04-15 07:01:58,397 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-15 07:01:58,398 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-15 07:01:58,398 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-15 07:01:58,399 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-15 07:01:58,399 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-15 07:01:58,400 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-15 07:01:58,400 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-15 07:01:58,401 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {63796#true} {63932#(< 1 ~SIZE~0)} #86#return; {63932#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:58,401 INFO L290 TraceCheckUtils]: 9: Hoare triple {63796#true} assume true; {63796#true} is VALID [2022-04-15 07:01:58,401 INFO L290 TraceCheckUtils]: 8: Hoare triple {63796#true} assume !(0 == ~cond); {63796#true} is VALID [2022-04-15 07:01:58,401 INFO L290 TraceCheckUtils]: 7: Hoare triple {63796#true} ~cond := #in~cond; {63796#true} is VALID [2022-04-15 07:01:58,401 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-15 07:01:58,401 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-15 07:01:58,401 INFO L272 TraceCheckUtils]: 4: Hoare triple {63932#(< 1 ~SIZE~0)} call #t~ret7 := main(); {63932#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:58,402 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63932#(< 1 ~SIZE~0)} {63796#true} #90#return; {63932#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:58,402 INFO L290 TraceCheckUtils]: 2: Hoare triple {63932#(< 1 ~SIZE~0)} assume true; {63932#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:01:58,403 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-15 07:01:58,403 INFO L272 TraceCheckUtils]: 0: Hoare triple {63796#true} call ULTIMATE.init(); {63796#true} is VALID [2022-04-15 07:01:58,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-15 07:01:58,403 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1568289026] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:01:58,403 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:01:58,403 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:01:59,195 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:01:59,195 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1546147668] [2022-04-15 07:01:59,195 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1546147668] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:01:59,195 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:01:59,195 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [30] imperfect sequences [] total 30 [2022-04-15 07:01:59,196 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1868242452] [2022-04-15 07:01:59,196 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:01:59,196 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-15 07:01:59,196 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:01:59,197 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-15 07:01:59,226 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-15 07:01:59,226 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-15 07:01:59,227 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:01:59,227 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-15 07:01:59,227 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=259, Invalid=1223, Unknown=0, NotChecked=0, Total=1482 [2022-04-15 07:01:59,227 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-15 07:02:02,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:02:02,119 INFO L93 Difference]: Finished difference Result 323 states and 394 transitions. [2022-04-15 07:02:02,119 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-15 07:02:02,119 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-15 07:02:02,119 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:02:02,119 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-15 07:02:02,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 103 transitions. [2022-04-15 07:02:02,120 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-15 07:02:02,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 103 transitions. [2022-04-15 07:02:02,121 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 103 transitions. [2022-04-15 07:02:02,197 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-15 07:02:02,200 INFO L225 Difference]: With dead ends: 323 [2022-04-15 07:02:02,200 INFO L226 Difference]: Without dead ends: 218 [2022-04-15 07:02:02,200 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 48 SyntacticMatches, 11 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 663 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=271, Invalid=1369, Unknown=0, NotChecked=0, Total=1640 [2022-04-15 07:02:02,201 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 68 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 1323 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s 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.9s IncrementalHoareTripleChecker+Time [2022-04-15 07:02:02,201 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [69 Valid, 62 Invalid, 1334 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1323 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-15 07:02:02,201 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 218 states. [2022-04-15 07:02:02,952 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 218 to 196. [2022-04-15 07:02:02,953 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:02:02,953 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-15 07:02:02,953 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-15 07:02:02,953 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-15 07:02:02,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:02:02,955 INFO L93 Difference]: Finished difference Result 218 states and 261 transitions. [2022-04-15 07:02:02,956 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 261 transitions. [2022-04-15 07:02:02,956 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:02:02,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:02:02,956 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-15 07:02:02,956 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-15 07:02:02,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:02:02,958 INFO L93 Difference]: Finished difference Result 218 states and 261 transitions. [2022-04-15 07:02:02,958 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 261 transitions. [2022-04-15 07:02:02,958 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:02:02,958 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:02:02,959 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:02:02,959 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:02:02,959 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-15 07:02:02,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 196 states to 196 states and 237 transitions. [2022-04-15 07:02:02,961 INFO L78 Accepts]: Start accepts. Automaton has 196 states and 237 transitions. Word has length 52 [2022-04-15 07:02:02,961 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:02:02,961 INFO L478 AbstractCegarLoop]: Abstraction has 196 states and 237 transitions. [2022-04-15 07:02:02,961 INFO L479 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-15 07:02:02,961 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 196 states and 237 transitions. [2022-04-15 07:02:03,608 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-15 07:02:03,609 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 237 transitions. [2022-04-15 07:02:03,609 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-15 07:02:03,609 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:02:03,609 INFO L499 BasicCegarLoop]: 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-15 07:02:03,625 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-15 07:02:03,825 WARN L460 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-15 07:02:03,826 INFO L403 AbstractCegarLoop]: === Iteration 55 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:02:03,826 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:02:03,826 INFO L85 PathProgramCache]: Analyzing trace with hash 1641620542, now seen corresponding path program 44 times [2022-04-15 07:02:03,826 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:02:03,826 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1146672817] [2022-04-15 07:02:04,076 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-15 07:02:04,270 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-15 07:02:04,271 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:02:04,274 INFO L85 PathProgramCache]: Analyzing trace with hash 137242177, now seen corresponding path program 1 times [2022-04-15 07:02:04,274 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:02:04,274 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1028803962] [2022-04-15 07:02:04,275 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:02:04,275 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:02:04,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:04,396 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:02:04,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:04,401 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-15 07:02:04,402 INFO L290 TraceCheckUtils]: 1: Hoare triple {65475#(<= 20 ~SIZE~0)} assume true; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:04,402 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {65475#(<= 20 ~SIZE~0)} {65470#true} #90#return; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:04,402 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:02:04,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:04,405 INFO L290 TraceCheckUtils]: 0: Hoare triple {65470#true} ~cond := #in~cond; {65470#true} is VALID [2022-04-15 07:02:04,406 INFO L290 TraceCheckUtils]: 1: Hoare triple {65470#true} assume !(0 == ~cond); {65470#true} is VALID [2022-04-15 07:02:04,406 INFO L290 TraceCheckUtils]: 2: Hoare triple {65470#true} assume true; {65470#true} is VALID [2022-04-15 07:02:04,406 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {65470#true} {65475#(<= 20 ~SIZE~0)} #86#return; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:04,406 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-15 07:02:04,407 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-15 07:02:04,407 INFO L290 TraceCheckUtils]: 2: Hoare triple {65475#(<= 20 ~SIZE~0)} assume true; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:04,407 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {65475#(<= 20 ~SIZE~0)} {65470#true} #90#return; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:04,407 INFO L272 TraceCheckUtils]: 4: Hoare triple {65475#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:04,408 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-15 07:02:04,408 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-15 07:02:04,408 INFO L290 TraceCheckUtils]: 7: Hoare triple {65470#true} ~cond := #in~cond; {65470#true} is VALID [2022-04-15 07:02:04,408 INFO L290 TraceCheckUtils]: 8: Hoare triple {65470#true} assume !(0 == ~cond); {65470#true} is VALID [2022-04-15 07:02:04,408 INFO L290 TraceCheckUtils]: 9: Hoare triple {65470#true} assume true; {65470#true} is VALID [2022-04-15 07:02:04,408 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {65470#true} {65475#(<= 20 ~SIZE~0)} #86#return; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:04,409 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-15 07:02:04,409 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-15 07:02:04,409 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-15 07:02:04,410 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-15 07:02:04,410 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-15 07:02:04,411 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-15 07:02:04,411 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-15 07:02:04,414 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-15 07:02:04,415 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-15 07:02:04,415 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-15 07:02:04,417 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-15 07:02:04,417 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-15 07:02:04,417 INFO L290 TraceCheckUtils]: 23: Hoare triple {65487#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {65471#false} is VALID [2022-04-15 07:02:04,417 INFO L290 TraceCheckUtils]: 24: Hoare triple {65471#false} assume !false; {65471#false} is VALID [2022-04-15 07:02:04,417 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-15 07:02:04,417 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:02:04,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1028803962] [2022-04-15 07:02:04,418 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1028803962] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:02:04,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [183198621] [2022-04-15 07:02:04,418 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:02:04,418 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:02:04,418 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:02:04,419 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-15 07:02:04,419 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-15 07:02:04,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:04,448 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:02:04,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:04,454 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:02:04,704 INFO L272 TraceCheckUtils]: 0: Hoare triple {65470#true} call ULTIMATE.init(); {65470#true} is VALID [2022-04-15 07:02:04,704 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-15 07:02:04,705 INFO L290 TraceCheckUtils]: 2: Hoare triple {65475#(<= 20 ~SIZE~0)} assume true; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:04,705 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {65475#(<= 20 ~SIZE~0)} {65470#true} #90#return; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:04,705 INFO L272 TraceCheckUtils]: 4: Hoare triple {65475#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:04,706 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-15 07:02:04,706 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-15 07:02:04,706 INFO L290 TraceCheckUtils]: 7: Hoare triple {65475#(<= 20 ~SIZE~0)} ~cond := #in~cond; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:04,707 INFO L290 TraceCheckUtils]: 8: Hoare triple {65475#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:04,707 INFO L290 TraceCheckUtils]: 9: Hoare triple {65475#(<= 20 ~SIZE~0)} assume true; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:04,707 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {65475#(<= 20 ~SIZE~0)} {65475#(<= 20 ~SIZE~0)} #86#return; {65475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:04,708 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-15 07:02:04,708 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-15 07:02:04,709 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-15 07:02:04,709 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-15 07:02:04,710 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-15 07:02:04,710 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-15 07:02:04,711 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-15 07:02:04,711 INFO L290 TraceCheckUtils]: 18: Hoare triple {65471#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {65471#false} is VALID [2022-04-15 07:02:04,711 INFO L290 TraceCheckUtils]: 19: Hoare triple {65471#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {65471#false} is VALID [2022-04-15 07:02:04,711 INFO L290 TraceCheckUtils]: 20: Hoare triple {65471#false} assume !(~d~0 == ~SIZE~0); {65471#false} is VALID [2022-04-15 07:02:04,711 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-15 07:02:04,711 INFO L290 TraceCheckUtils]: 22: Hoare triple {65471#false} ~cond := #in~cond; {65471#false} is VALID [2022-04-15 07:02:04,711 INFO L290 TraceCheckUtils]: 23: Hoare triple {65471#false} assume 0 == ~cond; {65471#false} is VALID [2022-04-15 07:02:04,711 INFO L290 TraceCheckUtils]: 24: Hoare triple {65471#false} assume !false; {65471#false} is VALID [2022-04-15 07:02:04,712 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-15 07:02:04,712 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:02:05,008 INFO L290 TraceCheckUtils]: 24: Hoare triple {65471#false} assume !false; {65471#false} is VALID [2022-04-15 07:02:05,008 INFO L290 TraceCheckUtils]: 23: Hoare triple {65471#false} assume 0 == ~cond; {65471#false} is VALID [2022-04-15 07:02:05,008 INFO L290 TraceCheckUtils]: 22: Hoare triple {65471#false} ~cond := #in~cond; {65471#false} is VALID [2022-04-15 07:02:05,008 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-15 07:02:05,008 INFO L290 TraceCheckUtils]: 20: Hoare triple {65471#false} assume !(~d~0 == ~SIZE~0); {65471#false} is VALID [2022-04-15 07:02:05,008 INFO L290 TraceCheckUtils]: 19: Hoare triple {65471#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {65471#false} is VALID [2022-04-15 07:02:05,008 INFO L290 TraceCheckUtils]: 18: Hoare triple {65471#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {65471#false} is VALID [2022-04-15 07:02:05,009 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-15 07:02:05,009 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-15 07:02:05,010 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-15 07:02:05,010 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-15 07:02:05,011 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-15 07:02:05,011 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-15 07:02:05,011 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-15 07:02:05,012 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {65470#true} {65606#(< 1 ~SIZE~0)} #86#return; {65606#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:05,012 INFO L290 TraceCheckUtils]: 9: Hoare triple {65470#true} assume true; {65470#true} is VALID [2022-04-15 07:02:05,012 INFO L290 TraceCheckUtils]: 8: Hoare triple {65470#true} assume !(0 == ~cond); {65470#true} is VALID [2022-04-15 07:02:05,012 INFO L290 TraceCheckUtils]: 7: Hoare triple {65470#true} ~cond := #in~cond; {65470#true} is VALID [2022-04-15 07:02:05,012 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-15 07:02:05,012 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-15 07:02:05,013 INFO L272 TraceCheckUtils]: 4: Hoare triple {65606#(< 1 ~SIZE~0)} call #t~ret7 := main(); {65606#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:05,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {65606#(< 1 ~SIZE~0)} {65470#true} #90#return; {65606#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:05,013 INFO L290 TraceCheckUtils]: 2: Hoare triple {65606#(< 1 ~SIZE~0)} assume true; {65606#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:05,014 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-15 07:02:05,014 INFO L272 TraceCheckUtils]: 0: Hoare triple {65470#true} call ULTIMATE.init(); {65470#true} is VALID [2022-04-15 07:02:05,014 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-15 07:02:05,014 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [183198621] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:02:05,014 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:02:05,014 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:02:06,004 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:02:06,004 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1146672817] [2022-04-15 07:02:06,004 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1146672817] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:02:06,004 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:02:06,004 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [31] imperfect sequences [] total 31 [2022-04-15 07:02:06,004 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1814321679] [2022-04-15 07:02:06,004 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:02:06,004 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-15 07:02:06,004 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:02:06,004 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-15 07:02:06,042 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-15 07:02:06,042 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-15 07:02:06,042 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:02:06,042 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-15 07:02:06,042 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=273, Invalid=1287, Unknown=0, NotChecked=0, Total=1560 [2022-04-15 07:02:06,043 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-15 07:02:09,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:02:09,316 INFO L93 Difference]: Finished difference Result 321 states and 392 transitions. [2022-04-15 07:02:09,316 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-15 07:02:09,316 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-15 07:02:09,316 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:02:09,316 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-15 07:02:09,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 104 transitions. [2022-04-15 07:02:09,317 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-15 07:02:09,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 104 transitions. [2022-04-15 07:02:09,318 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 104 transitions. [2022-04-15 07:02:09,391 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-15 07:02:09,394 INFO L225 Difference]: With dead ends: 321 [2022-04-15 07:02:09,394 INFO L226 Difference]: Without dead ends: 216 [2022-04-15 07:02:09,394 INFO L912 BasicCegarLoop]: 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-15 07:02:09,395 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 63 mSDsluCounter, 53 mSDsCounter, 0 mSdLazyCounter, 1694 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s 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, 1.2s IncrementalHoareTripleChecker+Time [2022-04-15 07:02:09,395 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [64 Valid, 73 Invalid, 1705 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1694 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-15 07:02:09,395 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 216 states. [2022-04-15 07:02:10,127 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 216 to 196. [2022-04-15 07:02:10,127 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:02:10,127 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-15 07:02:10,127 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-15 07:02:10,128 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-15 07:02:10,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:02:10,136 INFO L93 Difference]: Finished difference Result 216 states and 259 transitions. [2022-04-15 07:02:10,136 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 259 transitions. [2022-04-15 07:02:10,136 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:02:10,136 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:02:10,137 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-15 07:02:10,137 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-15 07:02:10,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:02:10,139 INFO L93 Difference]: Finished difference Result 216 states and 259 transitions. [2022-04-15 07:02:10,139 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 259 transitions. [2022-04-15 07:02:10,139 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:02:10,139 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:02:10,140 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:02:10,140 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:02:10,140 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-15 07:02:10,142 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 196 states to 196 states and 237 transitions. [2022-04-15 07:02:10,142 INFO L78 Accepts]: Start accepts. Automaton has 196 states and 237 transitions. Word has length 52 [2022-04-15 07:02:10,142 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:02:10,142 INFO L478 AbstractCegarLoop]: Abstraction has 196 states and 237 transitions. [2022-04-15 07:02:10,142 INFO L479 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-15 07:02:10,142 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 196 states and 237 transitions. [2022-04-15 07:02:10,836 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-15 07:02:10,836 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 237 transitions. [2022-04-15 07:02:10,837 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-15 07:02:10,837 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:02:10,837 INFO L499 BasicCegarLoop]: 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-15 07:02:10,853 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (48)] Ended with exit code 0 [2022-04-15 07:02:11,037 WARN L460 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-15 07:02:11,037 INFO L403 AbstractCegarLoop]: === Iteration 56 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:02:11,038 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:02:11,038 INFO L85 PathProgramCache]: Analyzing trace with hash 630503292, now seen corresponding path program 45 times [2022-04-15 07:02:11,038 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:02:11,038 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [519489735] [2022-04-15 07:02:15,177 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:02:15,289 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-15 07:02:17,845 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:02:17,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-15 07:02:17,954 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:02:17,957 INFO L85 PathProgramCache]: Analyzing trace with hash -1665202367, now seen corresponding path program 1 times [2022-04-15 07:02:17,957 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:02:17,957 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1288711181] [2022-04-15 07:02:17,957 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:02:17,957 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:02:17,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:18,118 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:02:18,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:18,123 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-15 07:02:18,123 INFO L290 TraceCheckUtils]: 1: Hoare triple {67142#(<= 20 ~SIZE~0)} assume true; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:18,123 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {67142#(<= 20 ~SIZE~0)} {67137#true} #90#return; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:18,124 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:02:18,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:18,126 INFO L290 TraceCheckUtils]: 0: Hoare triple {67137#true} ~cond := #in~cond; {67137#true} is VALID [2022-04-15 07:02:18,126 INFO L290 TraceCheckUtils]: 1: Hoare triple {67137#true} assume !(0 == ~cond); {67137#true} is VALID [2022-04-15 07:02:18,126 INFO L290 TraceCheckUtils]: 2: Hoare triple {67137#true} assume true; {67137#true} is VALID [2022-04-15 07:02:18,126 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67137#true} {67142#(<= 20 ~SIZE~0)} #86#return; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:18,127 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-15 07:02:18,127 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-15 07:02:18,127 INFO L290 TraceCheckUtils]: 2: Hoare triple {67142#(<= 20 ~SIZE~0)} assume true; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:18,128 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67142#(<= 20 ~SIZE~0)} {67137#true} #90#return; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:18,128 INFO L272 TraceCheckUtils]: 4: Hoare triple {67142#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:18,128 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-15 07:02:18,128 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-15 07:02:18,129 INFO L290 TraceCheckUtils]: 7: Hoare triple {67137#true} ~cond := #in~cond; {67137#true} is VALID [2022-04-15 07:02:18,129 INFO L290 TraceCheckUtils]: 8: Hoare triple {67137#true} assume !(0 == ~cond); {67137#true} is VALID [2022-04-15 07:02:18,129 INFO L290 TraceCheckUtils]: 9: Hoare triple {67137#true} assume true; {67137#true} is VALID [2022-04-15 07:02:18,129 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {67137#true} {67142#(<= 20 ~SIZE~0)} #86#return; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:18,129 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-15 07:02:18,130 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-15 07:02:18,131 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-15 07:02:18,131 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-15 07:02:18,132 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-15 07:02:18,132 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-15 07:02:18,133 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-15 07:02:18,133 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-15 07:02:18,134 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-15 07:02:18,134 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-15 07:02:18,135 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-15 07:02:18,135 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-15 07:02:18,136 INFO L290 TraceCheckUtils]: 23: Hoare triple {67154#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {67138#false} is VALID [2022-04-15 07:02:18,136 INFO L290 TraceCheckUtils]: 24: Hoare triple {67138#false} assume !false; {67138#false} is VALID [2022-04-15 07:02:18,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-15 07:02:18,136 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:02:18,136 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1288711181] [2022-04-15 07:02:18,136 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1288711181] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:02:18,136 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [330722487] [2022-04-15 07:02:18,136 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:02:18,136 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:02:18,137 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:02:18,137 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-15 07:02:18,138 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-15 07:02:18,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:18,166 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:02:18,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:18,172 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:02:18,392 INFO L272 TraceCheckUtils]: 0: Hoare triple {67137#true} call ULTIMATE.init(); {67137#true} is VALID [2022-04-15 07:02:18,393 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-15 07:02:18,393 INFO L290 TraceCheckUtils]: 2: Hoare triple {67142#(<= 20 ~SIZE~0)} assume true; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:18,394 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67142#(<= 20 ~SIZE~0)} {67137#true} #90#return; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:18,394 INFO L272 TraceCheckUtils]: 4: Hoare triple {67142#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:18,394 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-15 07:02:18,395 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-15 07:02:18,395 INFO L290 TraceCheckUtils]: 7: Hoare triple {67142#(<= 20 ~SIZE~0)} ~cond := #in~cond; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:18,395 INFO L290 TraceCheckUtils]: 8: Hoare triple {67142#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:18,395 INFO L290 TraceCheckUtils]: 9: Hoare triple {67142#(<= 20 ~SIZE~0)} assume true; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:18,396 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {67142#(<= 20 ~SIZE~0)} {67142#(<= 20 ~SIZE~0)} #86#return; {67142#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:18,396 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-15 07:02:18,397 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-15 07:02:18,397 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-15 07:02:18,398 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-15 07:02:18,398 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-15 07:02:18,399 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-15 07:02:18,399 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-15 07:02:18,400 INFO L290 TraceCheckUtils]: 18: Hoare triple {67138#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {67138#false} is VALID [2022-04-15 07:02:18,400 INFO L290 TraceCheckUtils]: 19: Hoare triple {67138#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {67138#false} is VALID [2022-04-15 07:02:18,400 INFO L290 TraceCheckUtils]: 20: Hoare triple {67138#false} assume !(~d~0 == ~SIZE~0); {67138#false} is VALID [2022-04-15 07:02:18,400 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-15 07:02:18,400 INFO L290 TraceCheckUtils]: 22: Hoare triple {67138#false} ~cond := #in~cond; {67138#false} is VALID [2022-04-15 07:02:18,400 INFO L290 TraceCheckUtils]: 23: Hoare triple {67138#false} assume 0 == ~cond; {67138#false} is VALID [2022-04-15 07:02:18,400 INFO L290 TraceCheckUtils]: 24: Hoare triple {67138#false} assume !false; {67138#false} is VALID [2022-04-15 07:02:18,400 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-15 07:02:18,400 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:02:18,660 INFO L290 TraceCheckUtils]: 24: Hoare triple {67138#false} assume !false; {67138#false} is VALID [2022-04-15 07:02:18,661 INFO L290 TraceCheckUtils]: 23: Hoare triple {67138#false} assume 0 == ~cond; {67138#false} is VALID [2022-04-15 07:02:18,661 INFO L290 TraceCheckUtils]: 22: Hoare triple {67138#false} ~cond := #in~cond; {67138#false} is VALID [2022-04-15 07:02:18,661 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-15 07:02:18,661 INFO L290 TraceCheckUtils]: 20: Hoare triple {67138#false} assume !(~d~0 == ~SIZE~0); {67138#false} is VALID [2022-04-15 07:02:18,661 INFO L290 TraceCheckUtils]: 19: Hoare triple {67138#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {67138#false} is VALID [2022-04-15 07:02:18,661 INFO L290 TraceCheckUtils]: 18: Hoare triple {67138#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {67138#false} is VALID [2022-04-15 07:02:18,661 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-15 07:02:18,662 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-15 07:02:18,662 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-15 07:02:18,663 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-15 07:02:18,663 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-15 07:02:18,664 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-15 07:02:18,664 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-15 07:02:18,665 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {67137#true} {67273#(< 1 ~SIZE~0)} #86#return; {67273#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:18,665 INFO L290 TraceCheckUtils]: 9: Hoare triple {67137#true} assume true; {67137#true} is VALID [2022-04-15 07:02:18,665 INFO L290 TraceCheckUtils]: 8: Hoare triple {67137#true} assume !(0 == ~cond); {67137#true} is VALID [2022-04-15 07:02:18,665 INFO L290 TraceCheckUtils]: 7: Hoare triple {67137#true} ~cond := #in~cond; {67137#true} is VALID [2022-04-15 07:02:18,665 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-15 07:02:18,665 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-15 07:02:18,665 INFO L272 TraceCheckUtils]: 4: Hoare triple {67273#(< 1 ~SIZE~0)} call #t~ret7 := main(); {67273#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:18,666 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {67273#(< 1 ~SIZE~0)} {67137#true} #90#return; {67273#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:18,666 INFO L290 TraceCheckUtils]: 2: Hoare triple {67273#(< 1 ~SIZE~0)} assume true; {67273#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:18,667 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-15 07:02:18,667 INFO L272 TraceCheckUtils]: 0: Hoare triple {67137#true} call ULTIMATE.init(); {67137#true} is VALID [2022-04-15 07:02:18,667 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-15 07:02:18,667 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [330722487] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:02:18,667 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:02:18,667 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:02:19,685 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:02:19,685 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [519489735] [2022-04-15 07:02:19,685 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [519489735] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:02:19,685 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:02:19,685 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [32] imperfect sequences [] total 32 [2022-04-15 07:02:19,686 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [795959846] [2022-04-15 07:02:19,686 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:02:19,686 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-15 07:02:19,686 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:02:19,686 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-15 07:02:19,724 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-15 07:02:19,724 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2022-04-15 07:02:19,724 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:02:19,724 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-04-15 07:02:19,724 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=287, Invalid=1353, Unknown=0, NotChecked=0, Total=1640 [2022-04-15 07:02:19,724 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-15 07:02:21,873 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:02:21,874 INFO L93 Difference]: Finished difference Result 332 states and 407 transitions. [2022-04-15 07:02:21,874 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-15 07:02:21,874 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-15 07:02:21,874 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:02:21,874 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-15 07:02:21,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 106 transitions. [2022-04-15 07:02:21,875 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-15 07:02:21,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 106 transitions. [2022-04-15 07:02:21,875 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 106 transitions. [2022-04-15 07:02:21,926 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-15 07:02:21,929 INFO L225 Difference]: With dead ends: 332 [2022-04-15 07:02:21,929 INFO L226 Difference]: Without dead ends: 216 [2022-04-15 07:02:21,929 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 48 SyntacticMatches, 9 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 638 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=299, Invalid=1507, Unknown=0, NotChecked=0, Total=1806 [2022-04-15 07:02:21,929 INFO L913 BasicCegarLoop]: 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-15 07:02:21,929 INFO L914 BasicCegarLoop]: 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-15 07:02:21,930 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 216 states. [2022-04-15 07:02:22,412 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 216 to 199. [2022-04-15 07:02:22,412 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:02:22,412 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-15 07:02:22,412 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-15 07:02:22,413 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-15 07:02:22,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:02:22,415 INFO L93 Difference]: Finished difference Result 216 states and 260 transitions. [2022-04-15 07:02:22,415 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 260 transitions. [2022-04-15 07:02:22,415 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:02:22,415 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:02:22,415 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-15 07:02:22,416 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-15 07:02:22,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:02:22,418 INFO L93 Difference]: Finished difference Result 216 states and 260 transitions. [2022-04-15 07:02:22,418 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 260 transitions. [2022-04-15 07:02:22,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:02:22,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:02:22,418 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:02:22,418 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:02:22,418 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-15 07:02:22,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 199 states to 199 states and 241 transitions. [2022-04-15 07:02:22,421 INFO L78 Accepts]: Start accepts. Automaton has 199 states and 241 transitions. Word has length 52 [2022-04-15 07:02:22,421 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:02:22,421 INFO L478 AbstractCegarLoop]: Abstraction has 199 states and 241 transitions. [2022-04-15 07:02:22,421 INFO L479 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-15 07:02:22,421 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 199 states and 241 transitions. [2022-04-15 07:02:23,094 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-15 07:02:23,094 INFO L276 IsEmpty]: Start isEmpty. Operand 199 states and 241 transitions. [2022-04-15 07:02:23,094 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 07:02:23,094 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:02:23,094 INFO L499 BasicCegarLoop]: 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-15 07:02:23,111 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (49)] Ended with exit code 0 [2022-04-15 07:02:23,307 WARN L460 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-15 07:02:23,307 INFO L403 AbstractCegarLoop]: === Iteration 57 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:02:23,308 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:02:23,308 INFO L85 PathProgramCache]: Analyzing trace with hash -2013376257, now seen corresponding path program 46 times [2022-04-15 07:02:23,308 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:02:23,308 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [29892723] [2022-04-15 07:02:23,472 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-15 07:02:23,749 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-15 07:02:23,751 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:02:23,754 INFO L85 PathProgramCache]: Analyzing trace with hash 827320385, now seen corresponding path program 1 times [2022-04-15 07:02:23,754 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:02:23,754 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [102811214] [2022-04-15 07:02:23,754 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:02:23,755 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:02:23,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:23,941 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:02:23,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:23,947 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-15 07:02:23,947 INFO L290 TraceCheckUtils]: 1: Hoare triple {68838#(<= 20 ~SIZE~0)} assume true; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:23,947 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {68838#(<= 20 ~SIZE~0)} {68833#true} #90#return; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:23,948 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:02:23,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:23,950 INFO L290 TraceCheckUtils]: 0: Hoare triple {68833#true} ~cond := #in~cond; {68833#true} is VALID [2022-04-15 07:02:23,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {68833#true} assume !(0 == ~cond); {68833#true} is VALID [2022-04-15 07:02:23,950 INFO L290 TraceCheckUtils]: 2: Hoare triple {68833#true} assume true; {68833#true} is VALID [2022-04-15 07:02:23,950 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68833#true} {68838#(<= 20 ~SIZE~0)} #86#return; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:23,951 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-15 07:02:23,952 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-15 07:02:23,952 INFO L290 TraceCheckUtils]: 2: Hoare triple {68838#(<= 20 ~SIZE~0)} assume true; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:23,952 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68838#(<= 20 ~SIZE~0)} {68833#true} #90#return; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:23,953 INFO L272 TraceCheckUtils]: 4: Hoare triple {68838#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:23,953 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-15 07:02:23,953 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-15 07:02:23,953 INFO L290 TraceCheckUtils]: 7: Hoare triple {68833#true} ~cond := #in~cond; {68833#true} is VALID [2022-04-15 07:02:23,953 INFO L290 TraceCheckUtils]: 8: Hoare triple {68833#true} assume !(0 == ~cond); {68833#true} is VALID [2022-04-15 07:02:23,953 INFO L290 TraceCheckUtils]: 9: Hoare triple {68833#true} assume true; {68833#true} is VALID [2022-04-15 07:02:23,954 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {68833#true} {68838#(<= 20 ~SIZE~0)} #86#return; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:23,954 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-15 07:02:23,955 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-15 07:02:23,956 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-15 07:02:23,956 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-15 07:02:23,957 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-15 07:02:23,958 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-15 07:02:23,959 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-15 07:02:23,959 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-15 07:02:23,960 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-15 07:02:23,961 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-15 07:02:23,961 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-15 07:02:23,962 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-15 07:02:23,962 INFO L290 TraceCheckUtils]: 23: Hoare triple {68850#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {68834#false} is VALID [2022-04-15 07:02:23,962 INFO L290 TraceCheckUtils]: 24: Hoare triple {68834#false} assume !false; {68834#false} is VALID [2022-04-15 07:02:23,963 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-15 07:02:23,963 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:02:23,963 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [102811214] [2022-04-15 07:02:23,963 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [102811214] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:02:23,963 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1167777557] [2022-04-15 07:02:23,963 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:02:23,963 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:02:23,963 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:02:23,964 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-15 07:02:23,983 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-15 07:02:24,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:24,026 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:02:24,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:24,034 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:02:24,343 INFO L272 TraceCheckUtils]: 0: Hoare triple {68833#true} call ULTIMATE.init(); {68833#true} is VALID [2022-04-15 07:02:24,344 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-15 07:02:24,344 INFO L290 TraceCheckUtils]: 2: Hoare triple {68838#(<= 20 ~SIZE~0)} assume true; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:24,345 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68838#(<= 20 ~SIZE~0)} {68833#true} #90#return; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:24,345 INFO L272 TraceCheckUtils]: 4: Hoare triple {68838#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:24,345 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-15 07:02:24,346 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-15 07:02:24,346 INFO L290 TraceCheckUtils]: 7: Hoare triple {68838#(<= 20 ~SIZE~0)} ~cond := #in~cond; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:24,347 INFO L290 TraceCheckUtils]: 8: Hoare triple {68838#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:24,347 INFO L290 TraceCheckUtils]: 9: Hoare triple {68838#(<= 20 ~SIZE~0)} assume true; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:24,348 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {68838#(<= 20 ~SIZE~0)} {68838#(<= 20 ~SIZE~0)} #86#return; {68838#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:24,348 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-15 07:02:24,348 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-15 07:02:24,349 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-15 07:02:24,350 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-15 07:02:24,351 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-15 07:02:24,351 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-15 07:02:24,352 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-15 07:02:24,352 INFO L290 TraceCheckUtils]: 18: Hoare triple {68834#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {68834#false} is VALID [2022-04-15 07:02:24,352 INFO L290 TraceCheckUtils]: 19: Hoare triple {68834#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {68834#false} is VALID [2022-04-15 07:02:24,352 INFO L290 TraceCheckUtils]: 20: Hoare triple {68834#false} assume !(~d~0 == ~SIZE~0); {68834#false} is VALID [2022-04-15 07:02:24,352 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-15 07:02:24,352 INFO L290 TraceCheckUtils]: 22: Hoare triple {68834#false} ~cond := #in~cond; {68834#false} is VALID [2022-04-15 07:02:24,353 INFO L290 TraceCheckUtils]: 23: Hoare triple {68834#false} assume 0 == ~cond; {68834#false} is VALID [2022-04-15 07:02:24,353 INFO L290 TraceCheckUtils]: 24: Hoare triple {68834#false} assume !false; {68834#false} is VALID [2022-04-15 07:02:24,353 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-15 07:02:24,353 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:02:24,688 INFO L290 TraceCheckUtils]: 24: Hoare triple {68834#false} assume !false; {68834#false} is VALID [2022-04-15 07:02:24,688 INFO L290 TraceCheckUtils]: 23: Hoare triple {68834#false} assume 0 == ~cond; {68834#false} is VALID [2022-04-15 07:02:24,688 INFO L290 TraceCheckUtils]: 22: Hoare triple {68834#false} ~cond := #in~cond; {68834#false} is VALID [2022-04-15 07:02:24,689 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-15 07:02:24,689 INFO L290 TraceCheckUtils]: 20: Hoare triple {68834#false} assume !(~d~0 == ~SIZE~0); {68834#false} is VALID [2022-04-15 07:02:24,689 INFO L290 TraceCheckUtils]: 19: Hoare triple {68834#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {68834#false} is VALID [2022-04-15 07:02:24,689 INFO L290 TraceCheckUtils]: 18: Hoare triple {68834#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {68834#false} is VALID [2022-04-15 07:02:24,689 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-15 07:02:24,690 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-15 07:02:24,691 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-15 07:02:24,691 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-15 07:02:24,692 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-15 07:02:24,692 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-15 07:02:24,693 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-15 07:02:24,693 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {68833#true} {68969#(< 1 ~SIZE~0)} #86#return; {68969#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:24,693 INFO L290 TraceCheckUtils]: 9: Hoare triple {68833#true} assume true; {68833#true} is VALID [2022-04-15 07:02:24,694 INFO L290 TraceCheckUtils]: 8: Hoare triple {68833#true} assume !(0 == ~cond); {68833#true} is VALID [2022-04-15 07:02:24,694 INFO L290 TraceCheckUtils]: 7: Hoare triple {68833#true} ~cond := #in~cond; {68833#true} is VALID [2022-04-15 07:02:24,694 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-15 07:02:24,694 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-15 07:02:24,694 INFO L272 TraceCheckUtils]: 4: Hoare triple {68969#(< 1 ~SIZE~0)} call #t~ret7 := main(); {68969#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:24,695 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68969#(< 1 ~SIZE~0)} {68833#true} #90#return; {68969#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:24,695 INFO L290 TraceCheckUtils]: 2: Hoare triple {68969#(< 1 ~SIZE~0)} assume true; {68969#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:24,696 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-15 07:02:24,696 INFO L272 TraceCheckUtils]: 0: Hoare triple {68833#true} call ULTIMATE.init(); {68833#true} is VALID [2022-04-15 07:02:24,696 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-15 07:02:24,696 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1167777557] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:02:24,696 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:02:24,696 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:02:25,545 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:02:25,545 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [29892723] [2022-04-15 07:02:25,545 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [29892723] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:02:25,546 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:02:25,546 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [25] imperfect sequences [] total 25 [2022-04-15 07:02:25,546 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [818846137] [2022-04-15 07:02:25,546 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:02:25,546 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-15 07:02:25,546 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:02:25,546 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-15 07:02:25,572 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-15 07:02:25,573 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-15 07:02:25,573 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:02:25,573 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-15 07:02:25,573 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=182, Invalid=940, Unknown=0, NotChecked=0, Total=1122 [2022-04-15 07:02:25,573 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-15 07:02:27,412 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:02:27,412 INFO L93 Difference]: Finished difference Result 344 states and 416 transitions. [2022-04-15 07:02:27,412 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-15 07:02:27,412 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-15 07:02:27,412 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:02:27,412 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-15 07:02:27,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 100 transitions. [2022-04-15 07:02:27,413 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-15 07:02:27,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 100 transitions. [2022-04-15 07:02:27,413 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 100 transitions. [2022-04-15 07:02:27,461 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-15 07:02:27,464 INFO L225 Difference]: With dead ends: 344 [2022-04-15 07:02:27,464 INFO L226 Difference]: Without dead ends: 239 [2022-04-15 07:02:27,465 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 48 SyntacticMatches, 19 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 560 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=194, Invalid=1066, Unknown=0, NotChecked=0, Total=1260 [2022-04-15 07:02:27,465 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 46 mSDsluCounter, 36 mSDsCounter, 0 mSdLazyCounter, 1004 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-15 07:02:27,465 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [47 Valid, 56 Invalid, 1014 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1004 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 07:02:27,465 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 239 states. [2022-04-15 07:02:27,972 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 239 to 202. [2022-04-15 07:02:27,973 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:02:27,973 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-15 07:02:27,973 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-15 07:02:27,973 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-15 07:02:27,976 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:02:27,976 INFO L93 Difference]: Finished difference Result 239 states and 283 transitions. [2022-04-15 07:02:27,976 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 283 transitions. [2022-04-15 07:02:27,976 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:02:27,976 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:02:27,976 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-15 07:02:27,977 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-15 07:02:27,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:02:27,979 INFO L93 Difference]: Finished difference Result 239 states and 283 transitions. [2022-04-15 07:02:27,979 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 283 transitions. [2022-04-15 07:02:27,979 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:02:27,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:02:27,979 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:02:27,979 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:02:27,979 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-15 07:02:27,982 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 244 transitions. [2022-04-15 07:02:27,983 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 244 transitions. Word has length 55 [2022-04-15 07:02:27,984 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:02:27,984 INFO L478 AbstractCegarLoop]: Abstraction has 202 states and 244 transitions. [2022-04-15 07:02:27,984 INFO L479 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-15 07:02:27,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 202 states and 244 transitions. [2022-04-15 07:02:28,697 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-15 07:02:28,697 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 244 transitions. [2022-04-15 07:02:28,698 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 07:02:28,698 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:02:28,698 INFO L499 BasicCegarLoop]: 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-15 07:02:28,714 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (50)] Ended with exit code 0 [2022-04-15 07:02:28,913 WARN L460 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-15 07:02:28,914 INFO L403 AbstractCegarLoop]: === Iteration 58 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:02:28,914 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:02:28,914 INFO L85 PathProgramCache]: Analyzing trace with hash 1252231741, now seen corresponding path program 47 times [2022-04-15 07:02:28,914 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:02:28,914 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1899450833] [2022-04-15 07:02:33,010 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:02:33,086 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-15 07:02:36,568 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:02:36,668 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-15 07:02:36,669 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:02:36,672 INFO L85 PathProgramCache]: Analyzing trace with hash -975124159, now seen corresponding path program 1 times [2022-04-15 07:02:36,672 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:02:36,672 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [18542776] [2022-04-15 07:02:36,672 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:02:36,672 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:02:36,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:36,852 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:02:36,853 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:36,857 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-15 07:02:36,857 INFO L290 TraceCheckUtils]: 1: Hoare triple {70603#(<= 20 ~SIZE~0)} assume true; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:36,858 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {70603#(<= 20 ~SIZE~0)} {70598#true} #90#return; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:36,858 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:02:36,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:36,860 INFO L290 TraceCheckUtils]: 0: Hoare triple {70598#true} ~cond := #in~cond; {70598#true} is VALID [2022-04-15 07:02:36,861 INFO L290 TraceCheckUtils]: 1: Hoare triple {70598#true} assume !(0 == ~cond); {70598#true} is VALID [2022-04-15 07:02:36,861 INFO L290 TraceCheckUtils]: 2: Hoare triple {70598#true} assume true; {70598#true} is VALID [2022-04-15 07:02:36,861 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {70598#true} {70603#(<= 20 ~SIZE~0)} #86#return; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:36,862 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-15 07:02:36,863 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-15 07:02:36,863 INFO L290 TraceCheckUtils]: 2: Hoare triple {70603#(<= 20 ~SIZE~0)} assume true; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:36,863 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {70603#(<= 20 ~SIZE~0)} {70598#true} #90#return; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:36,863 INFO L272 TraceCheckUtils]: 4: Hoare triple {70603#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:36,864 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-15 07:02:36,864 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-15 07:02:36,864 INFO L290 TraceCheckUtils]: 7: Hoare triple {70598#true} ~cond := #in~cond; {70598#true} is VALID [2022-04-15 07:02:36,864 INFO L290 TraceCheckUtils]: 8: Hoare triple {70598#true} assume !(0 == ~cond); {70598#true} is VALID [2022-04-15 07:02:36,864 INFO L290 TraceCheckUtils]: 9: Hoare triple {70598#true} assume true; {70598#true} is VALID [2022-04-15 07:02:36,864 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {70598#true} {70603#(<= 20 ~SIZE~0)} #86#return; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:36,865 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-15 07:02:36,865 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-15 07:02:36,866 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-15 07:02:36,867 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-15 07:02:36,867 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-15 07:02:36,868 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-15 07:02:36,868 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-15 07:02:36,869 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-15 07:02:36,869 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-15 07:02:36,870 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-15 07:02:36,871 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-15 07:02:36,871 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-15 07:02:36,871 INFO L290 TraceCheckUtils]: 23: Hoare triple {70615#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {70599#false} is VALID [2022-04-15 07:02:36,871 INFO L290 TraceCheckUtils]: 24: Hoare triple {70599#false} assume !false; {70599#false} is VALID [2022-04-15 07:02:36,871 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-15 07:02:36,872 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:02:36,872 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [18542776] [2022-04-15 07:02:36,872 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [18542776] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:02:36,872 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [998570032] [2022-04-15 07:02:36,872 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:02:36,872 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:02:36,872 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:02:36,873 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-15 07:02:36,906 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-15 07:02:36,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:36,914 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:02:36,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:36,921 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:02:37,172 INFO L272 TraceCheckUtils]: 0: Hoare triple {70598#true} call ULTIMATE.init(); {70598#true} is VALID [2022-04-15 07:02:37,172 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-15 07:02:37,173 INFO L290 TraceCheckUtils]: 2: Hoare triple {70603#(<= 20 ~SIZE~0)} assume true; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:37,173 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {70603#(<= 20 ~SIZE~0)} {70598#true} #90#return; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:37,173 INFO L272 TraceCheckUtils]: 4: Hoare triple {70603#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:37,174 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-15 07:02:37,174 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-15 07:02:37,174 INFO L290 TraceCheckUtils]: 7: Hoare triple {70603#(<= 20 ~SIZE~0)} ~cond := #in~cond; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:37,174 INFO L290 TraceCheckUtils]: 8: Hoare triple {70603#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:37,175 INFO L290 TraceCheckUtils]: 9: Hoare triple {70603#(<= 20 ~SIZE~0)} assume true; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:37,175 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {70603#(<= 20 ~SIZE~0)} {70603#(<= 20 ~SIZE~0)} #86#return; {70603#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:37,175 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-15 07:02:37,176 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-15 07:02:37,177 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-15 07:02:37,177 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-15 07:02:37,178 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-15 07:02:37,178 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-15 07:02:37,179 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-15 07:02:37,179 INFO L290 TraceCheckUtils]: 18: Hoare triple {70599#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {70599#false} is VALID [2022-04-15 07:02:37,179 INFO L290 TraceCheckUtils]: 19: Hoare triple {70599#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {70599#false} is VALID [2022-04-15 07:02:37,179 INFO L290 TraceCheckUtils]: 20: Hoare triple {70599#false} assume !(~d~0 == ~SIZE~0); {70599#false} is VALID [2022-04-15 07:02:37,179 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-15 07:02:37,179 INFO L290 TraceCheckUtils]: 22: Hoare triple {70599#false} ~cond := #in~cond; {70599#false} is VALID [2022-04-15 07:02:37,179 INFO L290 TraceCheckUtils]: 23: Hoare triple {70599#false} assume 0 == ~cond; {70599#false} is VALID [2022-04-15 07:02:37,179 INFO L290 TraceCheckUtils]: 24: Hoare triple {70599#false} assume !false; {70599#false} is VALID [2022-04-15 07:02:37,179 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-15 07:02:37,180 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:02:37,455 INFO L290 TraceCheckUtils]: 24: Hoare triple {70599#false} assume !false; {70599#false} is VALID [2022-04-15 07:02:37,456 INFO L290 TraceCheckUtils]: 23: Hoare triple {70599#false} assume 0 == ~cond; {70599#false} is VALID [2022-04-15 07:02:37,456 INFO L290 TraceCheckUtils]: 22: Hoare triple {70599#false} ~cond := #in~cond; {70599#false} is VALID [2022-04-15 07:02:37,456 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-15 07:02:37,456 INFO L290 TraceCheckUtils]: 20: Hoare triple {70599#false} assume !(~d~0 == ~SIZE~0); {70599#false} is VALID [2022-04-15 07:02:37,456 INFO L290 TraceCheckUtils]: 19: Hoare triple {70599#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {70599#false} is VALID [2022-04-15 07:02:37,456 INFO L290 TraceCheckUtils]: 18: Hoare triple {70599#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {70599#false} is VALID [2022-04-15 07:02:37,456 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-15 07:02:37,457 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-15 07:02:37,457 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-15 07:02:37,458 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-15 07:02:37,459 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-15 07:02:37,459 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-15 07:02:37,459 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-15 07:02:37,460 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {70598#true} {70734#(< 1 ~SIZE~0)} #86#return; {70734#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:37,460 INFO L290 TraceCheckUtils]: 9: Hoare triple {70598#true} assume true; {70598#true} is VALID [2022-04-15 07:02:37,460 INFO L290 TraceCheckUtils]: 8: Hoare triple {70598#true} assume !(0 == ~cond); {70598#true} is VALID [2022-04-15 07:02:37,460 INFO L290 TraceCheckUtils]: 7: Hoare triple {70598#true} ~cond := #in~cond; {70598#true} is VALID [2022-04-15 07:02:37,460 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-15 07:02:37,460 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-15 07:02:37,461 INFO L272 TraceCheckUtils]: 4: Hoare triple {70734#(< 1 ~SIZE~0)} call #t~ret7 := main(); {70734#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:37,461 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {70734#(< 1 ~SIZE~0)} {70598#true} #90#return; {70734#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:37,461 INFO L290 TraceCheckUtils]: 2: Hoare triple {70734#(< 1 ~SIZE~0)} assume true; {70734#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:37,462 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-15 07:02:37,462 INFO L272 TraceCheckUtils]: 0: Hoare triple {70598#true} call ULTIMATE.init(); {70598#true} is VALID [2022-04-15 07:02:37,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-15 07:02:37,462 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [998570032] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:02:37,462 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:02:37,462 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:02:38,291 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:02:38,291 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1899450833] [2022-04-15 07:02:38,291 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1899450833] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:02:38,292 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:02:38,292 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-15 07:02:38,292 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2046861228] [2022-04-15 07:02:38,292 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:02:38,292 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-15 07:02:38,292 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:02:38,292 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-15 07:02:38,320 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-15 07:02:38,320 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-15 07:02:38,320 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:02:38,320 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-15 07:02:38,320 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=196, Invalid=994, Unknown=0, NotChecked=0, Total=1190 [2022-04-15 07:02:38,321 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-15 07:02:40,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:02:40,940 INFO L93 Difference]: Finished difference Result 347 states and 419 transitions. [2022-04-15 07:02:40,940 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-15 07:02:40,941 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-15 07:02:40,941 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:02:40,941 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-15 07:02:40,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 101 transitions. [2022-04-15 07:02:40,941 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-15 07:02:40,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 101 transitions. [2022-04-15 07:02:40,942 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 101 transitions. [2022-04-15 07:02:40,989 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-15 07:02:40,992 INFO L225 Difference]: With dead ends: 347 [2022-04-15 07:02:40,992 INFO L226 Difference]: Without dead ends: 242 [2022-04-15 07:02:40,993 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 48 SyntacticMatches, 18 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 613 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=208, Invalid=1124, Unknown=0, NotChecked=0, Total=1332 [2022-04-15 07:02:40,993 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 45 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 1326 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s 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.8s IncrementalHoareTripleChecker+Time [2022-04-15 07:02:40,993 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [46 Valid, 82 Invalid, 1336 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1326 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 07:02:40,993 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 242 states. [2022-04-15 07:02:41,617 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 242 to 202. [2022-04-15 07:02:41,617 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:02:41,618 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-15 07:02:41,618 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-15 07:02:41,618 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-15 07:02:41,621 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:02:41,621 INFO L93 Difference]: Finished difference Result 242 states and 286 transitions. [2022-04-15 07:02:41,621 INFO L276 IsEmpty]: Start isEmpty. Operand 242 states and 286 transitions. [2022-04-15 07:02:41,621 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:02:41,621 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:02:41,621 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-15 07:02:41,621 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-15 07:02:41,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:02:41,627 INFO L93 Difference]: Finished difference Result 242 states and 286 transitions. [2022-04-15 07:02:41,627 INFO L276 IsEmpty]: Start isEmpty. Operand 242 states and 286 transitions. [2022-04-15 07:02:41,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:02:41,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:02:41,627 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:02:41,627 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:02:41,628 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-15 07:02:41,630 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 244 transitions. [2022-04-15 07:02:41,630 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 244 transitions. Word has length 55 [2022-04-15 07:02:41,630 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:02:41,630 INFO L478 AbstractCegarLoop]: Abstraction has 202 states and 244 transitions. [2022-04-15 07:02:41,630 INFO L479 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-15 07:02:41,630 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 202 states and 244 transitions. [2022-04-15 07:02:42,446 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-15 07:02:42,447 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 244 transitions. [2022-04-15 07:02:42,447 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 07:02:42,447 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:02:42,447 INFO L499 BasicCegarLoop]: 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-15 07:02:42,465 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (51)] Forceful destruction successful, exit code 0 [2022-04-15 07:02:42,662 WARN L460 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-15 07:02:42,663 INFO L403 AbstractCegarLoop]: === Iteration 59 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:02:42,663 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:02:42,663 INFO L85 PathProgramCache]: Analyzing trace with hash 408226239, now seen corresponding path program 48 times [2022-04-15 07:02:42,663 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:02:42,663 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1612963047] [2022-04-15 07:02:42,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-15 07:02:46,972 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:02:47,077 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-15 07:02:47,079 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:02:47,082 INFO L85 PathProgramCache]: Analyzing trace with hash 1517398593, now seen corresponding path program 1 times [2022-04-15 07:02:47,082 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:02:47,082 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1715654723] [2022-04-15 07:02:47,082 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:02:47,082 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:02:47,088 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:47,240 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:02:47,242 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:47,245 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-15 07:02:47,245 INFO L290 TraceCheckUtils]: 1: Hoare triple {72381#(<= 20 ~SIZE~0)} assume true; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:47,246 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {72381#(<= 20 ~SIZE~0)} {72376#true} #90#return; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:47,246 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:02:47,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:47,248 INFO L290 TraceCheckUtils]: 0: Hoare triple {72376#true} ~cond := #in~cond; {72376#true} is VALID [2022-04-15 07:02:47,248 INFO L290 TraceCheckUtils]: 1: Hoare triple {72376#true} assume !(0 == ~cond); {72376#true} is VALID [2022-04-15 07:02:47,248 INFO L290 TraceCheckUtils]: 2: Hoare triple {72376#true} assume true; {72376#true} is VALID [2022-04-15 07:02:47,248 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {72376#true} {72381#(<= 20 ~SIZE~0)} #86#return; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:47,249 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-15 07:02:47,249 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-15 07:02:47,250 INFO L290 TraceCheckUtils]: 2: Hoare triple {72381#(<= 20 ~SIZE~0)} assume true; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:47,250 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {72381#(<= 20 ~SIZE~0)} {72376#true} #90#return; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:47,250 INFO L272 TraceCheckUtils]: 4: Hoare triple {72381#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:47,251 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-15 07:02:47,251 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-15 07:02:47,251 INFO L290 TraceCheckUtils]: 7: Hoare triple {72376#true} ~cond := #in~cond; {72376#true} is VALID [2022-04-15 07:02:47,251 INFO L290 TraceCheckUtils]: 8: Hoare triple {72376#true} assume !(0 == ~cond); {72376#true} is VALID [2022-04-15 07:02:47,251 INFO L290 TraceCheckUtils]: 9: Hoare triple {72376#true} assume true; {72376#true} is VALID [2022-04-15 07:02:47,251 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {72376#true} {72381#(<= 20 ~SIZE~0)} #86#return; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:47,252 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-15 07:02:47,252 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-15 07:02:47,253 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-15 07:02:47,253 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-15 07:02:47,254 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-15 07:02:47,254 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-15 07:02:47,255 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-15 07:02:47,256 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-15 07:02:47,256 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-15 07:02:47,257 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-15 07:02:47,257 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-15 07:02:47,258 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-15 07:02:47,258 INFO L290 TraceCheckUtils]: 23: Hoare triple {72393#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {72377#false} is VALID [2022-04-15 07:02:47,258 INFO L290 TraceCheckUtils]: 24: Hoare triple {72377#false} assume !false; {72377#false} is VALID [2022-04-15 07:02:47,258 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-15 07:02:47,258 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:02:47,258 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1715654723] [2022-04-15 07:02:47,258 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1715654723] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:02:47,258 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [904871244] [2022-04-15 07:02:47,259 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:02:47,259 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:02:47,259 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:02:47,260 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-15 07:02:47,260 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-15 07:02:47,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:47,291 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:02:47,297 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:47,297 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:02:47,513 INFO L272 TraceCheckUtils]: 0: Hoare triple {72376#true} call ULTIMATE.init(); {72376#true} is VALID [2022-04-15 07:02:47,513 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-15 07:02:47,514 INFO L290 TraceCheckUtils]: 2: Hoare triple {72381#(<= 20 ~SIZE~0)} assume true; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:47,514 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {72381#(<= 20 ~SIZE~0)} {72376#true} #90#return; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:47,514 INFO L272 TraceCheckUtils]: 4: Hoare triple {72381#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:47,514 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-15 07:02:47,515 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-15 07:02:47,515 INFO L290 TraceCheckUtils]: 7: Hoare triple {72381#(<= 20 ~SIZE~0)} ~cond := #in~cond; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:47,515 INFO L290 TraceCheckUtils]: 8: Hoare triple {72381#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:47,516 INFO L290 TraceCheckUtils]: 9: Hoare triple {72381#(<= 20 ~SIZE~0)} assume true; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:47,516 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {72381#(<= 20 ~SIZE~0)} {72381#(<= 20 ~SIZE~0)} #86#return; {72381#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:47,516 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-15 07:02:47,517 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-15 07:02:47,517 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-15 07:02:47,518 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-15 07:02:47,518 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-15 07:02:47,519 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-15 07:02:47,519 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-15 07:02:47,519 INFO L290 TraceCheckUtils]: 18: Hoare triple {72377#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {72377#false} is VALID [2022-04-15 07:02:47,519 INFO L290 TraceCheckUtils]: 19: Hoare triple {72377#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {72377#false} is VALID [2022-04-15 07:02:47,520 INFO L290 TraceCheckUtils]: 20: Hoare triple {72377#false} assume !(~d~0 == ~SIZE~0); {72377#false} is VALID [2022-04-15 07:02:47,520 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-15 07:02:47,520 INFO L290 TraceCheckUtils]: 22: Hoare triple {72377#false} ~cond := #in~cond; {72377#false} is VALID [2022-04-15 07:02:47,520 INFO L290 TraceCheckUtils]: 23: Hoare triple {72377#false} assume 0 == ~cond; {72377#false} is VALID [2022-04-15 07:02:47,520 INFO L290 TraceCheckUtils]: 24: Hoare triple {72377#false} assume !false; {72377#false} is VALID [2022-04-15 07:02:47,520 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-15 07:02:47,520 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:02:47,748 INFO L290 TraceCheckUtils]: 24: Hoare triple {72377#false} assume !false; {72377#false} is VALID [2022-04-15 07:02:47,748 INFO L290 TraceCheckUtils]: 23: Hoare triple {72377#false} assume 0 == ~cond; {72377#false} is VALID [2022-04-15 07:02:47,748 INFO L290 TraceCheckUtils]: 22: Hoare triple {72377#false} ~cond := #in~cond; {72377#false} is VALID [2022-04-15 07:02:47,748 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-15 07:02:47,748 INFO L290 TraceCheckUtils]: 20: Hoare triple {72377#false} assume !(~d~0 == ~SIZE~0); {72377#false} is VALID [2022-04-15 07:02:47,748 INFO L290 TraceCheckUtils]: 19: Hoare triple {72377#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {72377#false} is VALID [2022-04-15 07:02:47,748 INFO L290 TraceCheckUtils]: 18: Hoare triple {72377#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {72377#false} is VALID [2022-04-15 07:02:47,749 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-15 07:02:47,749 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-15 07:02:47,750 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-15 07:02:47,750 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-15 07:02:47,751 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-15 07:02:47,751 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-15 07:02:47,751 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-15 07:02:47,752 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {72376#true} {72512#(< 1 ~SIZE~0)} #86#return; {72512#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:47,752 INFO L290 TraceCheckUtils]: 9: Hoare triple {72376#true} assume true; {72376#true} is VALID [2022-04-15 07:02:47,752 INFO L290 TraceCheckUtils]: 8: Hoare triple {72376#true} assume !(0 == ~cond); {72376#true} is VALID [2022-04-15 07:02:47,752 INFO L290 TraceCheckUtils]: 7: Hoare triple {72376#true} ~cond := #in~cond; {72376#true} is VALID [2022-04-15 07:02:47,752 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-15 07:02:47,752 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-15 07:02:47,752 INFO L272 TraceCheckUtils]: 4: Hoare triple {72512#(< 1 ~SIZE~0)} call #t~ret7 := main(); {72512#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:47,753 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {72512#(< 1 ~SIZE~0)} {72376#true} #90#return; {72512#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:47,753 INFO L290 TraceCheckUtils]: 2: Hoare triple {72512#(< 1 ~SIZE~0)} assume true; {72512#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:47,753 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-15 07:02:47,753 INFO L272 TraceCheckUtils]: 0: Hoare triple {72376#true} call ULTIMATE.init(); {72376#true} is VALID [2022-04-15 07:02:47,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-15 07:02:47,754 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [904871244] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:02:47,754 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:02:47,754 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:02:48,684 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:02:48,684 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1612963047] [2022-04-15 07:02:48,685 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1612963047] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:02:48,685 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:02:48,685 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-15 07:02:48,685 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1206138251] [2022-04-15 07:02:48,685 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:02:48,685 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-15 07:02:48,685 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:02:48,685 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-15 07:02:48,722 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-15 07:02:48,723 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-15 07:02:48,723 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:02:48,723 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-15 07:02:48,723 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=210, Invalid=1050, Unknown=0, NotChecked=0, Total=1260 [2022-04-15 07:02:48,723 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-15 07:02:51,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:02:51,190 INFO L93 Difference]: Finished difference Result 344 states and 416 transitions. [2022-04-15 07:02:51,190 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-15 07:02:51,190 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-15 07:02:51,190 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:02:51,190 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-15 07:02:51,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 102 transitions. [2022-04-15 07:02:51,191 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-15 07:02:51,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 102 transitions. [2022-04-15 07:02:51,191 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 102 transitions. [2022-04-15 07:02:51,240 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-15 07:02:51,243 INFO L225 Difference]: With dead ends: 344 [2022-04-15 07:02:51,243 INFO L226 Difference]: Without dead ends: 239 [2022-04-15 07:02:51,243 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 48 SyntacticMatches, 17 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 657 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=222, Invalid=1184, Unknown=0, NotChecked=0, Total=1406 [2022-04-15 07:02:51,244 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 50 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 1180 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-15 07:02:51,244 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [51 Valid, 60 Invalid, 1190 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1180 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 07:02:51,244 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 239 states. [2022-04-15 07:02:51,757 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 239 to 202. [2022-04-15 07:02:51,757 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:02:51,758 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-15 07:02:51,758 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-15 07:02:51,758 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-15 07:02:51,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:02:51,761 INFO L93 Difference]: Finished difference Result 239 states and 283 transitions. [2022-04-15 07:02:51,761 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 283 transitions. [2022-04-15 07:02:51,761 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:02:51,761 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:02:51,761 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-15 07:02:51,761 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-15 07:02:51,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:02:51,764 INFO L93 Difference]: Finished difference Result 239 states and 283 transitions. [2022-04-15 07:02:51,764 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 283 transitions. [2022-04-15 07:02:51,764 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:02:51,764 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:02:51,764 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:02:51,764 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:02:51,764 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-15 07:02:51,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 244 transitions. [2022-04-15 07:02:51,767 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 244 transitions. Word has length 55 [2022-04-15 07:02:51,767 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:02:51,767 INFO L478 AbstractCegarLoop]: Abstraction has 202 states and 244 transitions. [2022-04-15 07:02:51,767 INFO L479 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-15 07:02:51,767 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 202 states and 244 transitions. [2022-04-15 07:02:52,578 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-15 07:02:52,578 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 244 transitions. [2022-04-15 07:02:52,578 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 07:02:52,578 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:02:52,578 INFO L499 BasicCegarLoop]: 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-15 07:02:52,597 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-15 07:02:52,791 WARN L460 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-15 07:02:52,791 INFO L403 AbstractCegarLoop]: === Iteration 60 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:02:52,791 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:02:52,792 INFO L85 PathProgramCache]: Analyzing trace with hash 682985853, now seen corresponding path program 49 times [2022-04-15 07:02:52,792 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:02:52,792 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2064766061] [2022-04-15 07:02:52,931 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-15 07:02:56,751 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:02:56,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-15 07:02:56,866 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:02:56,868 INFO L85 PathProgramCache]: Analyzing trace with hash -285045951, now seen corresponding path program 1 times [2022-04-15 07:02:56,868 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:02:56,868 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2110738935] [2022-04-15 07:02:56,868 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:02:56,868 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:02:56,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:57,056 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:02:57,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:57,061 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-15 07:02:57,061 INFO L290 TraceCheckUtils]: 1: Hoare triple {74148#(<= 20 ~SIZE~0)} assume true; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:57,061 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {74148#(<= 20 ~SIZE~0)} {74143#true} #90#return; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:57,062 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:02:57,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:57,063 INFO L290 TraceCheckUtils]: 0: Hoare triple {74143#true} ~cond := #in~cond; {74143#true} is VALID [2022-04-15 07:02:57,063 INFO L290 TraceCheckUtils]: 1: Hoare triple {74143#true} assume !(0 == ~cond); {74143#true} is VALID [2022-04-15 07:02:57,064 INFO L290 TraceCheckUtils]: 2: Hoare triple {74143#true} assume true; {74143#true} is VALID [2022-04-15 07:02:57,064 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {74143#true} {74148#(<= 20 ~SIZE~0)} #86#return; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:57,064 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-15 07:02:57,065 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-15 07:02:57,065 INFO L290 TraceCheckUtils]: 2: Hoare triple {74148#(<= 20 ~SIZE~0)} assume true; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:57,066 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {74148#(<= 20 ~SIZE~0)} {74143#true} #90#return; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:57,066 INFO L272 TraceCheckUtils]: 4: Hoare triple {74148#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:57,066 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-15 07:02:57,066 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-15 07:02:57,066 INFO L290 TraceCheckUtils]: 7: Hoare triple {74143#true} ~cond := #in~cond; {74143#true} is VALID [2022-04-15 07:02:57,066 INFO L290 TraceCheckUtils]: 8: Hoare triple {74143#true} assume !(0 == ~cond); {74143#true} is VALID [2022-04-15 07:02:57,066 INFO L290 TraceCheckUtils]: 9: Hoare triple {74143#true} assume true; {74143#true} is VALID [2022-04-15 07:02:57,067 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {74143#true} {74148#(<= 20 ~SIZE~0)} #86#return; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:57,067 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-15 07:02:57,068 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-15 07:02:57,068 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-15 07:02:57,069 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-15 07:02:57,069 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-15 07:02:57,070 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-15 07:02:57,071 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-15 07:02:57,071 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-15 07:02:57,072 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-15 07:02:57,072 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-15 07:02:57,073 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-15 07:02:57,073 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-15 07:02:57,073 INFO L290 TraceCheckUtils]: 23: Hoare triple {74160#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {74144#false} is VALID [2022-04-15 07:02:57,073 INFO L290 TraceCheckUtils]: 24: Hoare triple {74144#false} assume !false; {74144#false} is VALID [2022-04-15 07:02:57,074 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-15 07:02:57,074 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:02:57,074 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2110738935] [2022-04-15 07:02:57,074 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2110738935] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:02:57,074 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [142565730] [2022-04-15 07:02:57,074 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:02:57,074 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:02:57,074 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:02:57,075 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-15 07:02:57,076 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-15 07:02:57,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:57,117 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:02:57,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:02:57,123 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:02:57,338 INFO L272 TraceCheckUtils]: 0: Hoare triple {74143#true} call ULTIMATE.init(); {74143#true} is VALID [2022-04-15 07:02:57,339 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-15 07:02:57,339 INFO L290 TraceCheckUtils]: 2: Hoare triple {74148#(<= 20 ~SIZE~0)} assume true; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:57,340 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {74148#(<= 20 ~SIZE~0)} {74143#true} #90#return; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:57,340 INFO L272 TraceCheckUtils]: 4: Hoare triple {74148#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:57,340 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-15 07:02:57,341 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-15 07:02:57,341 INFO L290 TraceCheckUtils]: 7: Hoare triple {74148#(<= 20 ~SIZE~0)} ~cond := #in~cond; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:57,341 INFO L290 TraceCheckUtils]: 8: Hoare triple {74148#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:57,341 INFO L290 TraceCheckUtils]: 9: Hoare triple {74148#(<= 20 ~SIZE~0)} assume true; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:57,342 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {74148#(<= 20 ~SIZE~0)} {74148#(<= 20 ~SIZE~0)} #86#return; {74148#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:02:57,342 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-15 07:02:57,342 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-15 07:02:57,343 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-15 07:02:57,344 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-15 07:02:57,344 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-15 07:02:57,345 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-15 07:02:57,345 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-15 07:02:57,345 INFO L290 TraceCheckUtils]: 18: Hoare triple {74144#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {74144#false} is VALID [2022-04-15 07:02:57,345 INFO L290 TraceCheckUtils]: 19: Hoare triple {74144#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {74144#false} is VALID [2022-04-15 07:02:57,346 INFO L290 TraceCheckUtils]: 20: Hoare triple {74144#false} assume !(~d~0 == ~SIZE~0); {74144#false} is VALID [2022-04-15 07:02:57,346 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-15 07:02:57,346 INFO L290 TraceCheckUtils]: 22: Hoare triple {74144#false} ~cond := #in~cond; {74144#false} is VALID [2022-04-15 07:02:57,346 INFO L290 TraceCheckUtils]: 23: Hoare triple {74144#false} assume 0 == ~cond; {74144#false} is VALID [2022-04-15 07:02:57,346 INFO L290 TraceCheckUtils]: 24: Hoare triple {74144#false} assume !false; {74144#false} is VALID [2022-04-15 07:02:57,346 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-15 07:02:57,346 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:02:57,600 INFO L290 TraceCheckUtils]: 24: Hoare triple {74144#false} assume !false; {74144#false} is VALID [2022-04-15 07:02:57,600 INFO L290 TraceCheckUtils]: 23: Hoare triple {74144#false} assume 0 == ~cond; {74144#false} is VALID [2022-04-15 07:02:57,600 INFO L290 TraceCheckUtils]: 22: Hoare triple {74144#false} ~cond := #in~cond; {74144#false} is VALID [2022-04-15 07:02:57,600 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-15 07:02:57,600 INFO L290 TraceCheckUtils]: 20: Hoare triple {74144#false} assume !(~d~0 == ~SIZE~0); {74144#false} is VALID [2022-04-15 07:02:57,600 INFO L290 TraceCheckUtils]: 19: Hoare triple {74144#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {74144#false} is VALID [2022-04-15 07:02:57,600 INFO L290 TraceCheckUtils]: 18: Hoare triple {74144#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {74144#false} is VALID [2022-04-15 07:02:57,601 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-15 07:02:57,601 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-15 07:02:57,602 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-15 07:02:57,602 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-15 07:02:57,603 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-15 07:02:57,603 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-15 07:02:57,604 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-15 07:02:57,604 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {74143#true} {74279#(< 1 ~SIZE~0)} #86#return; {74279#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:57,604 INFO L290 TraceCheckUtils]: 9: Hoare triple {74143#true} assume true; {74143#true} is VALID [2022-04-15 07:02:57,604 INFO L290 TraceCheckUtils]: 8: Hoare triple {74143#true} assume !(0 == ~cond); {74143#true} is VALID [2022-04-15 07:02:57,604 INFO L290 TraceCheckUtils]: 7: Hoare triple {74143#true} ~cond := #in~cond; {74143#true} is VALID [2022-04-15 07:02:57,604 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-15 07:02:57,605 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-15 07:02:57,605 INFO L272 TraceCheckUtils]: 4: Hoare triple {74279#(< 1 ~SIZE~0)} call #t~ret7 := main(); {74279#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:57,605 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {74279#(< 1 ~SIZE~0)} {74143#true} #90#return; {74279#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:57,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {74279#(< 1 ~SIZE~0)} assume true; {74279#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:02:57,606 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-15 07:02:57,606 INFO L272 TraceCheckUtils]: 0: Hoare triple {74143#true} call ULTIMATE.init(); {74143#true} is VALID [2022-04-15 07:02:57,606 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-15 07:02:57,606 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [142565730] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:02:57,606 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:02:57,606 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:02:58,646 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:02:58,647 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2064766061] [2022-04-15 07:02:58,647 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2064766061] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:02:58,647 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:02:58,647 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [28] imperfect sequences [] total 28 [2022-04-15 07:02:58,647 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1169836916] [2022-04-15 07:02:58,647 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:02:58,647 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-15 07:02:58,647 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:02:58,647 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-15 07:02:58,688 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-15 07:02:58,688 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-15 07:02:58,688 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:02:58,688 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-15 07:02:58,688 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=224, Invalid=1108, Unknown=0, NotChecked=0, Total=1332 [2022-04-15 07:02:58,688 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-15 07:03:01,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:03:01,360 INFO L93 Difference]: Finished difference Result 341 states and 413 transitions. [2022-04-15 07:03:01,360 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-15 07:03:01,360 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-15 07:03:01,360 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:03:01,360 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-15 07:03:01,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 103 transitions. [2022-04-15 07:03:01,361 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-15 07:03:01,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 103 transitions. [2022-04-15 07:03:01,361 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 103 transitions. [2022-04-15 07:03:01,426 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-15 07:03:01,429 INFO L225 Difference]: With dead ends: 341 [2022-04-15 07:03:01,429 INFO L226 Difference]: Without dead ends: 236 [2022-04-15 07:03:01,429 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 48 SyntacticMatches, 16 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 692 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=236, Invalid=1246, Unknown=0, NotChecked=0, Total=1482 [2022-04-15 07:03:01,429 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 47 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 1191 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s 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.8s IncrementalHoareTripleChecker+Time [2022-04-15 07:03:01,429 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [48 Valid, 70 Invalid, 1201 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1191 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 07:03:01,430 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 236 states. [2022-04-15 07:03:01,979 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 236 to 202. [2022-04-15 07:03:01,979 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:03:01,980 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-15 07:03:01,980 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-15 07:03:01,980 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-15 07:03:01,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:03:01,982 INFO L93 Difference]: Finished difference Result 236 states and 280 transitions. [2022-04-15 07:03:01,983 INFO L276 IsEmpty]: Start isEmpty. Operand 236 states and 280 transitions. [2022-04-15 07:03:01,983 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:03:01,983 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:03:01,983 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-15 07:03:01,983 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-15 07:03:01,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:03:01,985 INFO L93 Difference]: Finished difference Result 236 states and 280 transitions. [2022-04-15 07:03:01,986 INFO L276 IsEmpty]: Start isEmpty. Operand 236 states and 280 transitions. [2022-04-15 07:03:01,986 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:03:01,986 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:03:01,986 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:03:01,986 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:03:01,986 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-15 07:03:01,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 244 transitions. [2022-04-15 07:03:01,988 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 244 transitions. Word has length 55 [2022-04-15 07:03:01,988 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:03:01,988 INFO L478 AbstractCegarLoop]: Abstraction has 202 states and 244 transitions. [2022-04-15 07:03:01,988 INFO L479 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-15 07:03:01,989 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 202 states and 244 transitions. [2022-04-15 07:03:02,843 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-15 07:03:02,843 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 244 transitions. [2022-04-15 07:03:02,843 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 07:03:02,843 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:03:02,843 INFO L499 BasicCegarLoop]: 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-15 07:03:02,859 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-15 07:03:03,051 WARN L460 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-15 07:03:03,052 INFO L403 AbstractCegarLoop]: === Iteration 61 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:03:03,052 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:03:03,052 INFO L85 PathProgramCache]: Analyzing trace with hash 2069189247, now seen corresponding path program 50 times [2022-04-15 07:03:03,052 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:03:03,052 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1125222016] [2022-04-15 07:03:07,185 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:03:07,306 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-15 07:03:11,427 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:03:11,540 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-15 07:03:11,541 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:03:11,544 INFO L85 PathProgramCache]: Analyzing trace with hash -2087490495, now seen corresponding path program 1 times [2022-04-15 07:03:11,544 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:03:11,544 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1247718926] [2022-04-15 07:03:11,544 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:03:11,544 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:03:11,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:11,700 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:03:11,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:11,705 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-15 07:03:11,705 INFO L290 TraceCheckUtils]: 1: Hoare triple {75904#(<= 20 ~SIZE~0)} assume true; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:11,706 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {75904#(<= 20 ~SIZE~0)} {75899#true} #90#return; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:11,706 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:03:11,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:11,707 INFO L290 TraceCheckUtils]: 0: Hoare triple {75899#true} ~cond := #in~cond; {75899#true} is VALID [2022-04-15 07:03:11,708 INFO L290 TraceCheckUtils]: 1: Hoare triple {75899#true} assume !(0 == ~cond); {75899#true} is VALID [2022-04-15 07:03:11,708 INFO L290 TraceCheckUtils]: 2: Hoare triple {75899#true} assume true; {75899#true} is VALID [2022-04-15 07:03:11,708 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75899#true} {75904#(<= 20 ~SIZE~0)} #86#return; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:11,708 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-15 07:03:11,709 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-15 07:03:11,709 INFO L290 TraceCheckUtils]: 2: Hoare triple {75904#(<= 20 ~SIZE~0)} assume true; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:11,710 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75904#(<= 20 ~SIZE~0)} {75899#true} #90#return; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:11,710 INFO L272 TraceCheckUtils]: 4: Hoare triple {75904#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:11,710 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-15 07:03:11,710 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-15 07:03:11,710 INFO L290 TraceCheckUtils]: 7: Hoare triple {75899#true} ~cond := #in~cond; {75899#true} is VALID [2022-04-15 07:03:11,710 INFO L290 TraceCheckUtils]: 8: Hoare triple {75899#true} assume !(0 == ~cond); {75899#true} is VALID [2022-04-15 07:03:11,710 INFO L290 TraceCheckUtils]: 9: Hoare triple {75899#true} assume true; {75899#true} is VALID [2022-04-15 07:03:11,711 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {75899#true} {75904#(<= 20 ~SIZE~0)} #86#return; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:11,711 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-15 07:03:11,712 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-15 07:03:11,712 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-15 07:03:11,713 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-15 07:03:11,713 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-15 07:03:11,714 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-15 07:03:11,715 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-15 07:03:11,715 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-15 07:03:11,716 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-15 07:03:11,716 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-15 07:03:11,717 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-15 07:03:11,717 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-15 07:03:11,717 INFO L290 TraceCheckUtils]: 23: Hoare triple {75916#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {75900#false} is VALID [2022-04-15 07:03:11,717 INFO L290 TraceCheckUtils]: 24: Hoare triple {75900#false} assume !false; {75900#false} is VALID [2022-04-15 07:03:11,718 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-15 07:03:11,718 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:03:11,718 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1247718926] [2022-04-15 07:03:11,718 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1247718926] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:03:11,718 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2090793142] [2022-04-15 07:03:11,718 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:03:11,718 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:03:11,718 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:03:11,719 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-15 07:03:11,720 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-15 07:03:11,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:11,752 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:03:11,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:11,759 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:03:11,999 INFO L272 TraceCheckUtils]: 0: Hoare triple {75899#true} call ULTIMATE.init(); {75899#true} is VALID [2022-04-15 07:03:12,000 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-15 07:03:12,000 INFO L290 TraceCheckUtils]: 2: Hoare triple {75904#(<= 20 ~SIZE~0)} assume true; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:12,001 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75904#(<= 20 ~SIZE~0)} {75899#true} #90#return; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:12,001 INFO L272 TraceCheckUtils]: 4: Hoare triple {75904#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:12,001 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-15 07:03:12,002 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-15 07:03:12,002 INFO L290 TraceCheckUtils]: 7: Hoare triple {75904#(<= 20 ~SIZE~0)} ~cond := #in~cond; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:12,002 INFO L290 TraceCheckUtils]: 8: Hoare triple {75904#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:12,002 INFO L290 TraceCheckUtils]: 9: Hoare triple {75904#(<= 20 ~SIZE~0)} assume true; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:12,003 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {75904#(<= 20 ~SIZE~0)} {75904#(<= 20 ~SIZE~0)} #86#return; {75904#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:12,003 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-15 07:03:12,003 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-15 07:03:12,004 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-15 07:03:12,005 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-15 07:03:12,005 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-15 07:03:12,006 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-15 07:03:12,006 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-15 07:03:12,006 INFO L290 TraceCheckUtils]: 18: Hoare triple {75900#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {75900#false} is VALID [2022-04-15 07:03:12,006 INFO L290 TraceCheckUtils]: 19: Hoare triple {75900#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {75900#false} is VALID [2022-04-15 07:03:12,006 INFO L290 TraceCheckUtils]: 20: Hoare triple {75900#false} assume !(~d~0 == ~SIZE~0); {75900#false} is VALID [2022-04-15 07:03:12,007 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-15 07:03:12,007 INFO L290 TraceCheckUtils]: 22: Hoare triple {75900#false} ~cond := #in~cond; {75900#false} is VALID [2022-04-15 07:03:12,007 INFO L290 TraceCheckUtils]: 23: Hoare triple {75900#false} assume 0 == ~cond; {75900#false} is VALID [2022-04-15 07:03:12,007 INFO L290 TraceCheckUtils]: 24: Hoare triple {75900#false} assume !false; {75900#false} is VALID [2022-04-15 07:03:12,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-15 07:03:12,007 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:03:12,266 INFO L290 TraceCheckUtils]: 24: Hoare triple {75900#false} assume !false; {75900#false} is VALID [2022-04-15 07:03:12,267 INFO L290 TraceCheckUtils]: 23: Hoare triple {75900#false} assume 0 == ~cond; {75900#false} is VALID [2022-04-15 07:03:12,267 INFO L290 TraceCheckUtils]: 22: Hoare triple {75900#false} ~cond := #in~cond; {75900#false} is VALID [2022-04-15 07:03:12,267 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-15 07:03:12,267 INFO L290 TraceCheckUtils]: 20: Hoare triple {75900#false} assume !(~d~0 == ~SIZE~0); {75900#false} is VALID [2022-04-15 07:03:12,267 INFO L290 TraceCheckUtils]: 19: Hoare triple {75900#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {75900#false} is VALID [2022-04-15 07:03:12,267 INFO L290 TraceCheckUtils]: 18: Hoare triple {75900#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {75900#false} is VALID [2022-04-15 07:03:12,267 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-15 07:03:12,268 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-15 07:03:12,268 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-15 07:03:12,269 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-15 07:03:12,269 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-15 07:03:12,270 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-15 07:03:12,270 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-15 07:03:12,270 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {75899#true} {76035#(< 1 ~SIZE~0)} #86#return; {76035#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:12,271 INFO L290 TraceCheckUtils]: 9: Hoare triple {75899#true} assume true; {75899#true} is VALID [2022-04-15 07:03:12,271 INFO L290 TraceCheckUtils]: 8: Hoare triple {75899#true} assume !(0 == ~cond); {75899#true} is VALID [2022-04-15 07:03:12,271 INFO L290 TraceCheckUtils]: 7: Hoare triple {75899#true} ~cond := #in~cond; {75899#true} is VALID [2022-04-15 07:03:12,271 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-15 07:03:12,271 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-15 07:03:12,271 INFO L272 TraceCheckUtils]: 4: Hoare triple {76035#(< 1 ~SIZE~0)} call #t~ret7 := main(); {76035#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:12,272 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {76035#(< 1 ~SIZE~0)} {75899#true} #90#return; {76035#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:12,272 INFO L290 TraceCheckUtils]: 2: Hoare triple {76035#(< 1 ~SIZE~0)} assume true; {76035#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:12,272 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-15 07:03:12,272 INFO L272 TraceCheckUtils]: 0: Hoare triple {75899#true} call ULTIMATE.init(); {75899#true} is VALID [2022-04-15 07:03:12,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-15 07:03:12,273 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2090793142] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:03:12,273 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:03:12,273 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:03:13,351 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:03:13,351 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1125222016] [2022-04-15 07:03:13,352 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1125222016] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:03:13,352 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:03:13,352 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-15 07:03:13,352 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1967283457] [2022-04-15 07:03:13,352 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:03:13,352 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-15 07:03:13,352 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:03:13,352 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-15 07:03:13,392 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-15 07:03:13,392 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-15 07:03:13,392 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:03:13,392 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-15 07:03:13,393 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=238, Invalid=1168, Unknown=0, NotChecked=0, Total=1406 [2022-04-15 07:03:13,393 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-15 07:03:16,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:03:16,165 INFO L93 Difference]: Finished difference Result 338 states and 410 transitions. [2022-04-15 07:03:16,165 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-15 07:03:16,165 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-15 07:03:16,165 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:03:16,165 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-15 07:03:16,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 104 transitions. [2022-04-15 07:03:16,166 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-15 07:03:16,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 104 transitions. [2022-04-15 07:03:16,166 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 104 transitions. [2022-04-15 07:03:16,229 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-15 07:03:16,232 INFO L225 Difference]: With dead ends: 338 [2022-04-15 07:03:16,232 INFO L226 Difference]: Without dead ends: 233 [2022-04-15 07:03:16,232 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 48 SyntacticMatches, 15 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 718 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=250, Invalid=1310, Unknown=0, NotChecked=0, Total=1560 [2022-04-15 07:03:16,232 INFO L913 BasicCegarLoop]: 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-15 07:03:16,232 INFO L914 BasicCegarLoop]: 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-15 07:03:16,233 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 233 states. [2022-04-15 07:03:16,863 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 233 to 202. [2022-04-15 07:03:16,863 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:03:16,863 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-15 07:03:16,863 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-15 07:03:16,864 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-15 07:03:16,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:03:16,866 INFO L93 Difference]: Finished difference Result 233 states and 277 transitions. [2022-04-15 07:03:16,866 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 277 transitions. [2022-04-15 07:03:16,866 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:03:16,866 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:03:16,867 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-15 07:03:16,867 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-15 07:03:16,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:03:16,869 INFO L93 Difference]: Finished difference Result 233 states and 277 transitions. [2022-04-15 07:03:16,869 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 277 transitions. [2022-04-15 07:03:16,869 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:03:16,869 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:03:16,870 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:03:16,870 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:03:16,870 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-15 07:03:16,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 244 transitions. [2022-04-15 07:03:16,872 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 244 transitions. Word has length 55 [2022-04-15 07:03:16,872 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:03:16,872 INFO L478 AbstractCegarLoop]: Abstraction has 202 states and 244 transitions. [2022-04-15 07:03:16,872 INFO L479 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-15 07:03:16,872 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 202 states and 244 transitions. [2022-04-15 07:03:17,699 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-15 07:03:17,699 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 244 transitions. [2022-04-15 07:03:17,699 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 07:03:17,699 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:03:17,699 INFO L499 BasicCegarLoop]: 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-15 07:03:17,716 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-15 07:03:17,915 WARN L460 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-15 07:03:17,916 INFO L403 AbstractCegarLoop]: === Iteration 62 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:03:17,916 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:03:17,916 INFO L85 PathProgramCache]: Analyzing trace with hash 2131228861, now seen corresponding path program 51 times [2022-04-15 07:03:17,916 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:03:17,916 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1107335062] [2022-04-15 07:03:18,085 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-15 07:03:22,186 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:03:22,328 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-15 07:03:22,329 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:03:22,332 INFO L85 PathProgramCache]: Analyzing trace with hash 405032257, now seen corresponding path program 1 times [2022-04-15 07:03:22,332 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:03:22,332 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1529956251] [2022-04-15 07:03:22,332 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:03:22,332 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:03:22,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:22,531 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:03:22,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:22,534 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-15 07:03:22,535 INFO L290 TraceCheckUtils]: 1: Hoare triple {77649#(<= 20 ~SIZE~0)} assume true; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:22,535 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {77649#(<= 20 ~SIZE~0)} {77644#true} #90#return; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:22,535 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:03:22,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:22,552 INFO L290 TraceCheckUtils]: 0: Hoare triple {77644#true} ~cond := #in~cond; {77644#true} is VALID [2022-04-15 07:03:22,552 INFO L290 TraceCheckUtils]: 1: Hoare triple {77644#true} assume !(0 == ~cond); {77644#true} is VALID [2022-04-15 07:03:22,552 INFO L290 TraceCheckUtils]: 2: Hoare triple {77644#true} assume true; {77644#true} is VALID [2022-04-15 07:03:22,552 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {77644#true} {77649#(<= 20 ~SIZE~0)} #86#return; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:22,553 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-15 07:03:22,553 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-15 07:03:22,553 INFO L290 TraceCheckUtils]: 2: Hoare triple {77649#(<= 20 ~SIZE~0)} assume true; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:22,554 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {77649#(<= 20 ~SIZE~0)} {77644#true} #90#return; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:22,554 INFO L272 TraceCheckUtils]: 4: Hoare triple {77649#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:22,554 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-15 07:03:22,554 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-15 07:03:22,554 INFO L290 TraceCheckUtils]: 7: Hoare triple {77644#true} ~cond := #in~cond; {77644#true} is VALID [2022-04-15 07:03:22,555 INFO L290 TraceCheckUtils]: 8: Hoare triple {77644#true} assume !(0 == ~cond); {77644#true} is VALID [2022-04-15 07:03:22,555 INFO L290 TraceCheckUtils]: 9: Hoare triple {77644#true} assume true; {77644#true} is VALID [2022-04-15 07:03:22,555 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {77644#true} {77649#(<= 20 ~SIZE~0)} #86#return; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:22,555 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-15 07:03:22,556 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-15 07:03:22,556 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-15 07:03:22,557 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-15 07:03:22,557 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-15 07:03:22,558 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-15 07:03:22,559 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-15 07:03:22,559 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-15 07:03:22,560 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-15 07:03:22,560 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-15 07:03:22,561 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-15 07:03:22,561 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-15 07:03:22,561 INFO L290 TraceCheckUtils]: 23: Hoare triple {77661#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {77645#false} is VALID [2022-04-15 07:03:22,561 INFO L290 TraceCheckUtils]: 24: Hoare triple {77645#false} assume !false; {77645#false} is VALID [2022-04-15 07:03:22,561 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-15 07:03:22,561 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:03:22,562 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1529956251] [2022-04-15 07:03:22,562 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1529956251] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:03:22,562 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1278398365] [2022-04-15 07:03:22,562 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:03:22,562 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:03:22,562 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:03:22,563 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-15 07:03:22,594 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-15 07:03:22,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:22,610 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:03:22,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:22,616 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:03:22,861 INFO L272 TraceCheckUtils]: 0: Hoare triple {77644#true} call ULTIMATE.init(); {77644#true} is VALID [2022-04-15 07:03:22,862 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-15 07:03:22,862 INFO L290 TraceCheckUtils]: 2: Hoare triple {77649#(<= 20 ~SIZE~0)} assume true; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:22,863 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {77649#(<= 20 ~SIZE~0)} {77644#true} #90#return; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:22,863 INFO L272 TraceCheckUtils]: 4: Hoare triple {77649#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:22,863 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-15 07:03:22,864 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-15 07:03:22,864 INFO L290 TraceCheckUtils]: 7: Hoare triple {77649#(<= 20 ~SIZE~0)} ~cond := #in~cond; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:22,864 INFO L290 TraceCheckUtils]: 8: Hoare triple {77649#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:22,864 INFO L290 TraceCheckUtils]: 9: Hoare triple {77649#(<= 20 ~SIZE~0)} assume true; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:22,865 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {77649#(<= 20 ~SIZE~0)} {77649#(<= 20 ~SIZE~0)} #86#return; {77649#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:22,865 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-15 07:03:22,865 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-15 07:03:22,866 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-15 07:03:22,867 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-15 07:03:22,867 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-15 07:03:22,868 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-15 07:03:22,868 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-15 07:03:22,868 INFO L290 TraceCheckUtils]: 18: Hoare triple {77645#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {77645#false} is VALID [2022-04-15 07:03:22,869 INFO L290 TraceCheckUtils]: 19: Hoare triple {77645#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {77645#false} is VALID [2022-04-15 07:03:22,869 INFO L290 TraceCheckUtils]: 20: Hoare triple {77645#false} assume !(~d~0 == ~SIZE~0); {77645#false} is VALID [2022-04-15 07:03:22,869 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-15 07:03:22,869 INFO L290 TraceCheckUtils]: 22: Hoare triple {77645#false} ~cond := #in~cond; {77645#false} is VALID [2022-04-15 07:03:22,869 INFO L290 TraceCheckUtils]: 23: Hoare triple {77645#false} assume 0 == ~cond; {77645#false} is VALID [2022-04-15 07:03:22,869 INFO L290 TraceCheckUtils]: 24: Hoare triple {77645#false} assume !false; {77645#false} is VALID [2022-04-15 07:03:22,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-15 07:03:22,869 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:03:23,143 INFO L290 TraceCheckUtils]: 24: Hoare triple {77645#false} assume !false; {77645#false} is VALID [2022-04-15 07:03:23,143 INFO L290 TraceCheckUtils]: 23: Hoare triple {77645#false} assume 0 == ~cond; {77645#false} is VALID [2022-04-15 07:03:23,143 INFO L290 TraceCheckUtils]: 22: Hoare triple {77645#false} ~cond := #in~cond; {77645#false} is VALID [2022-04-15 07:03:23,143 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-15 07:03:23,143 INFO L290 TraceCheckUtils]: 20: Hoare triple {77645#false} assume !(~d~0 == ~SIZE~0); {77645#false} is VALID [2022-04-15 07:03:23,143 INFO L290 TraceCheckUtils]: 19: Hoare triple {77645#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {77645#false} is VALID [2022-04-15 07:03:23,143 INFO L290 TraceCheckUtils]: 18: Hoare triple {77645#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {77645#false} is VALID [2022-04-15 07:03:23,144 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-15 07:03:23,144 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-15 07:03:23,145 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-15 07:03:23,145 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-15 07:03:23,146 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-15 07:03:23,146 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-15 07:03:23,146 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-15 07:03:23,147 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {77644#true} {77780#(< 1 ~SIZE~0)} #86#return; {77780#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:23,147 INFO L290 TraceCheckUtils]: 9: Hoare triple {77644#true} assume true; {77644#true} is VALID [2022-04-15 07:03:23,147 INFO L290 TraceCheckUtils]: 8: Hoare triple {77644#true} assume !(0 == ~cond); {77644#true} is VALID [2022-04-15 07:03:23,147 INFO L290 TraceCheckUtils]: 7: Hoare triple {77644#true} ~cond := #in~cond; {77644#true} is VALID [2022-04-15 07:03:23,147 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-15 07:03:23,147 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-15 07:03:23,148 INFO L272 TraceCheckUtils]: 4: Hoare triple {77780#(< 1 ~SIZE~0)} call #t~ret7 := main(); {77780#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:23,148 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {77780#(< 1 ~SIZE~0)} {77644#true} #90#return; {77780#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:23,148 INFO L290 TraceCheckUtils]: 2: Hoare triple {77780#(< 1 ~SIZE~0)} assume true; {77780#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:23,149 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-15 07:03:23,149 INFO L272 TraceCheckUtils]: 0: Hoare triple {77644#true} call ULTIMATE.init(); {77644#true} is VALID [2022-04-15 07:03:23,149 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-15 07:03:23,149 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1278398365] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:03:23,149 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:03:23,149 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:03:24,356 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:03:24,357 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1107335062] [2022-04-15 07:03:24,357 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1107335062] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:03:24,357 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:03:24,357 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [30] imperfect sequences [] total 30 [2022-04-15 07:03:24,357 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [955531184] [2022-04-15 07:03:24,357 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:03:24,357 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-15 07:03:24,358 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:03:24,358 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-15 07:03:24,409 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-15 07:03:24,409 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-15 07:03:24,409 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:03:24,409 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-15 07:03:24,409 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=252, Invalid=1230, Unknown=0, NotChecked=0, Total=1482 [2022-04-15 07:03:24,410 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-15 07:03:27,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:03:27,495 INFO L93 Difference]: Finished difference Result 335 states and 407 transitions. [2022-04-15 07:03:27,495 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-15 07:03:27,495 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-15 07:03:27,495 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:03:27,495 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-15 07:03:27,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 105 transitions. [2022-04-15 07:03:27,496 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-15 07:03:27,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 105 transitions. [2022-04-15 07:03:27,497 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 105 transitions. [2022-04-15 07:03:27,545 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-15 07:03:27,556 INFO L225 Difference]: With dead ends: 335 [2022-04-15 07:03:27,556 INFO L226 Difference]: Without dead ends: 230 [2022-04-15 07:03:27,557 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 48 SyntacticMatches, 14 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 735 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=264, Invalid=1376, Unknown=0, NotChecked=0, Total=1640 [2022-04-15 07:03:27,557 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 58 mSDsluCounter, 63 mSDsCounter, 0 mSdLazyCounter, 1600 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s 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, 1.1s IncrementalHoareTripleChecker+Time [2022-04-15 07:03:27,557 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [59 Valid, 83 Invalid, 1611 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1600 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-15 07:03:27,557 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 230 states. [2022-04-15 07:03:28,079 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 230 to 202. [2022-04-15 07:03:28,079 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:03:28,079 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-15 07:03:28,080 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-15 07:03:28,080 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-15 07:03:28,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:03:28,082 INFO L93 Difference]: Finished difference Result 230 states and 274 transitions. [2022-04-15 07:03:28,082 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 274 transitions. [2022-04-15 07:03:28,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:03:28,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:03:28,083 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-15 07:03:28,083 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-15 07:03:28,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:03:28,086 INFO L93 Difference]: Finished difference Result 230 states and 274 transitions. [2022-04-15 07:03:28,086 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 274 transitions. [2022-04-15 07:03:28,086 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:03:28,086 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:03:28,086 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:03:28,086 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:03:28,086 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-15 07:03:28,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 244 transitions. [2022-04-15 07:03:28,089 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 244 transitions. Word has length 55 [2022-04-15 07:03:28,089 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:03:28,089 INFO L478 AbstractCegarLoop]: Abstraction has 202 states and 244 transitions. [2022-04-15 07:03:28,089 INFO L479 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-15 07:03:28,089 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 202 states and 244 transitions. [2022-04-15 07:03:28,944 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-15 07:03:28,945 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 244 transitions. [2022-04-15 07:03:28,945 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 07:03:28,945 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:03:28,945 INFO L499 BasicCegarLoop]: 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-15 07:03:28,962 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-15 07:03:29,145 WARN L460 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-15 07:03:29,145 INFO L403 AbstractCegarLoop]: === Iteration 63 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:03:29,146 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:03:29,146 INFO L85 PathProgramCache]: Analyzing trace with hash 325790527, now seen corresponding path program 52 times [2022-04-15 07:03:29,146 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:03:29,146 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [780070967] [2022-04-15 07:03:29,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-15 07:03:29,583 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-15 07:03:29,584 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:03:29,586 INFO L85 PathProgramCache]: Analyzing trace with hash -1397412287, now seen corresponding path program 1 times [2022-04-15 07:03:29,586 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:03:29,586 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1793321269] [2022-04-15 07:03:29,586 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:03:29,586 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:03:29,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:29,698 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:03:29,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:29,703 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-15 07:03:29,703 INFO L290 TraceCheckUtils]: 1: Hoare triple {79383#(<= 20 ~SIZE~0)} assume true; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:29,703 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {79383#(<= 20 ~SIZE~0)} {79378#true} #90#return; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:29,703 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:03:29,704 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:29,705 INFO L290 TraceCheckUtils]: 0: Hoare triple {79378#true} ~cond := #in~cond; {79378#true} is VALID [2022-04-15 07:03:29,705 INFO L290 TraceCheckUtils]: 1: Hoare triple {79378#true} assume !(0 == ~cond); {79378#true} is VALID [2022-04-15 07:03:29,705 INFO L290 TraceCheckUtils]: 2: Hoare triple {79378#true} assume true; {79378#true} is VALID [2022-04-15 07:03:29,705 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {79378#true} {79383#(<= 20 ~SIZE~0)} #86#return; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:29,705 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-15 07:03:29,706 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-15 07:03:29,706 INFO L290 TraceCheckUtils]: 2: Hoare triple {79383#(<= 20 ~SIZE~0)} assume true; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:29,706 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {79383#(<= 20 ~SIZE~0)} {79378#true} #90#return; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:29,706 INFO L272 TraceCheckUtils]: 4: Hoare triple {79383#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:29,707 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-15 07:03:29,707 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-15 07:03:29,707 INFO L290 TraceCheckUtils]: 7: Hoare triple {79378#true} ~cond := #in~cond; {79378#true} is VALID [2022-04-15 07:03:29,707 INFO L290 TraceCheckUtils]: 8: Hoare triple {79378#true} assume !(0 == ~cond); {79378#true} is VALID [2022-04-15 07:03:29,707 INFO L290 TraceCheckUtils]: 9: Hoare triple {79378#true} assume true; {79378#true} is VALID [2022-04-15 07:03:29,707 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {79378#true} {79383#(<= 20 ~SIZE~0)} #86#return; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:29,708 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-15 07:03:29,708 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-15 07:03:29,708 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-15 07:03:29,709 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-15 07:03:29,709 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-15 07:03:29,710 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-15 07:03:29,710 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-15 07:03:29,711 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-15 07:03:29,711 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-15 07:03:29,711 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-15 07:03:29,712 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-15 07:03:29,712 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-15 07:03:29,712 INFO L290 TraceCheckUtils]: 23: Hoare triple {79395#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {79379#false} is VALID [2022-04-15 07:03:29,712 INFO L290 TraceCheckUtils]: 24: Hoare triple {79379#false} assume !false; {79379#false} is VALID [2022-04-15 07:03:29,713 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-15 07:03:29,713 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:03:29,713 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1793321269] [2022-04-15 07:03:29,713 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1793321269] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:03:29,713 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1153799515] [2022-04-15 07:03:29,713 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:03:29,713 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:03:29,713 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:03:29,714 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-15 07:03:29,715 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-15 07:03:29,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:29,742 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:03:29,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:29,746 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:03:29,918 INFO L272 TraceCheckUtils]: 0: Hoare triple {79378#true} call ULTIMATE.init(); {79378#true} is VALID [2022-04-15 07:03:29,919 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-15 07:03:29,919 INFO L290 TraceCheckUtils]: 2: Hoare triple {79383#(<= 20 ~SIZE~0)} assume true; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:29,919 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {79383#(<= 20 ~SIZE~0)} {79378#true} #90#return; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:29,920 INFO L272 TraceCheckUtils]: 4: Hoare triple {79383#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:29,920 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-15 07:03:29,920 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-15 07:03:29,920 INFO L290 TraceCheckUtils]: 7: Hoare triple {79383#(<= 20 ~SIZE~0)} ~cond := #in~cond; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:29,921 INFO L290 TraceCheckUtils]: 8: Hoare triple {79383#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:29,921 INFO L290 TraceCheckUtils]: 9: Hoare triple {79383#(<= 20 ~SIZE~0)} assume true; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:29,921 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {79383#(<= 20 ~SIZE~0)} {79383#(<= 20 ~SIZE~0)} #86#return; {79383#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:29,922 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-15 07:03:29,922 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-15 07:03:29,923 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-15 07:03:29,923 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-15 07:03:29,924 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-15 07:03:29,924 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-15 07:03:29,925 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-15 07:03:29,925 INFO L290 TraceCheckUtils]: 18: Hoare triple {79379#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {79379#false} is VALID [2022-04-15 07:03:29,925 INFO L290 TraceCheckUtils]: 19: Hoare triple {79379#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {79379#false} is VALID [2022-04-15 07:03:29,925 INFO L290 TraceCheckUtils]: 20: Hoare triple {79379#false} assume !(~d~0 == ~SIZE~0); {79379#false} is VALID [2022-04-15 07:03:29,925 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-15 07:03:29,925 INFO L290 TraceCheckUtils]: 22: Hoare triple {79379#false} ~cond := #in~cond; {79379#false} is VALID [2022-04-15 07:03:29,925 INFO L290 TraceCheckUtils]: 23: Hoare triple {79379#false} assume 0 == ~cond; {79379#false} is VALID [2022-04-15 07:03:29,925 INFO L290 TraceCheckUtils]: 24: Hoare triple {79379#false} assume !false; {79379#false} is VALID [2022-04-15 07:03:29,925 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-15 07:03:29,925 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:03:30,136 INFO L290 TraceCheckUtils]: 24: Hoare triple {79379#false} assume !false; {79379#false} is VALID [2022-04-15 07:03:30,136 INFO L290 TraceCheckUtils]: 23: Hoare triple {79379#false} assume 0 == ~cond; {79379#false} is VALID [2022-04-15 07:03:30,136 INFO L290 TraceCheckUtils]: 22: Hoare triple {79379#false} ~cond := #in~cond; {79379#false} is VALID [2022-04-15 07:03:30,137 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-15 07:03:30,137 INFO L290 TraceCheckUtils]: 20: Hoare triple {79379#false} assume !(~d~0 == ~SIZE~0); {79379#false} is VALID [2022-04-15 07:03:30,137 INFO L290 TraceCheckUtils]: 19: Hoare triple {79379#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {79379#false} is VALID [2022-04-15 07:03:30,137 INFO L290 TraceCheckUtils]: 18: Hoare triple {79379#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {79379#false} is VALID [2022-04-15 07:03:30,137 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-15 07:03:30,138 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-15 07:03:30,138 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-15 07:03:30,138 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-15 07:03:30,139 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-15 07:03:30,139 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-15 07:03:30,139 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-15 07:03:30,140 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {79378#true} {79514#(< 1 ~SIZE~0)} #86#return; {79514#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:30,140 INFO L290 TraceCheckUtils]: 9: Hoare triple {79378#true} assume true; {79378#true} is VALID [2022-04-15 07:03:30,140 INFO L290 TraceCheckUtils]: 8: Hoare triple {79378#true} assume !(0 == ~cond); {79378#true} is VALID [2022-04-15 07:03:30,140 INFO L290 TraceCheckUtils]: 7: Hoare triple {79378#true} ~cond := #in~cond; {79378#true} is VALID [2022-04-15 07:03:30,140 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-15 07:03:30,140 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-15 07:03:30,140 INFO L272 TraceCheckUtils]: 4: Hoare triple {79514#(< 1 ~SIZE~0)} call #t~ret7 := main(); {79514#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:30,141 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {79514#(< 1 ~SIZE~0)} {79378#true} #90#return; {79514#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:30,141 INFO L290 TraceCheckUtils]: 2: Hoare triple {79514#(< 1 ~SIZE~0)} assume true; {79514#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:30,141 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-15 07:03:30,141 INFO L272 TraceCheckUtils]: 0: Hoare triple {79378#true} call ULTIMATE.init(); {79378#true} is VALID [2022-04-15 07:03:30,141 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-15 07:03:30,141 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1153799515] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:03:30,142 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:03:30,142 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:03:30,904 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:03:30,904 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [780070967] [2022-04-15 07:03:30,904 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [780070967] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:03:30,904 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:03:30,904 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [31] imperfect sequences [] total 31 [2022-04-15 07:03:30,904 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1418398415] [2022-04-15 07:03:30,904 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:03:30,905 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-15 07:03:30,905 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:03:30,905 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-15 07:03:30,934 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-15 07:03:30,935 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-15 07:03:30,935 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:03:30,939 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-15 07:03:30,939 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=266, Invalid=1294, Unknown=0, NotChecked=0, Total=1560 [2022-04-15 07:03:30,940 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-15 07:03:33,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:03:33,152 INFO L93 Difference]: Finished difference Result 332 states and 404 transitions. [2022-04-15 07:03:33,152 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-15 07:03:33,152 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-15 07:03:33,152 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:03:33,152 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-15 07:03:33,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 106 transitions. [2022-04-15 07:03:33,153 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-15 07:03:33,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 106 transitions. [2022-04-15 07:03:33,154 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 106 transitions. [2022-04-15 07:03:33,216 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-15 07:03:33,219 INFO L225 Difference]: With dead ends: 332 [2022-04-15 07:03:33,219 INFO L226 Difference]: Without dead ends: 227 [2022-04-15 07:03:33,220 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 48 SyntacticMatches, 13 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 743 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=278, Invalid=1444, Unknown=0, NotChecked=0, Total=1722 [2022-04-15 07:03:33,220 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 55 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 1395 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-15 07:03:33,221 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [56 Valid, 70 Invalid, 1405 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1395 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 07:03:33,221 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 227 states. [2022-04-15 07:03:34,053 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 227 to 202. [2022-04-15 07:03:34,053 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:03:34,053 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-15 07:03:34,054 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-15 07:03:34,054 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-15 07:03:34,056 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:03:34,056 INFO L93 Difference]: Finished difference Result 227 states and 271 transitions. [2022-04-15 07:03:34,056 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 271 transitions. [2022-04-15 07:03:34,056 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:03:34,056 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:03:34,057 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-15 07:03:34,057 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-15 07:03:34,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:03:34,059 INFO L93 Difference]: Finished difference Result 227 states and 271 transitions. [2022-04-15 07:03:34,059 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 271 transitions. [2022-04-15 07:03:34,059 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:03:34,059 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:03:34,059 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:03:34,059 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:03:34,060 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-15 07:03:34,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 244 transitions. [2022-04-15 07:03:34,062 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 244 transitions. Word has length 55 [2022-04-15 07:03:34,062 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:03:34,062 INFO L478 AbstractCegarLoop]: Abstraction has 202 states and 244 transitions. [2022-04-15 07:03:34,062 INFO L479 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-15 07:03:34,062 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 202 states and 244 transitions. [2022-04-15 07:03:35,044 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-15 07:03:35,045 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 244 transitions. [2022-04-15 07:03:35,045 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 07:03:35,045 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:03:35,045 INFO L499 BasicCegarLoop]: 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-15 07:03:35,069 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (56)] Forceful destruction successful, exit code 0 [2022-04-15 07:03:35,246 WARN L460 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-15 07:03:35,246 INFO L403 AbstractCegarLoop]: === Iteration 64 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:03:35,246 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:03:35,246 INFO L85 PathProgramCache]: Analyzing trace with hash -491857923, now seen corresponding path program 53 times [2022-04-15 07:03:35,246 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:03:35,246 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1436165669] [2022-04-15 07:03:39,398 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:03:39,511 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-15 07:03:43,624 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:03:43,755 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-15 07:03:43,756 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:03:43,759 INFO L85 PathProgramCache]: Analyzing trace with hash 1095110465, now seen corresponding path program 1 times [2022-04-15 07:03:43,759 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:03:43,760 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [722739686] [2022-04-15 07:03:43,760 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:03:43,760 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:03:43,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:43,914 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:03:43,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:43,919 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-15 07:03:43,919 INFO L290 TraceCheckUtils]: 1: Hoare triple {81106#(<= 20 ~SIZE~0)} assume true; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:43,919 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {81106#(<= 20 ~SIZE~0)} {81101#true} #90#return; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:43,919 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:03:43,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:43,921 INFO L290 TraceCheckUtils]: 0: Hoare triple {81101#true} ~cond := #in~cond; {81101#true} is VALID [2022-04-15 07:03:43,921 INFO L290 TraceCheckUtils]: 1: Hoare triple {81101#true} assume !(0 == ~cond); {81101#true} is VALID [2022-04-15 07:03:43,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {81101#true} assume true; {81101#true} is VALID [2022-04-15 07:03:43,922 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {81101#true} {81106#(<= 20 ~SIZE~0)} #86#return; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:43,922 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-15 07:03:43,923 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-15 07:03:43,923 INFO L290 TraceCheckUtils]: 2: Hoare triple {81106#(<= 20 ~SIZE~0)} assume true; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:43,923 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {81106#(<= 20 ~SIZE~0)} {81101#true} #90#return; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:43,924 INFO L272 TraceCheckUtils]: 4: Hoare triple {81106#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:43,924 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-15 07:03:43,924 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-15 07:03:43,924 INFO L290 TraceCheckUtils]: 7: Hoare triple {81101#true} ~cond := #in~cond; {81101#true} is VALID [2022-04-15 07:03:43,924 INFO L290 TraceCheckUtils]: 8: Hoare triple {81101#true} assume !(0 == ~cond); {81101#true} is VALID [2022-04-15 07:03:43,924 INFO L290 TraceCheckUtils]: 9: Hoare triple {81101#true} assume true; {81101#true} is VALID [2022-04-15 07:03:43,925 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {81101#true} {81106#(<= 20 ~SIZE~0)} #86#return; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:43,925 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-15 07:03:43,925 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-15 07:03:43,926 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-15 07:03:43,927 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-15 07:03:43,927 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-15 07:03:43,928 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-15 07:03:43,928 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-15 07:03:43,929 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-15 07:03:43,929 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-15 07:03:43,930 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-15 07:03:43,931 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-15 07:03:43,931 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-15 07:03:43,931 INFO L290 TraceCheckUtils]: 23: Hoare triple {81118#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {81102#false} is VALID [2022-04-15 07:03:43,931 INFO L290 TraceCheckUtils]: 24: Hoare triple {81102#false} assume !false; {81102#false} is VALID [2022-04-15 07:03:43,931 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-15 07:03:43,931 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:03:43,932 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [722739686] [2022-04-15 07:03:43,932 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [722739686] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:03:43,932 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1111642188] [2022-04-15 07:03:43,932 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:03:43,932 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:03:43,932 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:03:43,933 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-15 07:03:43,934 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-15 07:03:43,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:43,965 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:03:43,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:43,979 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:03:44,188 INFO L272 TraceCheckUtils]: 0: Hoare triple {81101#true} call ULTIMATE.init(); {81101#true} is VALID [2022-04-15 07:03:44,189 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-15 07:03:44,189 INFO L290 TraceCheckUtils]: 2: Hoare triple {81106#(<= 20 ~SIZE~0)} assume true; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:44,189 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {81106#(<= 20 ~SIZE~0)} {81101#true} #90#return; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:44,190 INFO L272 TraceCheckUtils]: 4: Hoare triple {81106#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:44,190 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-15 07:03:44,190 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-15 07:03:44,191 INFO L290 TraceCheckUtils]: 7: Hoare triple {81106#(<= 20 ~SIZE~0)} ~cond := #in~cond; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:44,191 INFO L290 TraceCheckUtils]: 8: Hoare triple {81106#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:44,191 INFO L290 TraceCheckUtils]: 9: Hoare triple {81106#(<= 20 ~SIZE~0)} assume true; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:44,191 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {81106#(<= 20 ~SIZE~0)} {81106#(<= 20 ~SIZE~0)} #86#return; {81106#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:44,192 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-15 07:03:44,192 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-15 07:03:44,193 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-15 07:03:44,193 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-15 07:03:44,194 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-15 07:03:44,194 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-15 07:03:44,195 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-15 07:03:44,195 INFO L290 TraceCheckUtils]: 18: Hoare triple {81102#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {81102#false} is VALID [2022-04-15 07:03:44,195 INFO L290 TraceCheckUtils]: 19: Hoare triple {81102#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {81102#false} is VALID [2022-04-15 07:03:44,195 INFO L290 TraceCheckUtils]: 20: Hoare triple {81102#false} assume !(~d~0 == ~SIZE~0); {81102#false} is VALID [2022-04-15 07:03:44,195 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-15 07:03:44,195 INFO L290 TraceCheckUtils]: 22: Hoare triple {81102#false} ~cond := #in~cond; {81102#false} is VALID [2022-04-15 07:03:44,195 INFO L290 TraceCheckUtils]: 23: Hoare triple {81102#false} assume 0 == ~cond; {81102#false} is VALID [2022-04-15 07:03:44,195 INFO L290 TraceCheckUtils]: 24: Hoare triple {81102#false} assume !false; {81102#false} is VALID [2022-04-15 07:03:44,195 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-15 07:03:44,195 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:03:44,422 INFO L290 TraceCheckUtils]: 24: Hoare triple {81102#false} assume !false; {81102#false} is VALID [2022-04-15 07:03:44,423 INFO L290 TraceCheckUtils]: 23: Hoare triple {81102#false} assume 0 == ~cond; {81102#false} is VALID [2022-04-15 07:03:44,423 INFO L290 TraceCheckUtils]: 22: Hoare triple {81102#false} ~cond := #in~cond; {81102#false} is VALID [2022-04-15 07:03:44,423 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-15 07:03:44,423 INFO L290 TraceCheckUtils]: 20: Hoare triple {81102#false} assume !(~d~0 == ~SIZE~0); {81102#false} is VALID [2022-04-15 07:03:44,423 INFO L290 TraceCheckUtils]: 19: Hoare triple {81102#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {81102#false} is VALID [2022-04-15 07:03:44,423 INFO L290 TraceCheckUtils]: 18: Hoare triple {81102#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {81102#false} is VALID [2022-04-15 07:03:44,423 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-15 07:03:44,424 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-15 07:03:44,424 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-15 07:03:44,424 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-15 07:03:44,425 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-15 07:03:44,425 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-15 07:03:44,426 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-15 07:03:44,426 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {81101#true} {81237#(< 1 ~SIZE~0)} #86#return; {81237#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:44,426 INFO L290 TraceCheckUtils]: 9: Hoare triple {81101#true} assume true; {81101#true} is VALID [2022-04-15 07:03:44,426 INFO L290 TraceCheckUtils]: 8: Hoare triple {81101#true} assume !(0 == ~cond); {81101#true} is VALID [2022-04-15 07:03:44,426 INFO L290 TraceCheckUtils]: 7: Hoare triple {81101#true} ~cond := #in~cond; {81101#true} is VALID [2022-04-15 07:03:44,426 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-15 07:03:44,427 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-15 07:03:44,427 INFO L272 TraceCheckUtils]: 4: Hoare triple {81237#(< 1 ~SIZE~0)} call #t~ret7 := main(); {81237#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:44,427 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {81237#(< 1 ~SIZE~0)} {81101#true} #90#return; {81237#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:44,427 INFO L290 TraceCheckUtils]: 2: Hoare triple {81237#(< 1 ~SIZE~0)} assume true; {81237#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:44,428 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-15 07:03:44,428 INFO L272 TraceCheckUtils]: 0: Hoare triple {81101#true} call ULTIMATE.init(); {81101#true} is VALID [2022-04-15 07:03:44,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-15 07:03:44,428 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1111642188] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:03:44,428 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:03:44,428 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:03:45,451 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:03:45,451 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1436165669] [2022-04-15 07:03:45,451 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1436165669] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:03:45,451 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:03:45,451 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [32] imperfect sequences [] total 32 [2022-04-15 07:03:45,451 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [866372921] [2022-04-15 07:03:45,452 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:03:45,452 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-15 07:03:45,452 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:03:45,452 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-15 07:03:45,487 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-15 07:03:45,487 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2022-04-15 07:03:45,487 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:03:45,489 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-04-15 07:03:45,489 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=280, Invalid=1360, Unknown=0, NotChecked=0, Total=1640 [2022-04-15 07:03:45,489 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-15 07:03:48,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:03:48,072 INFO L93 Difference]: Finished difference Result 329 states and 401 transitions. [2022-04-15 07:03:48,072 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-15 07:03:48,072 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-15 07:03:48,072 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:03:48,073 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-15 07:03:48,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 107 transitions. [2022-04-15 07:03:48,073 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-15 07:03:48,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 107 transitions. [2022-04-15 07:03:48,074 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 107 transitions. [2022-04-15 07:03:48,128 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-15 07:03:48,131 INFO L225 Difference]: With dead ends: 329 [2022-04-15 07:03:48,131 INFO L226 Difference]: Without dead ends: 224 [2022-04-15 07:03:48,131 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 48 SyntacticMatches, 12 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 742 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=292, Invalid=1514, Unknown=0, NotChecked=0, Total=1806 [2022-04-15 07:03:48,132 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 60 mSDsluCounter, 55 mSDsCounter, 0 mSdLazyCounter, 1442 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s 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.9s IncrementalHoareTripleChecker+Time [2022-04-15 07:03:48,138 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [61 Valid, 75 Invalid, 1453 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1442 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-15 07:03:48,139 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-04-15 07:03:48,646 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 202. [2022-04-15 07:03:48,646 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:03:48,647 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-15 07:03:48,647 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-15 07:03:48,647 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-15 07:03:48,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:03:48,649 INFO L93 Difference]: Finished difference Result 224 states and 268 transitions. [2022-04-15 07:03:48,649 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 268 transitions. [2022-04-15 07:03:48,650 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:03:48,650 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:03:48,650 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-15 07:03:48,650 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-15 07:03:48,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:03:48,652 INFO L93 Difference]: Finished difference Result 224 states and 268 transitions. [2022-04-15 07:03:48,652 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 268 transitions. [2022-04-15 07:03:48,652 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:03:48,652 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:03:48,653 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:03:48,653 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:03:48,653 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-15 07:03:48,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 244 transitions. [2022-04-15 07:03:48,655 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 244 transitions. Word has length 55 [2022-04-15 07:03:48,655 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:03:48,655 INFO L478 AbstractCegarLoop]: Abstraction has 202 states and 244 transitions. [2022-04-15 07:03:48,656 INFO L479 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-15 07:03:48,656 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 202 states and 244 transitions. [2022-04-15 07:03:49,567 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-15 07:03:49,568 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 244 transitions. [2022-04-15 07:03:49,568 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 07:03:49,568 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:03:49,568 INFO L499 BasicCegarLoop]: 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-15 07:03:49,584 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (57)] Ended with exit code 0 [2022-04-15 07:03:49,783 WARN L460 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-15 07:03:49,783 INFO L403 AbstractCegarLoop]: === Iteration 65 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:03:49,783 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:03:49,784 INFO L85 PathProgramCache]: Analyzing trace with hash -2080205825, now seen corresponding path program 54 times [2022-04-15 07:03:49,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:03:49,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1253588854] [2022-04-15 07:03:50,004 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-15 07:03:52,731 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:03:52,851 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-15 07:03:52,852 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:03:52,855 INFO L85 PathProgramCache]: Analyzing trace with hash -707334079, now seen corresponding path program 1 times [2022-04-15 07:03:52,855 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:03:52,855 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [188737236] [2022-04-15 07:03:52,855 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:03:52,855 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:03:52,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:53,020 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:03:53,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:53,025 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-15 07:03:53,025 INFO L290 TraceCheckUtils]: 1: Hoare triple {82818#(<= 20 ~SIZE~0)} assume true; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:53,026 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {82818#(<= 20 ~SIZE~0)} {82813#true} #90#return; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:53,026 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:03:53,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:53,027 INFO L290 TraceCheckUtils]: 0: Hoare triple {82813#true} ~cond := #in~cond; {82813#true} is VALID [2022-04-15 07:03:53,028 INFO L290 TraceCheckUtils]: 1: Hoare triple {82813#true} assume !(0 == ~cond); {82813#true} is VALID [2022-04-15 07:03:53,028 INFO L290 TraceCheckUtils]: 2: Hoare triple {82813#true} assume true; {82813#true} is VALID [2022-04-15 07:03:53,028 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {82813#true} {82818#(<= 20 ~SIZE~0)} #86#return; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:53,029 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-15 07:03:53,029 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-15 07:03:53,029 INFO L290 TraceCheckUtils]: 2: Hoare triple {82818#(<= 20 ~SIZE~0)} assume true; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:53,030 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {82818#(<= 20 ~SIZE~0)} {82813#true} #90#return; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:53,030 INFO L272 TraceCheckUtils]: 4: Hoare triple {82818#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:53,030 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-15 07:03:53,030 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-15 07:03:53,030 INFO L290 TraceCheckUtils]: 7: Hoare triple {82813#true} ~cond := #in~cond; {82813#true} is VALID [2022-04-15 07:03:53,030 INFO L290 TraceCheckUtils]: 8: Hoare triple {82813#true} assume !(0 == ~cond); {82813#true} is VALID [2022-04-15 07:03:53,031 INFO L290 TraceCheckUtils]: 9: Hoare triple {82813#true} assume true; {82813#true} is VALID [2022-04-15 07:03:53,031 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {82813#true} {82818#(<= 20 ~SIZE~0)} #86#return; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:53,031 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-15 07:03:53,032 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-15 07:03:53,032 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-15 07:03:53,033 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-15 07:03:53,034 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-15 07:03:53,034 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-15 07:03:53,035 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-15 07:03:53,035 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-15 07:03:53,036 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-15 07:03:53,036 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-15 07:03:53,037 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-15 07:03:53,037 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-15 07:03:53,037 INFO L290 TraceCheckUtils]: 23: Hoare triple {82830#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {82814#false} is VALID [2022-04-15 07:03:53,038 INFO L290 TraceCheckUtils]: 24: Hoare triple {82814#false} assume !false; {82814#false} is VALID [2022-04-15 07:03:53,038 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-15 07:03:53,038 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:03:53,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [188737236] [2022-04-15 07:03:53,038 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [188737236] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:03:53,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [508597102] [2022-04-15 07:03:53,038 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:03:53,038 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:03:53,038 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:03:53,039 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-15 07:03:53,040 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-15 07:03:53,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:53,074 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:03:53,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:03:53,081 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:03:53,328 INFO L272 TraceCheckUtils]: 0: Hoare triple {82813#true} call ULTIMATE.init(); {82813#true} is VALID [2022-04-15 07:03:53,329 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-15 07:03:53,329 INFO L290 TraceCheckUtils]: 2: Hoare triple {82818#(<= 20 ~SIZE~0)} assume true; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:53,329 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {82818#(<= 20 ~SIZE~0)} {82813#true} #90#return; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:53,330 INFO L272 TraceCheckUtils]: 4: Hoare triple {82818#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:53,330 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-15 07:03:53,330 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-15 07:03:53,331 INFO L290 TraceCheckUtils]: 7: Hoare triple {82818#(<= 20 ~SIZE~0)} ~cond := #in~cond; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:53,331 INFO L290 TraceCheckUtils]: 8: Hoare triple {82818#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:53,331 INFO L290 TraceCheckUtils]: 9: Hoare triple {82818#(<= 20 ~SIZE~0)} assume true; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:53,332 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {82818#(<= 20 ~SIZE~0)} {82818#(<= 20 ~SIZE~0)} #86#return; {82818#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:03:53,332 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-15 07:03:53,332 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-15 07:03:53,333 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-15 07:03:53,334 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-15 07:03:53,334 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-15 07:03:53,335 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-15 07:03:53,335 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-15 07:03:53,335 INFO L290 TraceCheckUtils]: 18: Hoare triple {82814#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {82814#false} is VALID [2022-04-15 07:03:53,335 INFO L290 TraceCheckUtils]: 19: Hoare triple {82814#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {82814#false} is VALID [2022-04-15 07:03:53,336 INFO L290 TraceCheckUtils]: 20: Hoare triple {82814#false} assume !(~d~0 == ~SIZE~0); {82814#false} is VALID [2022-04-15 07:03:53,336 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-15 07:03:53,336 INFO L290 TraceCheckUtils]: 22: Hoare triple {82814#false} ~cond := #in~cond; {82814#false} is VALID [2022-04-15 07:03:53,336 INFO L290 TraceCheckUtils]: 23: Hoare triple {82814#false} assume 0 == ~cond; {82814#false} is VALID [2022-04-15 07:03:53,336 INFO L290 TraceCheckUtils]: 24: Hoare triple {82814#false} assume !false; {82814#false} is VALID [2022-04-15 07:03:53,336 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-15 07:03:53,336 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:03:53,631 INFO L290 TraceCheckUtils]: 24: Hoare triple {82814#false} assume !false; {82814#false} is VALID [2022-04-15 07:03:53,631 INFO L290 TraceCheckUtils]: 23: Hoare triple {82814#false} assume 0 == ~cond; {82814#false} is VALID [2022-04-15 07:03:53,632 INFO L290 TraceCheckUtils]: 22: Hoare triple {82814#false} ~cond := #in~cond; {82814#false} is VALID [2022-04-15 07:03:53,632 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-15 07:03:53,632 INFO L290 TraceCheckUtils]: 20: Hoare triple {82814#false} assume !(~d~0 == ~SIZE~0); {82814#false} is VALID [2022-04-15 07:03:53,632 INFO L290 TraceCheckUtils]: 19: Hoare triple {82814#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {82814#false} is VALID [2022-04-15 07:03:53,632 INFO L290 TraceCheckUtils]: 18: Hoare triple {82814#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {82814#false} is VALID [2022-04-15 07:03:53,632 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-15 07:03:53,633 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-15 07:03:53,634 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-15 07:03:53,634 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-15 07:03:53,635 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-15 07:03:53,636 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-15 07:03:53,636 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-15 07:03:53,636 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {82813#true} {82949#(< 1 ~SIZE~0)} #86#return; {82949#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:53,636 INFO L290 TraceCheckUtils]: 9: Hoare triple {82813#true} assume true; {82813#true} is VALID [2022-04-15 07:03:53,637 INFO L290 TraceCheckUtils]: 8: Hoare triple {82813#true} assume !(0 == ~cond); {82813#true} is VALID [2022-04-15 07:03:53,637 INFO L290 TraceCheckUtils]: 7: Hoare triple {82813#true} ~cond := #in~cond; {82813#true} is VALID [2022-04-15 07:03:53,637 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-15 07:03:53,637 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-15 07:03:53,637 INFO L272 TraceCheckUtils]: 4: Hoare triple {82949#(< 1 ~SIZE~0)} call #t~ret7 := main(); {82949#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:53,638 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {82949#(< 1 ~SIZE~0)} {82813#true} #90#return; {82949#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:53,638 INFO L290 TraceCheckUtils]: 2: Hoare triple {82949#(< 1 ~SIZE~0)} assume true; {82949#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:03:53,639 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-15 07:03:53,639 INFO L272 TraceCheckUtils]: 0: Hoare triple {82813#true} call ULTIMATE.init(); {82813#true} is VALID [2022-04-15 07:03:53,639 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-15 07:03:53,639 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [508597102] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:03:53,639 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:03:53,639 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:03:54,809 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:03:54,810 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1253588854] [2022-04-15 07:03:54,810 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1253588854] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:03:54,810 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:03:54,810 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [33] imperfect sequences [] total 33 [2022-04-15 07:03:54,810 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2035342615] [2022-04-15 07:03:54,810 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:03:54,810 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-15 07:03:54,810 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:03:54,810 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-15 07:03:54,838 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-15 07:03:54,838 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-15 07:03:54,839 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:03:54,839 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-15 07:03:54,839 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=294, Invalid=1428, Unknown=0, NotChecked=0, Total=1722 [2022-04-15 07:03:54,839 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-15 07:03:57,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:03:57,289 INFO L93 Difference]: Finished difference Result 327 states and 399 transitions. [2022-04-15 07:03:57,289 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-04-15 07:03:57,289 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-15 07:03:57,289 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:03:57,289 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-15 07:03:57,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 108 transitions. [2022-04-15 07:03:57,290 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-15 07:03:57,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 108 transitions. [2022-04-15 07:03:57,290 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 108 transitions. [2022-04-15 07:03:57,368 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-15 07:03:57,371 INFO L225 Difference]: With dead ends: 327 [2022-04-15 07:03:57,371 INFO L226 Difference]: Without dead ends: 222 [2022-04-15 07:03:57,372 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 48 SyntacticMatches, 11 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 732 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=306, Invalid=1586, Unknown=0, NotChecked=0, Total=1892 [2022-04-15 07:03:57,372 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 63 mSDsluCounter, 36 mSDsCounter, 0 mSdLazyCounter, 1331 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s 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.8s IncrementalHoareTripleChecker+Time [2022-04-15 07:03:57,372 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [64 Valid, 56 Invalid, 1341 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1331 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 07:03:57,372 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 222 states. [2022-04-15 07:03:58,206 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 222 to 202. [2022-04-15 07:03:58,207 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:03:58,207 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-15 07:03:58,207 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-15 07:03:58,207 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-15 07:03:58,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:03:58,210 INFO L93 Difference]: Finished difference Result 222 states and 266 transitions. [2022-04-15 07:03:58,210 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 266 transitions. [2022-04-15 07:03:58,210 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:03:58,210 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:03:58,210 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-15 07:03:58,210 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-15 07:03:58,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:03:58,213 INFO L93 Difference]: Finished difference Result 222 states and 266 transitions. [2022-04-15 07:03:58,213 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 266 transitions. [2022-04-15 07:03:58,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:03:58,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:03:58,213 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:03:58,213 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:03:58,213 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-15 07:03:58,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 244 transitions. [2022-04-15 07:03:58,216 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 244 transitions. Word has length 55 [2022-04-15 07:03:58,216 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:03:58,216 INFO L478 AbstractCegarLoop]: Abstraction has 202 states and 244 transitions. [2022-04-15 07:03:58,216 INFO L479 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-15 07:03:58,216 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 202 states and 244 transitions. [2022-04-15 07:03:59,136 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-15 07:03:59,137 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 244 transitions. [2022-04-15 07:03:59,137 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 07:03:59,137 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:03:59,137 INFO L499 BasicCegarLoop]: 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-15 07:03:59,153 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-15 07:03:59,337 WARN L460 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-15 07:03:59,338 INFO L403 AbstractCegarLoop]: === Iteration 66 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:03:59,338 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:03:59,338 INFO L85 PathProgramCache]: Analyzing trace with hash 1203644221, now seen corresponding path program 55 times [2022-04-15 07:03:59,338 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:03:59,338 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [117810419] [2022-04-15 07:04:03,461 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:04:03,574 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-15 07:04:05,742 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:04:05,866 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-15 07:04:05,867 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:04:05,870 INFO L85 PathProgramCache]: Analyzing trace with hash 1785188673, now seen corresponding path program 1 times [2022-04-15 07:04:05,870 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:04:05,870 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [83656504] [2022-04-15 07:04:05,871 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:04:05,871 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:04:05,877 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:06,027 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:04:06,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:06,031 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-15 07:04:06,032 INFO L290 TraceCheckUtils]: 1: Hoare triple {84523#(<= 20 ~SIZE~0)} assume true; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:06,032 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {84523#(<= 20 ~SIZE~0)} {84518#true} #90#return; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:06,032 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:04:06,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:06,034 INFO L290 TraceCheckUtils]: 0: Hoare triple {84518#true} ~cond := #in~cond; {84518#true} is VALID [2022-04-15 07:04:06,034 INFO L290 TraceCheckUtils]: 1: Hoare triple {84518#true} assume !(0 == ~cond); {84518#true} is VALID [2022-04-15 07:04:06,034 INFO L290 TraceCheckUtils]: 2: Hoare triple {84518#true} assume true; {84518#true} is VALID [2022-04-15 07:04:06,035 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84518#true} {84523#(<= 20 ~SIZE~0)} #86#return; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:06,035 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-15 07:04:06,036 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-15 07:04:06,036 INFO L290 TraceCheckUtils]: 2: Hoare triple {84523#(<= 20 ~SIZE~0)} assume true; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:06,036 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84523#(<= 20 ~SIZE~0)} {84518#true} #90#return; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:06,037 INFO L272 TraceCheckUtils]: 4: Hoare triple {84523#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:06,037 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-15 07:04:06,037 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-15 07:04:06,037 INFO L290 TraceCheckUtils]: 7: Hoare triple {84518#true} ~cond := #in~cond; {84518#true} is VALID [2022-04-15 07:04:06,037 INFO L290 TraceCheckUtils]: 8: Hoare triple {84518#true} assume !(0 == ~cond); {84518#true} is VALID [2022-04-15 07:04:06,037 INFO L290 TraceCheckUtils]: 9: Hoare triple {84518#true} assume true; {84518#true} is VALID [2022-04-15 07:04:06,038 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {84518#true} {84523#(<= 20 ~SIZE~0)} #86#return; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:06,038 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-15 07:04:06,038 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-15 07:04:06,039 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-15 07:04:06,040 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-15 07:04:06,040 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-15 07:04:06,041 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-15 07:04:06,041 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-15 07:04:06,042 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-15 07:04:06,042 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-15 07:04:06,043 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-15 07:04:06,044 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-15 07:04:06,044 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-15 07:04:06,044 INFO L290 TraceCheckUtils]: 23: Hoare triple {84535#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {84519#false} is VALID [2022-04-15 07:04:06,044 INFO L290 TraceCheckUtils]: 24: Hoare triple {84519#false} assume !false; {84519#false} is VALID [2022-04-15 07:04:06,044 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-15 07:04:06,044 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:04:06,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [83656504] [2022-04-15 07:04:06,045 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [83656504] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:04:06,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [788041001] [2022-04-15 07:04:06,045 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:04:06,045 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:04:06,045 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:04:06,046 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-15 07:04:06,047 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-15 07:04:06,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:06,092 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:04:06,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:06,098 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:04:06,343 INFO L272 TraceCheckUtils]: 0: Hoare triple {84518#true} call ULTIMATE.init(); {84518#true} is VALID [2022-04-15 07:04:06,343 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-15 07:04:06,344 INFO L290 TraceCheckUtils]: 2: Hoare triple {84523#(<= 20 ~SIZE~0)} assume true; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:06,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84523#(<= 20 ~SIZE~0)} {84518#true} #90#return; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:06,344 INFO L272 TraceCheckUtils]: 4: Hoare triple {84523#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:06,345 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-15 07:04:06,345 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-15 07:04:06,345 INFO L290 TraceCheckUtils]: 7: Hoare triple {84523#(<= 20 ~SIZE~0)} ~cond := #in~cond; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:06,346 INFO L290 TraceCheckUtils]: 8: Hoare triple {84523#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:06,346 INFO L290 TraceCheckUtils]: 9: Hoare triple {84523#(<= 20 ~SIZE~0)} assume true; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:06,346 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {84523#(<= 20 ~SIZE~0)} {84523#(<= 20 ~SIZE~0)} #86#return; {84523#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:06,347 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-15 07:04:06,347 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-15 07:04:06,348 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-15 07:04:06,348 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-15 07:04:06,349 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-15 07:04:06,349 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-15 07:04:06,350 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-15 07:04:06,350 INFO L290 TraceCheckUtils]: 18: Hoare triple {84519#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {84519#false} is VALID [2022-04-15 07:04:06,350 INFO L290 TraceCheckUtils]: 19: Hoare triple {84519#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {84519#false} is VALID [2022-04-15 07:04:06,350 INFO L290 TraceCheckUtils]: 20: Hoare triple {84519#false} assume !(~d~0 == ~SIZE~0); {84519#false} is VALID [2022-04-15 07:04:06,350 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-15 07:04:06,350 INFO L290 TraceCheckUtils]: 22: Hoare triple {84519#false} ~cond := #in~cond; {84519#false} is VALID [2022-04-15 07:04:06,350 INFO L290 TraceCheckUtils]: 23: Hoare triple {84519#false} assume 0 == ~cond; {84519#false} is VALID [2022-04-15 07:04:06,350 INFO L290 TraceCheckUtils]: 24: Hoare triple {84519#false} assume !false; {84519#false} is VALID [2022-04-15 07:04:06,350 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-15 07:04:06,350 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:04:06,631 INFO L290 TraceCheckUtils]: 24: Hoare triple {84519#false} assume !false; {84519#false} is VALID [2022-04-15 07:04:06,631 INFO L290 TraceCheckUtils]: 23: Hoare triple {84519#false} assume 0 == ~cond; {84519#false} is VALID [2022-04-15 07:04:06,631 INFO L290 TraceCheckUtils]: 22: Hoare triple {84519#false} ~cond := #in~cond; {84519#false} is VALID [2022-04-15 07:04:06,631 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-15 07:04:06,631 INFO L290 TraceCheckUtils]: 20: Hoare triple {84519#false} assume !(~d~0 == ~SIZE~0); {84519#false} is VALID [2022-04-15 07:04:06,631 INFO L290 TraceCheckUtils]: 19: Hoare triple {84519#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {84519#false} is VALID [2022-04-15 07:04:06,631 INFO L290 TraceCheckUtils]: 18: Hoare triple {84519#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {84519#false} is VALID [2022-04-15 07:04:06,632 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-15 07:04:06,632 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-15 07:04:06,633 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-15 07:04:06,633 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-15 07:04:06,634 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-15 07:04:06,634 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-15 07:04:06,635 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-15 07:04:06,635 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {84518#true} {84654#(< 1 ~SIZE~0)} #86#return; {84654#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:06,635 INFO L290 TraceCheckUtils]: 9: Hoare triple {84518#true} assume true; {84518#true} is VALID [2022-04-15 07:04:06,635 INFO L290 TraceCheckUtils]: 8: Hoare triple {84518#true} assume !(0 == ~cond); {84518#true} is VALID [2022-04-15 07:04:06,635 INFO L290 TraceCheckUtils]: 7: Hoare triple {84518#true} ~cond := #in~cond; {84518#true} is VALID [2022-04-15 07:04:06,635 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-15 07:04:06,636 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-15 07:04:06,636 INFO L272 TraceCheckUtils]: 4: Hoare triple {84654#(< 1 ~SIZE~0)} call #t~ret7 := main(); {84654#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:06,636 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84654#(< 1 ~SIZE~0)} {84518#true} #90#return; {84654#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:06,636 INFO L290 TraceCheckUtils]: 2: Hoare triple {84654#(< 1 ~SIZE~0)} assume true; {84654#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:06,637 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-15 07:04:06,637 INFO L272 TraceCheckUtils]: 0: Hoare triple {84518#true} call ULTIMATE.init(); {84518#true} is VALID [2022-04-15 07:04:06,637 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-15 07:04:06,637 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [788041001] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:04:06,637 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:04:06,637 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:04:07,783 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:04:07,784 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [117810419] [2022-04-15 07:04:07,784 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [117810419] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:04:07,784 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:04:07,784 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-15 07:04:07,784 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1885934381] [2022-04-15 07:04:07,784 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:04:07,784 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-15 07:04:07,784 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:04:07,784 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-15 07:04:07,825 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-15 07:04:07,825 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-15 07:04:07,825 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:04:07,825 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-15 07:04:07,826 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=308, Invalid=1498, Unknown=0, NotChecked=0, Total=1806 [2022-04-15 07:04:07,826 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-15 07:04:10,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:04:10,744 INFO L93 Difference]: Finished difference Result 338 states and 414 transitions. [2022-04-15 07:04:10,744 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-15 07:04:10,744 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-15 07:04:10,744 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:04:10,745 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-15 07:04:10,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 110 transitions. [2022-04-15 07:04:10,745 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-15 07:04:10,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 110 transitions. [2022-04-15 07:04:10,746 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 110 transitions. [2022-04-15 07:04:10,820 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-15 07:04:10,823 INFO L225 Difference]: With dead ends: 338 [2022-04-15 07:04:10,823 INFO L226 Difference]: Without dead ends: 222 [2022-04-15 07:04:10,823 INFO L912 BasicCegarLoop]: 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-15 07:04:10,823 INFO L913 BasicCegarLoop]: 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-15 07:04:10,824 INFO L914 BasicCegarLoop]: 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-15 07:04:10,824 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 222 states. [2022-04-15 07:04:11,672 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 222 to 205. [2022-04-15 07:04:11,672 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:04:11,672 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-15 07:04:11,672 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-15 07:04:11,673 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-15 07:04:11,675 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:04:11,675 INFO L93 Difference]: Finished difference Result 222 states and 267 transitions. [2022-04-15 07:04:11,675 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 267 transitions. [2022-04-15 07:04:11,675 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:04:11,675 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:04:11,675 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-15 07:04:11,676 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-15 07:04:11,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:04:11,678 INFO L93 Difference]: Finished difference Result 222 states and 267 transitions. [2022-04-15 07:04:11,678 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 267 transitions. [2022-04-15 07:04:11,678 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:04:11,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:04:11,678 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:04:11,678 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:04:11,678 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-15 07:04:11,681 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 205 states to 205 states and 248 transitions. [2022-04-15 07:04:11,681 INFO L78 Accepts]: Start accepts. Automaton has 205 states and 248 transitions. Word has length 55 [2022-04-15 07:04:11,681 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:04:11,681 INFO L478 AbstractCegarLoop]: Abstraction has 205 states and 248 transitions. [2022-04-15 07:04:11,681 INFO L479 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-15 07:04:11,681 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 205 states and 248 transitions. [2022-04-15 07:04:12,705 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-15 07:04:12,705 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 248 transitions. [2022-04-15 07:04:12,705 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-15 07:04:12,706 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:04:12,706 INFO L499 BasicCegarLoop]: 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-15 07:04:12,722 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-15 07:04:12,906 WARN L460 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-15 07:04:12,906 INFO L403 AbstractCegarLoop]: === Iteration 67 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:04:12,906 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:04:12,906 INFO L85 PathProgramCache]: Analyzing trace with hash -1038279579, now seen corresponding path program 4 times [2022-04-15 07:04:12,906 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:04:12,907 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1199875377] [2022-04-15 07:04:13,198 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-15 07:04:13,449 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-15 07:04:13,450 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:04:13,450 INFO L85 PathProgramCache]: Analyzing trace with hash -2073854645, now seen corresponding path program 1 times [2022-04-15 07:04:13,451 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:04:13,451 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2066692963] [2022-04-15 07:04:13,451 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:04:13,451 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:04:13,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:13,510 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:04:13,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:13,515 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-15 07:04:13,515 INFO L290 TraceCheckUtils]: 1: Hoare triple {86257#(<= 20 ~SIZE~0)} assume true; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:13,516 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {86257#(<= 20 ~SIZE~0)} {86252#true} #90#return; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:13,516 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:04:13,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:13,518 INFO L290 TraceCheckUtils]: 0: Hoare triple {86252#true} ~cond := #in~cond; {86252#true} is VALID [2022-04-15 07:04:13,518 INFO L290 TraceCheckUtils]: 1: Hoare triple {86252#true} assume !(0 == ~cond); {86252#true} is VALID [2022-04-15 07:04:13,518 INFO L290 TraceCheckUtils]: 2: Hoare triple {86252#true} assume true; {86252#true} is VALID [2022-04-15 07:04:13,518 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {86252#true} {86257#(<= 20 ~SIZE~0)} #86#return; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:13,519 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-15 07:04:13,519 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-15 07:04:13,520 INFO L290 TraceCheckUtils]: 2: Hoare triple {86257#(<= 20 ~SIZE~0)} assume true; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:13,520 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {86257#(<= 20 ~SIZE~0)} {86252#true} #90#return; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:13,520 INFO L272 TraceCheckUtils]: 4: Hoare triple {86257#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:13,521 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-15 07:04:13,521 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-15 07:04:13,521 INFO L290 TraceCheckUtils]: 7: Hoare triple {86252#true} ~cond := #in~cond; {86252#true} is VALID [2022-04-15 07:04:13,521 INFO L290 TraceCheckUtils]: 8: Hoare triple {86252#true} assume !(0 == ~cond); {86252#true} is VALID [2022-04-15 07:04:13,521 INFO L290 TraceCheckUtils]: 9: Hoare triple {86252#true} assume true; {86252#true} is VALID [2022-04-15 07:04:13,521 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {86252#true} {86257#(<= 20 ~SIZE~0)} #86#return; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:13,522 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-15 07:04:13,522 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-15 07:04:13,522 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-15 07:04:13,523 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-15 07:04:13,523 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-15 07:04:13,523 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-15 07:04:13,524 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-15 07:04:13,524 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-15 07:04:13,524 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-15 07:04:13,525 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-15 07:04:13,525 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-15 07:04:13,526 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-15 07:04:13,526 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-15 07:04:13,526 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-15 07:04:13,527 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-15 07:04:13,527 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-15 07:04:13,527 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-15 07:04:13,528 INFO L290 TraceCheckUtils]: 28: Hoare triple {86266#(<= (+ main_~c~0 16) ~SIZE~0)} assume !(~c~0 < ~SIZE~0); {86253#false} is VALID [2022-04-15 07:04:13,528 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-15 07:04:13,528 INFO L290 TraceCheckUtils]: 30: Hoare triple {86253#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {86253#false} is VALID [2022-04-15 07:04:13,528 INFO L290 TraceCheckUtils]: 31: Hoare triple {86253#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {86253#false} is VALID [2022-04-15 07:04:13,528 INFO L290 TraceCheckUtils]: 32: Hoare triple {86253#false} assume !(~d~0 == ~SIZE~0); {86253#false} is VALID [2022-04-15 07:04:13,528 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-15 07:04:13,528 INFO L290 TraceCheckUtils]: 34: Hoare triple {86253#false} ~cond := #in~cond; {86253#false} is VALID [2022-04-15 07:04:13,528 INFO L290 TraceCheckUtils]: 35: Hoare triple {86253#false} assume 0 == ~cond; {86253#false} is VALID [2022-04-15 07:04:13,528 INFO L290 TraceCheckUtils]: 36: Hoare triple {86253#false} assume !false; {86253#false} is VALID [2022-04-15 07:04:13,528 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-15 07:04:13,529 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:04:13,529 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2066692963] [2022-04-15 07:04:13,529 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2066692963] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:04:13,529 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [705467459] [2022-04-15 07:04:13,529 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:04:13,529 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:04:13,529 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:04:13,530 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-15 07:04:13,531 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-15 07:04:13,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:13,573 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 07:04:13,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:13,581 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:04:13,737 INFO L272 TraceCheckUtils]: 0: Hoare triple {86252#true} call ULTIMATE.init(); {86252#true} is VALID [2022-04-15 07:04:13,737 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-15 07:04:13,737 INFO L290 TraceCheckUtils]: 2: Hoare triple {86257#(<= 20 ~SIZE~0)} assume true; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:13,738 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {86257#(<= 20 ~SIZE~0)} {86252#true} #90#return; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:13,738 INFO L272 TraceCheckUtils]: 4: Hoare triple {86257#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:13,738 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-15 07:04:13,738 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-15 07:04:13,739 INFO L290 TraceCheckUtils]: 7: Hoare triple {86257#(<= 20 ~SIZE~0)} ~cond := #in~cond; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:13,739 INFO L290 TraceCheckUtils]: 8: Hoare triple {86257#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:13,739 INFO L290 TraceCheckUtils]: 9: Hoare triple {86257#(<= 20 ~SIZE~0)} assume true; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:13,739 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {86257#(<= 20 ~SIZE~0)} {86257#(<= 20 ~SIZE~0)} #86#return; {86257#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:13,739 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-15 07:04:13,740 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-15 07:04:13,740 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-15 07:04:13,740 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-15 07:04:13,740 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-15 07:04:13,741 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-15 07:04:13,741 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-15 07:04:13,741 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-15 07:04:13,742 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-15 07:04:13,742 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-15 07:04:13,742 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-15 07:04:13,742 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-15 07:04:13,743 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-15 07:04:13,743 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-15 07:04:13,743 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-15 07:04:13,744 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-15 07:04:13,744 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-15 07:04:13,744 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-15 07:04:13,744 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-15 07:04:13,744 INFO L290 TraceCheckUtils]: 30: Hoare triple {86253#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {86253#false} is VALID [2022-04-15 07:04:13,744 INFO L290 TraceCheckUtils]: 31: Hoare triple {86253#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {86253#false} is VALID [2022-04-15 07:04:13,744 INFO L290 TraceCheckUtils]: 32: Hoare triple {86253#false} assume !(~d~0 == ~SIZE~0); {86253#false} is VALID [2022-04-15 07:04:13,745 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-15 07:04:13,745 INFO L290 TraceCheckUtils]: 34: Hoare triple {86253#false} ~cond := #in~cond; {86253#false} is VALID [2022-04-15 07:04:13,745 INFO L290 TraceCheckUtils]: 35: Hoare triple {86253#false} assume 0 == ~cond; {86253#false} is VALID [2022-04-15 07:04:13,745 INFO L290 TraceCheckUtils]: 36: Hoare triple {86253#false} assume !false; {86253#false} is VALID [2022-04-15 07:04:13,745 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-15 07:04:13,745 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:04:13,869 INFO L290 TraceCheckUtils]: 36: Hoare triple {86253#false} assume !false; {86253#false} is VALID [2022-04-15 07:04:13,869 INFO L290 TraceCheckUtils]: 35: Hoare triple {86253#false} assume 0 == ~cond; {86253#false} is VALID [2022-04-15 07:04:13,869 INFO L290 TraceCheckUtils]: 34: Hoare triple {86253#false} ~cond := #in~cond; {86253#false} is VALID [2022-04-15 07:04:13,870 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-15 07:04:13,870 INFO L290 TraceCheckUtils]: 32: Hoare triple {86253#false} assume !(~d~0 == ~SIZE~0); {86253#false} is VALID [2022-04-15 07:04:13,870 INFO L290 TraceCheckUtils]: 31: Hoare triple {86253#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {86253#false} is VALID [2022-04-15 07:04:13,870 INFO L290 TraceCheckUtils]: 30: Hoare triple {86253#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {86253#false} is VALID [2022-04-15 07:04:13,870 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-15 07:04:13,888 INFO L290 TraceCheckUtils]: 28: Hoare triple {86408#(< main_~c~0 ~SIZE~0)} assume !(~c~0 < ~SIZE~0); {86253#false} is VALID [2022-04-15 07:04:13,889 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-15 07:04:13,889 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-15 07:04:13,889 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-15 07:04:13,890 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-15 07:04:13,890 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-15 07:04:13,891 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-15 07:04:13,891 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-15 07:04:13,891 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-15 07:04:13,892 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-15 07:04:13,892 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-15 07:04:13,892 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-15 07:04:13,892 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-15 07:04:13,893 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-15 07:04:13,893 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-15 07:04:13,893 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-15 07:04:13,894 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-15 07:04:13,894 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-15 07:04:13,894 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {86252#true} {86452#(< 4 ~SIZE~0)} #86#return; {86452#(< 4 ~SIZE~0)} is VALID [2022-04-15 07:04:13,894 INFO L290 TraceCheckUtils]: 9: Hoare triple {86252#true} assume true; {86252#true} is VALID [2022-04-15 07:04:13,894 INFO L290 TraceCheckUtils]: 8: Hoare triple {86252#true} assume !(0 == ~cond); {86252#true} is VALID [2022-04-15 07:04:13,894 INFO L290 TraceCheckUtils]: 7: Hoare triple {86252#true} ~cond := #in~cond; {86252#true} is VALID [2022-04-15 07:04:13,895 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-15 07:04:13,895 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-15 07:04:13,895 INFO L272 TraceCheckUtils]: 4: Hoare triple {86452#(< 4 ~SIZE~0)} call #t~ret7 := main(); {86452#(< 4 ~SIZE~0)} is VALID [2022-04-15 07:04:13,895 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {86452#(< 4 ~SIZE~0)} {86252#true} #90#return; {86452#(< 4 ~SIZE~0)} is VALID [2022-04-15 07:04:13,896 INFO L290 TraceCheckUtils]: 2: Hoare triple {86452#(< 4 ~SIZE~0)} assume true; {86452#(< 4 ~SIZE~0)} is VALID [2022-04-15 07:04:13,896 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-15 07:04:13,896 INFO L272 TraceCheckUtils]: 0: Hoare triple {86252#true} call ULTIMATE.init(); {86252#true} is VALID [2022-04-15 07:04:13,896 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-15 07:04:13,896 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [705467459] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:04:13,896 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:04:13,897 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8, 8] total 20 [2022-04-15 07:04:14,087 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:04:14,087 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1199875377] [2022-04-15 07:04:14,087 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1199875377] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:04:14,087 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:04:14,087 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 07:04:14,087 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [456945654] [2022-04-15 07:04:14,087 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:04:14,088 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-15 07:04:14,088 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:04:14,088 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-15 07:04:14,128 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-15 07:04:14,128 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 07:04:14,128 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:04:14,128 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 07:04:14,128 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=243, Invalid=407, Unknown=0, NotChecked=0, Total=650 [2022-04-15 07:04:14,128 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-15 07:04:15,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:04:15,316 INFO L93 Difference]: Finished difference Result 392 states and 478 transitions. [2022-04-15 07:04:15,316 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 07:04:15,316 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-15 07:04:15,316 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:04:15,316 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-15 07:04:15,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 88 transitions. [2022-04-15 07:04:15,317 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-15 07:04:15,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 88 transitions. [2022-04-15 07:04:15,317 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 88 transitions. [2022-04-15 07:04:15,354 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-15 07:04:15,358 INFO L225 Difference]: With dead ends: 392 [2022-04-15 07:04:15,358 INFO L226 Difference]: Without dead ends: 278 [2022-04-15 07:04:15,358 INFO L912 BasicCegarLoop]: 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-15 07:04:15,358 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 72 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 215 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-15 07:04:15,358 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [73 Valid, 29 Invalid, 246 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 215 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 07:04:15,359 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 278 states. [2022-04-15 07:04:15,928 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 278 to 223. [2022-04-15 07:04:15,928 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:04:15,929 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-15 07:04:15,929 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-15 07:04:15,929 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-15 07:04:15,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:04:15,932 INFO L93 Difference]: Finished difference Result 278 states and 327 transitions. [2022-04-15 07:04:15,932 INFO L276 IsEmpty]: Start isEmpty. Operand 278 states and 327 transitions. [2022-04-15 07:04:15,932 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:04:15,932 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:04:15,932 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-15 07:04:15,933 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-15 07:04:15,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:04:15,936 INFO L93 Difference]: Finished difference Result 278 states and 327 transitions. [2022-04-15 07:04:15,936 INFO L276 IsEmpty]: Start isEmpty. Operand 278 states and 327 transitions. [2022-04-15 07:04:15,936 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:04:15,936 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:04:15,936 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:04:15,936 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:04:15,936 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-15 07:04:15,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 223 states to 223 states and 269 transitions. [2022-04-15 07:04:15,939 INFO L78 Accepts]: Start accepts. Automaton has 223 states and 269 transitions. Word has length 57 [2022-04-15 07:04:15,939 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:04:15,939 INFO L478 AbstractCegarLoop]: Abstraction has 223 states and 269 transitions. [2022-04-15 07:04:15,939 INFO L479 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-15 07:04:15,939 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 223 states and 269 transitions. [2022-04-15 07:04:16,872 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-15 07:04:16,872 INFO L276 IsEmpty]: Start isEmpty. Operand 223 states and 269 transitions. [2022-04-15 07:04:16,872 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-15 07:04:16,872 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:04:16,872 INFO L499 BasicCegarLoop]: 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-15 07:04:16,889 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-15 07:04:17,086 WARN L460 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-15 07:04:17,086 INFO L403 AbstractCegarLoop]: === Iteration 68 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:04:17,086 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:04:17,087 INFO L85 PathProgramCache]: Analyzing trace with hash -490608740, now seen corresponding path program 56 times [2022-04-15 07:04:17,087 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:04:17,087 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2139770181] [2022-04-15 07:04:17,307 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-15 07:04:17,481 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-15 07:04:17,482 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:04:17,484 INFO L85 PathProgramCache]: Analyzing trace with hash -1819700415, now seen corresponding path program 1 times [2022-04-15 07:04:17,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:04:17,484 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2030614040] [2022-04-15 07:04:17,484 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:04:17,485 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:04:17,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:17,675 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:04:17,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:17,680 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-15 07:04:17,681 INFO L290 TraceCheckUtils]: 1: Hoare triple {88308#(<= 20 ~SIZE~0)} assume true; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:17,681 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {88308#(<= 20 ~SIZE~0)} {88303#true} #90#return; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:17,681 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:04:17,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:17,682 INFO L290 TraceCheckUtils]: 0: Hoare triple {88303#true} ~cond := #in~cond; {88303#true} is VALID [2022-04-15 07:04:17,683 INFO L290 TraceCheckUtils]: 1: Hoare triple {88303#true} assume !(0 == ~cond); {88303#true} is VALID [2022-04-15 07:04:17,683 INFO L290 TraceCheckUtils]: 2: Hoare triple {88303#true} assume true; {88303#true} is VALID [2022-04-15 07:04:17,683 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {88303#true} {88308#(<= 20 ~SIZE~0)} #86#return; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:17,683 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-15 07:04:17,684 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-15 07:04:17,684 INFO L290 TraceCheckUtils]: 2: Hoare triple {88308#(<= 20 ~SIZE~0)} assume true; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:17,684 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {88308#(<= 20 ~SIZE~0)} {88303#true} #90#return; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:17,684 INFO L272 TraceCheckUtils]: 4: Hoare triple {88308#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:17,684 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-15 07:04:17,685 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-15 07:04:17,685 INFO L290 TraceCheckUtils]: 7: Hoare triple {88303#true} ~cond := #in~cond; {88303#true} is VALID [2022-04-15 07:04:17,685 INFO L290 TraceCheckUtils]: 8: Hoare triple {88303#true} assume !(0 == ~cond); {88303#true} is VALID [2022-04-15 07:04:17,685 INFO L290 TraceCheckUtils]: 9: Hoare triple {88303#true} assume true; {88303#true} is VALID [2022-04-15 07:04:17,685 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {88303#true} {88308#(<= 20 ~SIZE~0)} #86#return; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:17,685 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-15 07:04:17,687 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-15 07:04:17,688 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-15 07:04:17,688 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-15 07:04:17,689 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-15 07:04:17,689 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-15 07:04:17,689 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-15 07:04:17,690 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-15 07:04:17,690 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-15 07:04:17,691 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-15 07:04:17,691 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-15 07:04:17,691 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-15 07:04:17,692 INFO L290 TraceCheckUtils]: 23: Hoare triple {88320#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {88304#false} is VALID [2022-04-15 07:04:17,692 INFO L290 TraceCheckUtils]: 24: Hoare triple {88304#false} assume !false; {88304#false} is VALID [2022-04-15 07:04:17,692 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-15 07:04:17,692 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:04:17,692 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2030614040] [2022-04-15 07:04:17,692 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2030614040] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:04:17,692 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [568690886] [2022-04-15 07:04:17,692 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:04:17,695 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:04:17,695 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:04:17,696 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-15 07:04:17,696 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-15 07:04:17,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:17,725 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:04:17,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:17,729 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:04:17,872 INFO L272 TraceCheckUtils]: 0: Hoare triple {88303#true} call ULTIMATE.init(); {88303#true} is VALID [2022-04-15 07:04:17,872 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-15 07:04:17,873 INFO L290 TraceCheckUtils]: 2: Hoare triple {88308#(<= 20 ~SIZE~0)} assume true; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:17,873 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {88308#(<= 20 ~SIZE~0)} {88303#true} #90#return; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:17,873 INFO L272 TraceCheckUtils]: 4: Hoare triple {88308#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:17,873 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-15 07:04:17,874 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-15 07:04:17,874 INFO L290 TraceCheckUtils]: 7: Hoare triple {88308#(<= 20 ~SIZE~0)} ~cond := #in~cond; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:17,874 INFO L290 TraceCheckUtils]: 8: Hoare triple {88308#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:17,874 INFO L290 TraceCheckUtils]: 9: Hoare triple {88308#(<= 20 ~SIZE~0)} assume true; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:17,874 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {88308#(<= 20 ~SIZE~0)} {88308#(<= 20 ~SIZE~0)} #86#return; {88308#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:17,874 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-15 07:04:17,875 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-15 07:04:17,875 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-15 07:04:17,876 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-15 07:04:17,876 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-15 07:04:17,877 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-15 07:04:17,877 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-15 07:04:17,877 INFO L290 TraceCheckUtils]: 18: Hoare triple {88304#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {88304#false} is VALID [2022-04-15 07:04:17,877 INFO L290 TraceCheckUtils]: 19: Hoare triple {88304#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {88304#false} is VALID [2022-04-15 07:04:17,877 INFO L290 TraceCheckUtils]: 20: Hoare triple {88304#false} assume !(~d~0 == ~SIZE~0); {88304#false} is VALID [2022-04-15 07:04:17,877 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-15 07:04:17,877 INFO L290 TraceCheckUtils]: 22: Hoare triple {88304#false} ~cond := #in~cond; {88304#false} is VALID [2022-04-15 07:04:17,877 INFO L290 TraceCheckUtils]: 23: Hoare triple {88304#false} assume 0 == ~cond; {88304#false} is VALID [2022-04-15 07:04:17,878 INFO L290 TraceCheckUtils]: 24: Hoare triple {88304#false} assume !false; {88304#false} is VALID [2022-04-15 07:04:17,878 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-15 07:04:17,878 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:04:18,041 INFO L290 TraceCheckUtils]: 24: Hoare triple {88304#false} assume !false; {88304#false} is VALID [2022-04-15 07:04:18,042 INFO L290 TraceCheckUtils]: 23: Hoare triple {88304#false} assume 0 == ~cond; {88304#false} is VALID [2022-04-15 07:04:18,042 INFO L290 TraceCheckUtils]: 22: Hoare triple {88304#false} ~cond := #in~cond; {88304#false} is VALID [2022-04-15 07:04:18,042 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-15 07:04:18,042 INFO L290 TraceCheckUtils]: 20: Hoare triple {88304#false} assume !(~d~0 == ~SIZE~0); {88304#false} is VALID [2022-04-15 07:04:18,042 INFO L290 TraceCheckUtils]: 19: Hoare triple {88304#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {88304#false} is VALID [2022-04-15 07:04:18,042 INFO L290 TraceCheckUtils]: 18: Hoare triple {88304#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {88304#false} is VALID [2022-04-15 07:04:18,042 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-15 07:04:18,043 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-15 07:04:18,043 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-15 07:04:18,043 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-15 07:04:18,044 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-15 07:04:18,044 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-15 07:04:18,044 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-15 07:04:18,045 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {88303#true} {88439#(< 1 ~SIZE~0)} #86#return; {88439#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:18,045 INFO L290 TraceCheckUtils]: 9: Hoare triple {88303#true} assume true; {88303#true} is VALID [2022-04-15 07:04:18,045 INFO L290 TraceCheckUtils]: 8: Hoare triple {88303#true} assume !(0 == ~cond); {88303#true} is VALID [2022-04-15 07:04:18,045 INFO L290 TraceCheckUtils]: 7: Hoare triple {88303#true} ~cond := #in~cond; {88303#true} is VALID [2022-04-15 07:04:18,045 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-15 07:04:18,045 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-15 07:04:18,045 INFO L272 TraceCheckUtils]: 4: Hoare triple {88439#(< 1 ~SIZE~0)} call #t~ret7 := main(); {88439#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:18,046 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {88439#(< 1 ~SIZE~0)} {88303#true} #90#return; {88439#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:18,046 INFO L290 TraceCheckUtils]: 2: Hoare triple {88439#(< 1 ~SIZE~0)} assume true; {88439#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:18,046 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-15 07:04:18,046 INFO L272 TraceCheckUtils]: 0: Hoare triple {88303#true} call ULTIMATE.init(); {88303#true} is VALID [2022-04-15 07:04:18,046 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-15 07:04:18,046 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [568690886] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:04:18,047 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:04:18,047 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:04:18,828 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:04:18,829 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2139770181] [2022-04-15 07:04:18,829 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2139770181] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:04:18,829 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:04:18,829 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-15 07:04:18,829 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [281839646] [2022-04-15 07:04:18,829 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:04:18,830 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-15 07:04:18,830 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:04:18,830 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-15 07:04:18,858 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-15 07:04:18,858 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-15 07:04:18,858 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:04:18,875 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-15 07:04:18,875 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=189, Invalid=1001, Unknown=0, NotChecked=0, Total=1190 [2022-04-15 07:04:18,876 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-15 07:04:21,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:04:21,225 INFO L93 Difference]: Finished difference Result 392 states and 471 transitions. [2022-04-15 07:04:21,226 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-15 07:04:21,226 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-15 07:04:21,226 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:04:21,226 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-15 07:04:21,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 103 transitions. [2022-04-15 07:04:21,227 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-15 07:04:21,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 103 transitions. [2022-04-15 07:04:21,227 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 103 transitions. [2022-04-15 07:04:21,274 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-15 07:04:21,277 INFO L225 Difference]: With dead ends: 392 [2022-04-15 07:04:21,277 INFO L226 Difference]: Without dead ends: 269 [2022-04-15 07:04:21,278 INFO L912 BasicCegarLoop]: 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-15 07:04:21,278 INFO L913 BasicCegarLoop]: 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.7s IncrementalHoareTripleChecker+Time [2022-04-15 07:04:21,278 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [45 Valid, 62 Invalid, 1190 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1180 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 07:04:21,278 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 269 states. [2022-04-15 07:04:21,885 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 269 to 226. [2022-04-15 07:04:21,885 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:04:21,886 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-15 07:04:21,886 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-15 07:04:21,886 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-15 07:04:21,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:04:21,889 INFO L93 Difference]: Finished difference Result 269 states and 317 transitions. [2022-04-15 07:04:21,889 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 317 transitions. [2022-04-15 07:04:21,889 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:04:21,889 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:04:21,890 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-15 07:04:21,890 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-15 07:04:21,893 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:04:21,893 INFO L93 Difference]: Finished difference Result 269 states and 317 transitions. [2022-04-15 07:04:21,893 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 317 transitions. [2022-04-15 07:04:21,893 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:04:21,893 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:04:21,893 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:04:21,893 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:04:21,894 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-15 07:04:21,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-15 07:04:21,896 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-15 07:04:21,896 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:04:21,897 INFO L478 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-15 07:04:21,897 INFO L479 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-15 07:04:21,897 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-15 07:04:22,947 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-15 07:04:22,948 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-15 07:04:22,948 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-15 07:04:22,948 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:04:22,948 INFO L499 BasicCegarLoop]: 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-15 07:04:22,966 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-15 07:04:23,164 WARN L460 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-15 07:04:23,164 INFO L403 AbstractCegarLoop]: === Iteration 69 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:04:23,165 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:04:23,165 INFO L85 PathProgramCache]: Analyzing trace with hash -66962018, now seen corresponding path program 57 times [2022-04-15 07:04:23,165 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:04:23,165 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1896392501] [2022-04-15 07:04:26,028 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:04:26,124 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-15 07:04:30,244 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:04:30,360 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-15 07:04:30,361 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:04:30,366 INFO L85 PathProgramCache]: Analyzing trace with hash 672822337, now seen corresponding path program 1 times [2022-04-15 07:04:30,367 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:04:30,367 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1594449093] [2022-04-15 07:04:30,367 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:04:30,367 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:04:30,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:30,522 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:04:30,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:30,527 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-15 07:04:30,527 INFO L290 TraceCheckUtils]: 1: Hoare triple {90278#(<= 20 ~SIZE~0)} assume true; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:30,527 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {90278#(<= 20 ~SIZE~0)} {90273#true} #90#return; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:30,527 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:04:30,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:30,529 INFO L290 TraceCheckUtils]: 0: Hoare triple {90273#true} ~cond := #in~cond; {90273#true} is VALID [2022-04-15 07:04:30,529 INFO L290 TraceCheckUtils]: 1: Hoare triple {90273#true} assume !(0 == ~cond); {90273#true} is VALID [2022-04-15 07:04:30,529 INFO L290 TraceCheckUtils]: 2: Hoare triple {90273#true} assume true; {90273#true} is VALID [2022-04-15 07:04:30,530 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {90273#true} {90278#(<= 20 ~SIZE~0)} #86#return; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:30,530 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-15 07:04:30,530 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-15 07:04:30,531 INFO L290 TraceCheckUtils]: 2: Hoare triple {90278#(<= 20 ~SIZE~0)} assume true; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:30,531 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {90278#(<= 20 ~SIZE~0)} {90273#true} #90#return; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:30,531 INFO L272 TraceCheckUtils]: 4: Hoare triple {90278#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:30,532 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-15 07:04:30,532 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-15 07:04:30,532 INFO L290 TraceCheckUtils]: 7: Hoare triple {90273#true} ~cond := #in~cond; {90273#true} is VALID [2022-04-15 07:04:30,532 INFO L290 TraceCheckUtils]: 8: Hoare triple {90273#true} assume !(0 == ~cond); {90273#true} is VALID [2022-04-15 07:04:30,532 INFO L290 TraceCheckUtils]: 9: Hoare triple {90273#true} assume true; {90273#true} is VALID [2022-04-15 07:04:30,532 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {90273#true} {90278#(<= 20 ~SIZE~0)} #86#return; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:30,533 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-15 07:04:30,533 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-15 07:04:30,534 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-15 07:04:30,534 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-15 07:04:30,535 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-15 07:04:30,535 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-15 07:04:30,536 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-15 07:04:30,537 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-15 07:04:30,537 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-15 07:04:30,537 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-15 07:04:30,538 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-15 07:04:30,538 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-15 07:04:30,539 INFO L290 TraceCheckUtils]: 23: Hoare triple {90290#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {90274#false} is VALID [2022-04-15 07:04:30,539 INFO L290 TraceCheckUtils]: 24: Hoare triple {90274#false} assume !false; {90274#false} is VALID [2022-04-15 07:04:30,539 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-15 07:04:30,539 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:04:30,539 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1594449093] [2022-04-15 07:04:30,539 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1594449093] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:04:30,539 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2116668496] [2022-04-15 07:04:30,539 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:04:30,539 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:04:30,540 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:04:30,540 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-15 07:04:30,541 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-15 07:04:30,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:30,574 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:04:30,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:30,582 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:04:30,825 INFO L272 TraceCheckUtils]: 0: Hoare triple {90273#true} call ULTIMATE.init(); {90273#true} is VALID [2022-04-15 07:04:30,826 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-15 07:04:30,826 INFO L290 TraceCheckUtils]: 2: Hoare triple {90278#(<= 20 ~SIZE~0)} assume true; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:30,827 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {90278#(<= 20 ~SIZE~0)} {90273#true} #90#return; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:30,827 INFO L272 TraceCheckUtils]: 4: Hoare triple {90278#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:30,827 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-15 07:04:30,828 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-15 07:04:30,828 INFO L290 TraceCheckUtils]: 7: Hoare triple {90278#(<= 20 ~SIZE~0)} ~cond := #in~cond; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:30,828 INFO L290 TraceCheckUtils]: 8: Hoare triple {90278#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:30,828 INFO L290 TraceCheckUtils]: 9: Hoare triple {90278#(<= 20 ~SIZE~0)} assume true; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:30,829 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {90278#(<= 20 ~SIZE~0)} {90278#(<= 20 ~SIZE~0)} #86#return; {90278#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:30,829 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-15 07:04:30,829 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-15 07:04:30,830 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-15 07:04:30,831 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-15 07:04:30,831 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-15 07:04:30,832 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-15 07:04:30,832 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-15 07:04:30,832 INFO L290 TraceCheckUtils]: 18: Hoare triple {90274#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {90274#false} is VALID [2022-04-15 07:04:30,833 INFO L290 TraceCheckUtils]: 19: Hoare triple {90274#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {90274#false} is VALID [2022-04-15 07:04:30,833 INFO L290 TraceCheckUtils]: 20: Hoare triple {90274#false} assume !(~d~0 == ~SIZE~0); {90274#false} is VALID [2022-04-15 07:04:30,833 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-15 07:04:30,833 INFO L290 TraceCheckUtils]: 22: Hoare triple {90274#false} ~cond := #in~cond; {90274#false} is VALID [2022-04-15 07:04:30,833 INFO L290 TraceCheckUtils]: 23: Hoare triple {90274#false} assume 0 == ~cond; {90274#false} is VALID [2022-04-15 07:04:30,833 INFO L290 TraceCheckUtils]: 24: Hoare triple {90274#false} assume !false; {90274#false} is VALID [2022-04-15 07:04:30,833 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-15 07:04:30,833 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:04:31,108 INFO L290 TraceCheckUtils]: 24: Hoare triple {90274#false} assume !false; {90274#false} is VALID [2022-04-15 07:04:31,108 INFO L290 TraceCheckUtils]: 23: Hoare triple {90274#false} assume 0 == ~cond; {90274#false} is VALID [2022-04-15 07:04:31,108 INFO L290 TraceCheckUtils]: 22: Hoare triple {90274#false} ~cond := #in~cond; {90274#false} is VALID [2022-04-15 07:04:31,108 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-15 07:04:31,108 INFO L290 TraceCheckUtils]: 20: Hoare triple {90274#false} assume !(~d~0 == ~SIZE~0); {90274#false} is VALID [2022-04-15 07:04:31,108 INFO L290 TraceCheckUtils]: 19: Hoare triple {90274#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {90274#false} is VALID [2022-04-15 07:04:31,109 INFO L290 TraceCheckUtils]: 18: Hoare triple {90274#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {90274#false} is VALID [2022-04-15 07:04:31,109 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-15 07:04:31,109 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-15 07:04:31,110 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-15 07:04:31,110 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-15 07:04:31,111 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-15 07:04:31,111 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-15 07:04:31,112 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-15 07:04:31,112 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {90273#true} {90409#(< 1 ~SIZE~0)} #86#return; {90409#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:31,112 INFO L290 TraceCheckUtils]: 9: Hoare triple {90273#true} assume true; {90273#true} is VALID [2022-04-15 07:04:31,112 INFO L290 TraceCheckUtils]: 8: Hoare triple {90273#true} assume !(0 == ~cond); {90273#true} is VALID [2022-04-15 07:04:31,112 INFO L290 TraceCheckUtils]: 7: Hoare triple {90273#true} ~cond := #in~cond; {90273#true} is VALID [2022-04-15 07:04:31,112 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-15 07:04:31,113 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-15 07:04:31,113 INFO L272 TraceCheckUtils]: 4: Hoare triple {90409#(< 1 ~SIZE~0)} call #t~ret7 := main(); {90409#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:31,113 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {90409#(< 1 ~SIZE~0)} {90273#true} #90#return; {90409#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:31,114 INFO L290 TraceCheckUtils]: 2: Hoare triple {90409#(< 1 ~SIZE~0)} assume true; {90409#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:31,114 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-15 07:04:31,114 INFO L272 TraceCheckUtils]: 0: Hoare triple {90273#true} call ULTIMATE.init(); {90273#true} is VALID [2022-04-15 07:04:31,114 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-15 07:04:31,114 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2116668496] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:04:31,114 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:04:31,115 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:04:32,239 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:04:32,239 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1896392501] [2022-04-15 07:04:32,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1896392501] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:04:32,239 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:04:32,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-15 07:04:32,239 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1301594730] [2022-04-15 07:04:32,239 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:04:32,240 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-15 07:04:32,240 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:04:32,240 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-15 07:04:32,282 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-15 07:04:32,282 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-15 07:04:32,282 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:04:32,282 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-15 07:04:32,283 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=203, Invalid=1057, Unknown=0, NotChecked=0, Total=1260 [2022-04-15 07:04:32,283 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-15 07:04:35,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:04:35,361 INFO L93 Difference]: Finished difference Result 395 states and 474 transitions. [2022-04-15 07:04:35,361 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-15 07:04:35,362 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-15 07:04:35,362 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:04:35,362 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-15 07:04:35,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 104 transitions. [2022-04-15 07:04:35,362 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-15 07:04:35,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 104 transitions. [2022-04-15 07:04:35,363 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 104 transitions. [2022-04-15 07:04:35,417 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-15 07:04:35,421 INFO L225 Difference]: With dead ends: 395 [2022-04-15 07:04:35,421 INFO L226 Difference]: Without dead ends: 272 [2022-04-15 07:04:35,421 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 48 SyntacticMatches, 20 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 663 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=215, Invalid=1191, Unknown=0, NotChecked=0, Total=1406 [2022-04-15 07:04:35,421 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 52 mSDsluCounter, 49 mSDsCounter, 0 mSdLazyCounter, 1320 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s 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.9s IncrementalHoareTripleChecker+Time [2022-04-15 07:04:35,421 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [53 Valid, 69 Invalid, 1331 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1320 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-15 07:04:35,422 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 272 states. [2022-04-15 07:04:36,019 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 272 to 226. [2022-04-15 07:04:36,019 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:04:36,020 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-15 07:04:36,020 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-15 07:04:36,020 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-15 07:04:36,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:04:36,023 INFO L93 Difference]: Finished difference Result 272 states and 320 transitions. [2022-04-15 07:04:36,023 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 320 transitions. [2022-04-15 07:04:36,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:04:36,023 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:04:36,023 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-15 07:04:36,024 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-15 07:04:36,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:04:36,026 INFO L93 Difference]: Finished difference Result 272 states and 320 transitions. [2022-04-15 07:04:36,026 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 320 transitions. [2022-04-15 07:04:36,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:04:36,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:04:36,027 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:04:36,027 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:04:36,027 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-15 07:04:36,029 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-15 07:04:36,030 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-15 07:04:36,030 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:04:36,030 INFO L478 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-15 07:04:36,030 INFO L479 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-15 07:04:36,030 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-15 07:04:37,197 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-15 07:04:37,197 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-15 07:04:37,197 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-15 07:04:37,198 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:04:37,198 INFO L499 BasicCegarLoop]: 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-15 07:04:37,214 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (62)] Forceful destruction successful, exit code 0 [2022-04-15 07:04:37,414 WARN L460 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-15 07:04:37,414 INFO L403 AbstractCegarLoop]: === Iteration 70 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:04:37,414 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:04:37,414 INFO L85 PathProgramCache]: Analyzing trace with hash -1096321316, now seen corresponding path program 58 times [2022-04-15 07:04:37,414 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:04:37,414 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [723181426] [2022-04-15 07:04:41,547 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:04:41,667 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-15 07:04:41,840 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-15 07:04:41,841 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:04:41,844 INFO L85 PathProgramCache]: Analyzing trace with hash -1129622207, now seen corresponding path program 1 times [2022-04-15 07:04:41,844 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:04:41,844 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [145206404] [2022-04-15 07:04:41,844 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:04:41,844 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:04:41,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:42,033 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:04:42,034 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:42,037 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-15 07:04:42,038 INFO L290 TraceCheckUtils]: 1: Hoare triple {92261#(<= 20 ~SIZE~0)} assume true; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:42,038 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {92261#(<= 20 ~SIZE~0)} {92256#true} #90#return; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:42,038 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:04:42,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:42,040 INFO L290 TraceCheckUtils]: 0: Hoare triple {92256#true} ~cond := #in~cond; {92256#true} is VALID [2022-04-15 07:04:42,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {92256#true} assume !(0 == ~cond); {92256#true} is VALID [2022-04-15 07:04:42,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {92256#true} assume true; {92256#true} is VALID [2022-04-15 07:04:42,040 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {92256#true} {92261#(<= 20 ~SIZE~0)} #86#return; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:42,041 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-15 07:04:42,041 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-15 07:04:42,041 INFO L290 TraceCheckUtils]: 2: Hoare triple {92261#(<= 20 ~SIZE~0)} assume true; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:42,042 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {92261#(<= 20 ~SIZE~0)} {92256#true} #90#return; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:42,042 INFO L272 TraceCheckUtils]: 4: Hoare triple {92261#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:42,042 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-15 07:04:42,042 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-15 07:04:42,042 INFO L290 TraceCheckUtils]: 7: Hoare triple {92256#true} ~cond := #in~cond; {92256#true} is VALID [2022-04-15 07:04:42,043 INFO L290 TraceCheckUtils]: 8: Hoare triple {92256#true} assume !(0 == ~cond); {92256#true} is VALID [2022-04-15 07:04:42,043 INFO L290 TraceCheckUtils]: 9: Hoare triple {92256#true} assume true; {92256#true} is VALID [2022-04-15 07:04:42,043 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {92256#true} {92261#(<= 20 ~SIZE~0)} #86#return; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:42,043 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-15 07:04:42,044 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-15 07:04:42,044 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-15 07:04:42,045 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-15 07:04:42,046 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-15 07:04:42,046 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-15 07:04:42,047 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-15 07:04:42,047 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-15 07:04:42,048 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-15 07:04:42,048 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-15 07:04:42,049 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-15 07:04:42,049 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-15 07:04:42,049 INFO L290 TraceCheckUtils]: 23: Hoare triple {92273#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {92257#false} is VALID [2022-04-15 07:04:42,050 INFO L290 TraceCheckUtils]: 24: Hoare triple {92257#false} assume !false; {92257#false} is VALID [2022-04-15 07:04:42,050 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-15 07:04:42,050 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:04:42,050 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [145206404] [2022-04-15 07:04:42,050 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [145206404] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:04:42,050 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [236906217] [2022-04-15 07:04:42,050 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:04:42,050 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:04:42,050 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:04:42,064 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-15 07:04:42,065 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-15 07:04:42,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:42,093 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:04:42,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:42,100 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:04:42,346 INFO L272 TraceCheckUtils]: 0: Hoare triple {92256#true} call ULTIMATE.init(); {92256#true} is VALID [2022-04-15 07:04:42,346 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-15 07:04:42,347 INFO L290 TraceCheckUtils]: 2: Hoare triple {92261#(<= 20 ~SIZE~0)} assume true; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:42,347 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {92261#(<= 20 ~SIZE~0)} {92256#true} #90#return; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:42,347 INFO L272 TraceCheckUtils]: 4: Hoare triple {92261#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:42,348 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-15 07:04:42,348 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-15 07:04:42,348 INFO L290 TraceCheckUtils]: 7: Hoare triple {92261#(<= 20 ~SIZE~0)} ~cond := #in~cond; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:42,349 INFO L290 TraceCheckUtils]: 8: Hoare triple {92261#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:42,349 INFO L290 TraceCheckUtils]: 9: Hoare triple {92261#(<= 20 ~SIZE~0)} assume true; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:42,349 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {92261#(<= 20 ~SIZE~0)} {92261#(<= 20 ~SIZE~0)} #86#return; {92261#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:42,350 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-15 07:04:42,350 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-15 07:04:42,351 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-15 07:04:42,351 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-15 07:04:42,352 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-15 07:04:42,352 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-15 07:04:42,353 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-15 07:04:42,353 INFO L290 TraceCheckUtils]: 18: Hoare triple {92257#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {92257#false} is VALID [2022-04-15 07:04:42,353 INFO L290 TraceCheckUtils]: 19: Hoare triple {92257#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {92257#false} is VALID [2022-04-15 07:04:42,353 INFO L290 TraceCheckUtils]: 20: Hoare triple {92257#false} assume !(~d~0 == ~SIZE~0); {92257#false} is VALID [2022-04-15 07:04:42,353 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-15 07:04:42,353 INFO L290 TraceCheckUtils]: 22: Hoare triple {92257#false} ~cond := #in~cond; {92257#false} is VALID [2022-04-15 07:04:42,353 INFO L290 TraceCheckUtils]: 23: Hoare triple {92257#false} assume 0 == ~cond; {92257#false} is VALID [2022-04-15 07:04:42,354 INFO L290 TraceCheckUtils]: 24: Hoare triple {92257#false} assume !false; {92257#false} is VALID [2022-04-15 07:04:42,354 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-15 07:04:42,354 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:04:42,613 INFO L290 TraceCheckUtils]: 24: Hoare triple {92257#false} assume !false; {92257#false} is VALID [2022-04-15 07:04:42,613 INFO L290 TraceCheckUtils]: 23: Hoare triple {92257#false} assume 0 == ~cond; {92257#false} is VALID [2022-04-15 07:04:42,613 INFO L290 TraceCheckUtils]: 22: Hoare triple {92257#false} ~cond := #in~cond; {92257#false} is VALID [2022-04-15 07:04:42,613 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-15 07:04:42,613 INFO L290 TraceCheckUtils]: 20: Hoare triple {92257#false} assume !(~d~0 == ~SIZE~0); {92257#false} is VALID [2022-04-15 07:04:42,613 INFO L290 TraceCheckUtils]: 19: Hoare triple {92257#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {92257#false} is VALID [2022-04-15 07:04:42,613 INFO L290 TraceCheckUtils]: 18: Hoare triple {92257#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {92257#false} is VALID [2022-04-15 07:04:42,614 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-15 07:04:42,614 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-15 07:04:42,614 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-15 07:04:42,615 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-15 07:04:42,615 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-15 07:04:42,616 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-15 07:04:42,616 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-15 07:04:42,616 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {92256#true} {92392#(< 1 ~SIZE~0)} #86#return; {92392#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:42,616 INFO L290 TraceCheckUtils]: 9: Hoare triple {92256#true} assume true; {92256#true} is VALID [2022-04-15 07:04:42,616 INFO L290 TraceCheckUtils]: 8: Hoare triple {92256#true} assume !(0 == ~cond); {92256#true} is VALID [2022-04-15 07:04:42,616 INFO L290 TraceCheckUtils]: 7: Hoare triple {92256#true} ~cond := #in~cond; {92256#true} is VALID [2022-04-15 07:04:42,617 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-15 07:04:42,617 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-15 07:04:42,617 INFO L272 TraceCheckUtils]: 4: Hoare triple {92392#(< 1 ~SIZE~0)} call #t~ret7 := main(); {92392#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:42,617 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {92392#(< 1 ~SIZE~0)} {92256#true} #90#return; {92392#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:42,617 INFO L290 TraceCheckUtils]: 2: Hoare triple {92392#(< 1 ~SIZE~0)} assume true; {92392#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:42,618 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-15 07:04:42,618 INFO L272 TraceCheckUtils]: 0: Hoare triple {92256#true} call ULTIMATE.init(); {92256#true} is VALID [2022-04-15 07:04:42,618 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-15 07:04:42,618 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [236906217] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:04:42,618 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:04:42,618 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:04:43,514 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:04:43,514 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [723181426] [2022-04-15 07:04:43,514 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [723181426] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:04:43,514 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:04:43,514 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [28] imperfect sequences [] total 28 [2022-04-15 07:04:43,514 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1424952822] [2022-04-15 07:04:43,514 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:04:43,515 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-15 07:04:43,515 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:04:43,515 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-15 07:04:43,545 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-15 07:04:43,545 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-15 07:04:43,545 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:04:43,545 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-15 07:04:43,546 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=217, Invalid=1115, Unknown=0, NotChecked=0, Total=1332 [2022-04-15 07:04:43,546 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-15 07:04:46,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:04:46,113 INFO L93 Difference]: Finished difference Result 392 states and 471 transitions. [2022-04-15 07:04:46,113 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-15 07:04:46,114 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-15 07:04:46,114 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:04:46,114 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-15 07:04:46,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 105 transitions. [2022-04-15 07:04:46,114 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-15 07:04:46,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 105 transitions. [2022-04-15 07:04:46,115 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 105 transitions. [2022-04-15 07:04:46,162 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-15 07:04:46,165 INFO L225 Difference]: With dead ends: 392 [2022-04-15 07:04:46,165 INFO L226 Difference]: Without dead ends: 269 [2022-04-15 07:04:46,165 INFO L912 BasicCegarLoop]: 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-15 07:04:46,165 INFO L913 BasicCegarLoop]: 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-15 07:04:46,165 INFO L914 BasicCegarLoop]: 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-15 07:04:46,166 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 269 states. [2022-04-15 07:04:46,786 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 269 to 226. [2022-04-15 07:04:46,786 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:04:46,787 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-15 07:04:46,787 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-15 07:04:46,787 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-15 07:04:46,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:04:46,790 INFO L93 Difference]: Finished difference Result 269 states and 317 transitions. [2022-04-15 07:04:46,790 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 317 transitions. [2022-04-15 07:04:46,790 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:04:46,790 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:04:46,790 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-15 07:04:46,790 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-15 07:04:46,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:04:46,793 INFO L93 Difference]: Finished difference Result 269 states and 317 transitions. [2022-04-15 07:04:46,793 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 317 transitions. [2022-04-15 07:04:46,794 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:04:46,794 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:04:46,794 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:04:46,794 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:04:46,794 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-15 07:04:46,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-15 07:04:46,797 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-15 07:04:46,797 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:04:46,797 INFO L478 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-15 07:04:46,797 INFO L479 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-15 07:04:46,797 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-15 07:04:47,990 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-15 07:04:47,990 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-15 07:04:47,990 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-15 07:04:47,991 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:04:47,991 INFO L499 BasicCegarLoop]: 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-15 07:04:48,008 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-15 07:04:48,204 WARN L460 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-15 07:04:48,204 INFO L403 AbstractCegarLoop]: === Iteration 71 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:04:48,204 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:04:48,204 INFO L85 PathProgramCache]: Analyzing trace with hash -1940326818, now seen corresponding path program 59 times [2022-04-15 07:04:48,204 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:04:48,204 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [929949604] [2022-04-15 07:04:52,310 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:04:52,439 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-15 07:04:56,582 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:04:56,693 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-15 07:04:56,695 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:04:56,697 INFO L85 PathProgramCache]: Analyzing trace with hash 1362900545, now seen corresponding path program 1 times [2022-04-15 07:04:56,697 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:04:56,697 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1312179346] [2022-04-15 07:04:56,698 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:04:56,698 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:04:56,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:56,851 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:04:56,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:56,855 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-15 07:04:56,856 INFO L290 TraceCheckUtils]: 1: Hoare triple {94233#(<= 20 ~SIZE~0)} assume true; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:56,856 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {94233#(<= 20 ~SIZE~0)} {94228#true} #90#return; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:56,856 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:04:56,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:56,858 INFO L290 TraceCheckUtils]: 0: Hoare triple {94228#true} ~cond := #in~cond; {94228#true} is VALID [2022-04-15 07:04:56,858 INFO L290 TraceCheckUtils]: 1: Hoare triple {94228#true} assume !(0 == ~cond); {94228#true} is VALID [2022-04-15 07:04:56,858 INFO L290 TraceCheckUtils]: 2: Hoare triple {94228#true} assume true; {94228#true} is VALID [2022-04-15 07:04:56,858 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {94228#true} {94233#(<= 20 ~SIZE~0)} #86#return; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:56,859 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-15 07:04:56,859 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-15 07:04:56,859 INFO L290 TraceCheckUtils]: 2: Hoare triple {94233#(<= 20 ~SIZE~0)} assume true; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:56,860 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {94233#(<= 20 ~SIZE~0)} {94228#true} #90#return; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:56,860 INFO L272 TraceCheckUtils]: 4: Hoare triple {94233#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:56,860 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-15 07:04:56,860 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-15 07:04:56,860 INFO L290 TraceCheckUtils]: 7: Hoare triple {94228#true} ~cond := #in~cond; {94228#true} is VALID [2022-04-15 07:04:56,861 INFO L290 TraceCheckUtils]: 8: Hoare triple {94228#true} assume !(0 == ~cond); {94228#true} is VALID [2022-04-15 07:04:56,861 INFO L290 TraceCheckUtils]: 9: Hoare triple {94228#true} assume true; {94228#true} is VALID [2022-04-15 07:04:56,861 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {94228#true} {94233#(<= 20 ~SIZE~0)} #86#return; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:56,861 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-15 07:04:56,862 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-15 07:04:56,862 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-15 07:04:56,863 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-15 07:04:56,864 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-15 07:04:56,864 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-15 07:04:56,865 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-15 07:04:56,865 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-15 07:04:56,866 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-15 07:04:56,866 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-15 07:04:56,867 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-15 07:04:56,867 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-15 07:04:56,867 INFO L290 TraceCheckUtils]: 23: Hoare triple {94245#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {94229#false} is VALID [2022-04-15 07:04:56,867 INFO L290 TraceCheckUtils]: 24: Hoare triple {94229#false} assume !false; {94229#false} is VALID [2022-04-15 07:04:56,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-15 07:04:56,868 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:04:56,868 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1312179346] [2022-04-15 07:04:56,868 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1312179346] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:04:56,868 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1545905265] [2022-04-15 07:04:56,868 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:04:56,868 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:04:56,868 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:04:56,869 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-15 07:04:56,870 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-15 07:04:56,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:56,901 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:04:56,908 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:04:56,908 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:04:57,106 INFO L272 TraceCheckUtils]: 0: Hoare triple {94228#true} call ULTIMATE.init(); {94228#true} is VALID [2022-04-15 07:04:57,106 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-15 07:04:57,107 INFO L290 TraceCheckUtils]: 2: Hoare triple {94233#(<= 20 ~SIZE~0)} assume true; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:57,107 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {94233#(<= 20 ~SIZE~0)} {94228#true} #90#return; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:57,107 INFO L272 TraceCheckUtils]: 4: Hoare triple {94233#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:57,107 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-15 07:04:57,108 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-15 07:04:57,108 INFO L290 TraceCheckUtils]: 7: Hoare triple {94233#(<= 20 ~SIZE~0)} ~cond := #in~cond; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:57,108 INFO L290 TraceCheckUtils]: 8: Hoare triple {94233#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:57,108 INFO L290 TraceCheckUtils]: 9: Hoare triple {94233#(<= 20 ~SIZE~0)} assume true; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:57,109 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {94233#(<= 20 ~SIZE~0)} {94233#(<= 20 ~SIZE~0)} #86#return; {94233#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:04:57,109 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-15 07:04:57,109 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-15 07:04:57,110 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-15 07:04:57,111 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-15 07:04:57,111 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-15 07:04:57,112 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-15 07:04:57,112 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-15 07:04:57,113 INFO L290 TraceCheckUtils]: 18: Hoare triple {94229#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {94229#false} is VALID [2022-04-15 07:04:57,113 INFO L290 TraceCheckUtils]: 19: Hoare triple {94229#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {94229#false} is VALID [2022-04-15 07:04:57,113 INFO L290 TraceCheckUtils]: 20: Hoare triple {94229#false} assume !(~d~0 == ~SIZE~0); {94229#false} is VALID [2022-04-15 07:04:57,113 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-15 07:04:57,113 INFO L290 TraceCheckUtils]: 22: Hoare triple {94229#false} ~cond := #in~cond; {94229#false} is VALID [2022-04-15 07:04:57,113 INFO L290 TraceCheckUtils]: 23: Hoare triple {94229#false} assume 0 == ~cond; {94229#false} is VALID [2022-04-15 07:04:57,113 INFO L290 TraceCheckUtils]: 24: Hoare triple {94229#false} assume !false; {94229#false} is VALID [2022-04-15 07:04:57,113 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-15 07:04:57,113 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:04:57,369 INFO L290 TraceCheckUtils]: 24: Hoare triple {94229#false} assume !false; {94229#false} is VALID [2022-04-15 07:04:57,369 INFO L290 TraceCheckUtils]: 23: Hoare triple {94229#false} assume 0 == ~cond; {94229#false} is VALID [2022-04-15 07:04:57,369 INFO L290 TraceCheckUtils]: 22: Hoare triple {94229#false} ~cond := #in~cond; {94229#false} is VALID [2022-04-15 07:04:57,369 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-15 07:04:57,369 INFO L290 TraceCheckUtils]: 20: Hoare triple {94229#false} assume !(~d~0 == ~SIZE~0); {94229#false} is VALID [2022-04-15 07:04:57,369 INFO L290 TraceCheckUtils]: 19: Hoare triple {94229#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {94229#false} is VALID [2022-04-15 07:04:57,369 INFO L290 TraceCheckUtils]: 18: Hoare triple {94229#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {94229#false} is VALID [2022-04-15 07:04:57,370 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-15 07:04:57,370 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-15 07:04:57,371 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-15 07:04:57,371 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-15 07:04:57,372 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-15 07:04:57,372 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-15 07:04:57,373 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-15 07:04:57,373 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {94228#true} {94364#(< 1 ~SIZE~0)} #86#return; {94364#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:57,373 INFO L290 TraceCheckUtils]: 9: Hoare triple {94228#true} assume true; {94228#true} is VALID [2022-04-15 07:04:57,373 INFO L290 TraceCheckUtils]: 8: Hoare triple {94228#true} assume !(0 == ~cond); {94228#true} is VALID [2022-04-15 07:04:57,373 INFO L290 TraceCheckUtils]: 7: Hoare triple {94228#true} ~cond := #in~cond; {94228#true} is VALID [2022-04-15 07:04:57,373 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-15 07:04:57,374 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-15 07:04:57,374 INFO L272 TraceCheckUtils]: 4: Hoare triple {94364#(< 1 ~SIZE~0)} call #t~ret7 := main(); {94364#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:57,374 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {94364#(< 1 ~SIZE~0)} {94228#true} #90#return; {94364#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:57,375 INFO L290 TraceCheckUtils]: 2: Hoare triple {94364#(< 1 ~SIZE~0)} assume true; {94364#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:04:57,375 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-15 07:04:57,375 INFO L272 TraceCheckUtils]: 0: Hoare triple {94228#true} call ULTIMATE.init(); {94228#true} is VALID [2022-04-15 07:04:57,375 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-15 07:04:57,375 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1545905265] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:04:57,375 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:04:57,376 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:04:58,538 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:04:58,538 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [929949604] [2022-04-15 07:04:58,538 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [929949604] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:04:58,538 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:04:58,538 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-15 07:04:58,538 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1963593496] [2022-04-15 07:04:58,538 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:04:58,539 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-15 07:04:58,539 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:04:58,539 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-15 07:04:58,572 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-15 07:04:58,572 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-15 07:04:58,572 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:04:58,572 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-15 07:04:58,572 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=231, Invalid=1175, Unknown=0, NotChecked=0, Total=1406 [2022-04-15 07:04:58,573 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-15 07:05:01,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:05:01,031 INFO L93 Difference]: Finished difference Result 389 states and 468 transitions. [2022-04-15 07:05:01,031 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-15 07:05:01,032 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-15 07:05:01,032 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:05:01,032 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-15 07:05:01,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 106 transitions. [2022-04-15 07:05:01,032 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-15 07:05:01,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 106 transitions. [2022-04-15 07:05:01,033 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 106 transitions. [2022-04-15 07:05:01,091 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-15 07:05:01,095 INFO L225 Difference]: With dead ends: 389 [2022-04-15 07:05:01,095 INFO L226 Difference]: Without dead ends: 266 [2022-04-15 07:05:01,095 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 48 SyntacticMatches, 18 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 754 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=243, Invalid=1317, Unknown=0, NotChecked=0, Total=1560 [2022-04-15 07:05:01,095 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 47 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 1435 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-15 07:05:01,095 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [48 Valid, 74 Invalid, 1445 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1435 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 07:05:01,095 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 266 states. [2022-04-15 07:05:01,716 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 266 to 226. [2022-04-15 07:05:01,716 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:05:01,716 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-15 07:05:01,717 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-15 07:05:01,717 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-15 07:05:01,720 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:05:01,720 INFO L93 Difference]: Finished difference Result 266 states and 314 transitions. [2022-04-15 07:05:01,720 INFO L276 IsEmpty]: Start isEmpty. Operand 266 states and 314 transitions. [2022-04-15 07:05:01,720 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:05:01,720 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:05:01,720 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-15 07:05:01,720 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-15 07:05:01,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:05:01,723 INFO L93 Difference]: Finished difference Result 266 states and 314 transitions. [2022-04-15 07:05:01,723 INFO L276 IsEmpty]: Start isEmpty. Operand 266 states and 314 transitions. [2022-04-15 07:05:01,723 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:05:01,723 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:05:01,723 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:05:01,723 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:05:01,723 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-15 07:05:01,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-15 07:05:01,726 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-15 07:05:01,726 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:05:01,726 INFO L478 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-15 07:05:01,726 INFO L479 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-15 07:05:01,726 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-15 07:05:02,972 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-15 07:05:02,972 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-15 07:05:02,972 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-15 07:05:02,972 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:05:02,972 INFO L499 BasicCegarLoop]: 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-15 07:05:02,988 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (64)] Ended with exit code 0 [2022-04-15 07:05:03,186 WARN L460 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-15 07:05:03,186 INFO L403 AbstractCegarLoop]: === Iteration 72 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:05:03,186 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:05:03,186 INFO L85 PathProgramCache]: Analyzing trace with hash -1665567204, now seen corresponding path program 60 times [2022-04-15 07:05:03,186 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:05:03,186 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1765260807] [2022-04-15 07:05:06,219 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:05:06,340 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-15 07:05:08,952 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:05:09,088 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-15 07:05:09,089 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:05:09,093 INFO L85 PathProgramCache]: Analyzing trace with hash -439543999, now seen corresponding path program 1 times [2022-04-15 07:05:09,093 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:05:09,093 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1471928485] [2022-04-15 07:05:09,093 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:05:09,093 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:05:09,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:09,301 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:05:09,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:09,306 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-15 07:05:09,306 INFO L290 TraceCheckUtils]: 1: Hoare triple {96194#(<= 20 ~SIZE~0)} assume true; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:09,307 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {96194#(<= 20 ~SIZE~0)} {96189#true} #90#return; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:09,307 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:05:09,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:09,309 INFO L290 TraceCheckUtils]: 0: Hoare triple {96189#true} ~cond := #in~cond; {96189#true} is VALID [2022-04-15 07:05:09,309 INFO L290 TraceCheckUtils]: 1: Hoare triple {96189#true} assume !(0 == ~cond); {96189#true} is VALID [2022-04-15 07:05:09,309 INFO L290 TraceCheckUtils]: 2: Hoare triple {96189#true} assume true; {96189#true} is VALID [2022-04-15 07:05:09,309 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {96189#true} {96194#(<= 20 ~SIZE~0)} #86#return; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:09,310 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-15 07:05:09,310 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-15 07:05:09,310 INFO L290 TraceCheckUtils]: 2: Hoare triple {96194#(<= 20 ~SIZE~0)} assume true; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:09,311 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {96194#(<= 20 ~SIZE~0)} {96189#true} #90#return; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:09,311 INFO L272 TraceCheckUtils]: 4: Hoare triple {96194#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:09,311 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-15 07:05:09,311 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-15 07:05:09,311 INFO L290 TraceCheckUtils]: 7: Hoare triple {96189#true} ~cond := #in~cond; {96189#true} is VALID [2022-04-15 07:05:09,312 INFO L290 TraceCheckUtils]: 8: Hoare triple {96189#true} assume !(0 == ~cond); {96189#true} is VALID [2022-04-15 07:05:09,312 INFO L290 TraceCheckUtils]: 9: Hoare triple {96189#true} assume true; {96189#true} is VALID [2022-04-15 07:05:09,312 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {96189#true} {96194#(<= 20 ~SIZE~0)} #86#return; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:09,312 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-15 07:05:09,313 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-15 07:05:09,313 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-15 07:05:09,314 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-15 07:05:09,315 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-15 07:05:09,315 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-15 07:05:09,316 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-15 07:05:09,316 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-15 07:05:09,317 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-15 07:05:09,317 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-15 07:05:09,318 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-15 07:05:09,318 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-15 07:05:09,318 INFO L290 TraceCheckUtils]: 23: Hoare triple {96206#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {96190#false} is VALID [2022-04-15 07:05:09,318 INFO L290 TraceCheckUtils]: 24: Hoare triple {96190#false} assume !false; {96190#false} is VALID [2022-04-15 07:05:09,319 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-15 07:05:09,319 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:05:09,319 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1471928485] [2022-04-15 07:05:09,319 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1471928485] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:05:09,319 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [382130254] [2022-04-15 07:05:09,319 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:05:09,319 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:05:09,319 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:05:09,320 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-15 07:05:09,321 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-15 07:05:09,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:09,353 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:05:09,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:09,360 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:05:09,599 INFO L272 TraceCheckUtils]: 0: Hoare triple {96189#true} call ULTIMATE.init(); {96189#true} is VALID [2022-04-15 07:05:09,600 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-15 07:05:09,600 INFO L290 TraceCheckUtils]: 2: Hoare triple {96194#(<= 20 ~SIZE~0)} assume true; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:09,601 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {96194#(<= 20 ~SIZE~0)} {96189#true} #90#return; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:09,601 INFO L272 TraceCheckUtils]: 4: Hoare triple {96194#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:09,601 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-15 07:05:09,602 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-15 07:05:09,602 INFO L290 TraceCheckUtils]: 7: Hoare triple {96194#(<= 20 ~SIZE~0)} ~cond := #in~cond; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:09,602 INFO L290 TraceCheckUtils]: 8: Hoare triple {96194#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:09,602 INFO L290 TraceCheckUtils]: 9: Hoare triple {96194#(<= 20 ~SIZE~0)} assume true; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:09,603 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {96194#(<= 20 ~SIZE~0)} {96194#(<= 20 ~SIZE~0)} #86#return; {96194#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:09,603 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-15 07:05:09,603 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-15 07:05:09,604 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-15 07:05:09,605 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-15 07:05:09,605 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-15 07:05:09,606 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-15 07:05:09,606 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-15 07:05:09,606 INFO L290 TraceCheckUtils]: 18: Hoare triple {96190#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {96190#false} is VALID [2022-04-15 07:05:09,606 INFO L290 TraceCheckUtils]: 19: Hoare triple {96190#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {96190#false} is VALID [2022-04-15 07:05:09,606 INFO L290 TraceCheckUtils]: 20: Hoare triple {96190#false} assume !(~d~0 == ~SIZE~0); {96190#false} is VALID [2022-04-15 07:05:09,607 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-15 07:05:09,607 INFO L290 TraceCheckUtils]: 22: Hoare triple {96190#false} ~cond := #in~cond; {96190#false} is VALID [2022-04-15 07:05:09,607 INFO L290 TraceCheckUtils]: 23: Hoare triple {96190#false} assume 0 == ~cond; {96190#false} is VALID [2022-04-15 07:05:09,607 INFO L290 TraceCheckUtils]: 24: Hoare triple {96190#false} assume !false; {96190#false} is VALID [2022-04-15 07:05:09,607 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-15 07:05:09,607 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:05:09,819 INFO L290 TraceCheckUtils]: 24: Hoare triple {96190#false} assume !false; {96190#false} is VALID [2022-04-15 07:05:09,820 INFO L290 TraceCheckUtils]: 23: Hoare triple {96190#false} assume 0 == ~cond; {96190#false} is VALID [2022-04-15 07:05:09,820 INFO L290 TraceCheckUtils]: 22: Hoare triple {96190#false} ~cond := #in~cond; {96190#false} is VALID [2022-04-15 07:05:09,820 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-15 07:05:09,820 INFO L290 TraceCheckUtils]: 20: Hoare triple {96190#false} assume !(~d~0 == ~SIZE~0); {96190#false} is VALID [2022-04-15 07:05:09,820 INFO L290 TraceCheckUtils]: 19: Hoare triple {96190#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {96190#false} is VALID [2022-04-15 07:05:09,820 INFO L290 TraceCheckUtils]: 18: Hoare triple {96190#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {96190#false} is VALID [2022-04-15 07:05:09,820 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-15 07:05:09,821 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-15 07:05:09,821 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-15 07:05:09,821 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-15 07:05:09,825 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-15 07:05:09,825 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-15 07:05:09,825 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-15 07:05:09,825 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {96189#true} {96325#(< 1 ~SIZE~0)} #86#return; {96325#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:09,825 INFO L290 TraceCheckUtils]: 9: Hoare triple {96189#true} assume true; {96189#true} is VALID [2022-04-15 07:05:09,826 INFO L290 TraceCheckUtils]: 8: Hoare triple {96189#true} assume !(0 == ~cond); {96189#true} is VALID [2022-04-15 07:05:09,826 INFO L290 TraceCheckUtils]: 7: Hoare triple {96189#true} ~cond := #in~cond; {96189#true} is VALID [2022-04-15 07:05:09,826 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-15 07:05:09,826 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-15 07:05:09,826 INFO L272 TraceCheckUtils]: 4: Hoare triple {96325#(< 1 ~SIZE~0)} call #t~ret7 := main(); {96325#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:09,826 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {96325#(< 1 ~SIZE~0)} {96189#true} #90#return; {96325#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:09,826 INFO L290 TraceCheckUtils]: 2: Hoare triple {96325#(< 1 ~SIZE~0)} assume true; {96325#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:09,827 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-15 07:05:09,827 INFO L272 TraceCheckUtils]: 0: Hoare triple {96189#true} call ULTIMATE.init(); {96189#true} is VALID [2022-04-15 07:05:09,827 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-15 07:05:09,828 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [382130254] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:05:09,828 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:05:09,828 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:05:10,625 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:05:10,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1765260807] [2022-04-15 07:05:10,626 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1765260807] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:05:10,626 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:05:10,626 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [30] imperfect sequences [] total 30 [2022-04-15 07:05:10,626 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1507787222] [2022-04-15 07:05:10,626 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:05:10,626 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-15 07:05:10,626 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:05:10,626 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-15 07:05:10,655 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-15 07:05:10,655 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-15 07:05:10,655 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:05:10,655 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-15 07:05:10,655 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=245, Invalid=1237, Unknown=0, NotChecked=0, Total=1482 [2022-04-15 07:05:10,655 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-15 07:05:13,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:05:13,081 INFO L93 Difference]: Finished difference Result 386 states and 465 transitions. [2022-04-15 07:05:13,082 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-15 07:05:13,082 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-15 07:05:13,082 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:05:13,082 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-15 07:05:13,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 107 transitions. [2022-04-15 07:05:13,083 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-15 07:05:13,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 107 transitions. [2022-04-15 07:05:13,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 107 transitions. [2022-04-15 07:05:13,141 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-15 07:05:13,144 INFO L225 Difference]: With dead ends: 386 [2022-04-15 07:05:13,144 INFO L226 Difference]: Without dead ends: 263 [2022-04-15 07:05:13,146 INFO L912 BasicCegarLoop]: 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-15 07:05:13,146 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 50 mSDsluCounter, 48 mSDsCounter, 0 mSdLazyCounter, 1392 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-15 07:05:13,146 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [51 Valid, 68 Invalid, 1402 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1392 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 07:05:13,147 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 263 states. [2022-04-15 07:05:13,961 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 263 to 226. [2022-04-15 07:05:13,961 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:05:13,962 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-15 07:05:13,962 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-15 07:05:13,962 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-15 07:05:13,965 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:05:13,965 INFO L93 Difference]: Finished difference Result 263 states and 311 transitions. [2022-04-15 07:05:13,965 INFO L276 IsEmpty]: Start isEmpty. Operand 263 states and 311 transitions. [2022-04-15 07:05:13,965 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:05:13,965 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:05:13,965 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-15 07:05:13,966 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-15 07:05:13,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:05:13,968 INFO L93 Difference]: Finished difference Result 263 states and 311 transitions. [2022-04-15 07:05:13,968 INFO L276 IsEmpty]: Start isEmpty. Operand 263 states and 311 transitions. [2022-04-15 07:05:13,969 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:05:13,969 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:05:13,969 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:05:13,969 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:05:13,969 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-15 07:05:13,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-15 07:05:13,972 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-15 07:05:13,972 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:05:13,972 INFO L478 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-15 07:05:13,972 INFO L479 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-15 07:05:13,972 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-15 07:05:15,213 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-15 07:05:15,213 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-15 07:05:15,213 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-15 07:05:15,214 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:05:15,214 INFO L499 BasicCegarLoop]: 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-15 07:05:15,230 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-15 07:05:15,423 WARN L460 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-15 07:05:15,423 INFO L403 AbstractCegarLoop]: === Iteration 73 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:05:15,424 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:05:15,424 INFO L85 PathProgramCache]: Analyzing trace with hash -279363810, now seen corresponding path program 61 times [2022-04-15 07:05:15,424 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:05:15,424 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1347610158] [2022-04-15 07:05:15,645 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-15 07:05:15,819 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-15 07:05:15,820 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:05:15,822 INFO L85 PathProgramCache]: Analyzing trace with hash 2052978753, now seen corresponding path program 1 times [2022-04-15 07:05:15,822 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:05:15,822 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1373484042] [2022-04-15 07:05:15,822 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:05:15,822 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:05:15,828 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:16,014 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:05:16,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:16,018 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-15 07:05:16,018 INFO L290 TraceCheckUtils]: 1: Hoare triple {98144#(<= 20 ~SIZE~0)} assume true; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:16,019 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {98144#(<= 20 ~SIZE~0)} {98139#true} #90#return; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:16,019 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:05:16,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:16,021 INFO L290 TraceCheckUtils]: 0: Hoare triple {98139#true} ~cond := #in~cond; {98139#true} is VALID [2022-04-15 07:05:16,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {98139#true} assume !(0 == ~cond); {98139#true} is VALID [2022-04-15 07:05:16,021 INFO L290 TraceCheckUtils]: 2: Hoare triple {98139#true} assume true; {98139#true} is VALID [2022-04-15 07:05:16,021 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {98139#true} {98144#(<= 20 ~SIZE~0)} #86#return; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:16,022 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-15 07:05:16,022 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-15 07:05:16,023 INFO L290 TraceCheckUtils]: 2: Hoare triple {98144#(<= 20 ~SIZE~0)} assume true; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:16,023 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {98144#(<= 20 ~SIZE~0)} {98139#true} #90#return; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:16,023 INFO L272 TraceCheckUtils]: 4: Hoare triple {98144#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:16,024 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-15 07:05:16,024 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-15 07:05:16,024 INFO L290 TraceCheckUtils]: 7: Hoare triple {98139#true} ~cond := #in~cond; {98139#true} is VALID [2022-04-15 07:05:16,024 INFO L290 TraceCheckUtils]: 8: Hoare triple {98139#true} assume !(0 == ~cond); {98139#true} is VALID [2022-04-15 07:05:16,024 INFO L290 TraceCheckUtils]: 9: Hoare triple {98139#true} assume true; {98139#true} is VALID [2022-04-15 07:05:16,024 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {98139#true} {98144#(<= 20 ~SIZE~0)} #86#return; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:16,025 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-15 07:05:16,025 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-15 07:05:16,026 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-15 07:05:16,027 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-15 07:05:16,027 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-15 07:05:16,028 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-15 07:05:16,029 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-15 07:05:16,029 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-15 07:05:16,030 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-15 07:05:16,030 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-15 07:05:16,031 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-15 07:05:16,031 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-15 07:05:16,032 INFO L290 TraceCheckUtils]: 23: Hoare triple {98156#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {98140#false} is VALID [2022-04-15 07:05:16,032 INFO L290 TraceCheckUtils]: 24: Hoare triple {98140#false} assume !false; {98140#false} is VALID [2022-04-15 07:05:16,032 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-15 07:05:16,032 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:05:16,032 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1373484042] [2022-04-15 07:05:16,032 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1373484042] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:05:16,032 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2011139463] [2022-04-15 07:05:16,032 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:05:16,032 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:05:16,032 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:05:16,033 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-15 07:05:16,036 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-15 07:05:16,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:16,067 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:05:16,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:16,076 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:05:16,309 INFO L272 TraceCheckUtils]: 0: Hoare triple {98139#true} call ULTIMATE.init(); {98139#true} is VALID [2022-04-15 07:05:16,310 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-15 07:05:16,310 INFO L290 TraceCheckUtils]: 2: Hoare triple {98144#(<= 20 ~SIZE~0)} assume true; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:16,311 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {98144#(<= 20 ~SIZE~0)} {98139#true} #90#return; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:16,311 INFO L272 TraceCheckUtils]: 4: Hoare triple {98144#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:16,311 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-15 07:05:16,312 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-15 07:05:16,312 INFO L290 TraceCheckUtils]: 7: Hoare triple {98144#(<= 20 ~SIZE~0)} ~cond := #in~cond; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:16,312 INFO L290 TraceCheckUtils]: 8: Hoare triple {98144#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:16,313 INFO L290 TraceCheckUtils]: 9: Hoare triple {98144#(<= 20 ~SIZE~0)} assume true; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:16,313 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {98144#(<= 20 ~SIZE~0)} {98144#(<= 20 ~SIZE~0)} #86#return; {98144#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:16,313 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-15 07:05:16,314 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-15 07:05:16,314 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-15 07:05:16,315 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-15 07:05:16,315 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-15 07:05:16,316 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-15 07:05:16,316 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-15 07:05:16,317 INFO L290 TraceCheckUtils]: 18: Hoare triple {98140#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {98140#false} is VALID [2022-04-15 07:05:16,317 INFO L290 TraceCheckUtils]: 19: Hoare triple {98140#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {98140#false} is VALID [2022-04-15 07:05:16,317 INFO L290 TraceCheckUtils]: 20: Hoare triple {98140#false} assume !(~d~0 == ~SIZE~0); {98140#false} is VALID [2022-04-15 07:05:16,317 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-15 07:05:16,317 INFO L290 TraceCheckUtils]: 22: Hoare triple {98140#false} ~cond := #in~cond; {98140#false} is VALID [2022-04-15 07:05:16,317 INFO L290 TraceCheckUtils]: 23: Hoare triple {98140#false} assume 0 == ~cond; {98140#false} is VALID [2022-04-15 07:05:16,317 INFO L290 TraceCheckUtils]: 24: Hoare triple {98140#false} assume !false; {98140#false} is VALID [2022-04-15 07:05:16,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-15 07:05:16,317 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:05:16,578 INFO L290 TraceCheckUtils]: 24: Hoare triple {98140#false} assume !false; {98140#false} is VALID [2022-04-15 07:05:16,578 INFO L290 TraceCheckUtils]: 23: Hoare triple {98140#false} assume 0 == ~cond; {98140#false} is VALID [2022-04-15 07:05:16,578 INFO L290 TraceCheckUtils]: 22: Hoare triple {98140#false} ~cond := #in~cond; {98140#false} is VALID [2022-04-15 07:05:16,578 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-15 07:05:16,578 INFO L290 TraceCheckUtils]: 20: Hoare triple {98140#false} assume !(~d~0 == ~SIZE~0); {98140#false} is VALID [2022-04-15 07:05:16,578 INFO L290 TraceCheckUtils]: 19: Hoare triple {98140#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {98140#false} is VALID [2022-04-15 07:05:16,579 INFO L290 TraceCheckUtils]: 18: Hoare triple {98140#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {98140#false} is VALID [2022-04-15 07:05:16,579 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-15 07:05:16,579 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-15 07:05:16,580 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-15 07:05:16,580 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-15 07:05:16,581 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-15 07:05:16,581 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-15 07:05:16,582 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-15 07:05:16,582 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {98139#true} {98275#(< 1 ~SIZE~0)} #86#return; {98275#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:16,582 INFO L290 TraceCheckUtils]: 9: Hoare triple {98139#true} assume true; {98139#true} is VALID [2022-04-15 07:05:16,582 INFO L290 TraceCheckUtils]: 8: Hoare triple {98139#true} assume !(0 == ~cond); {98139#true} is VALID [2022-04-15 07:05:16,582 INFO L290 TraceCheckUtils]: 7: Hoare triple {98139#true} ~cond := #in~cond; {98139#true} is VALID [2022-04-15 07:05:16,582 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-15 07:05:16,583 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-15 07:05:16,583 INFO L272 TraceCheckUtils]: 4: Hoare triple {98275#(< 1 ~SIZE~0)} call #t~ret7 := main(); {98275#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:16,583 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {98275#(< 1 ~SIZE~0)} {98139#true} #90#return; {98275#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:16,584 INFO L290 TraceCheckUtils]: 2: Hoare triple {98275#(< 1 ~SIZE~0)} assume true; {98275#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:16,584 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-15 07:05:16,584 INFO L272 TraceCheckUtils]: 0: Hoare triple {98139#true} call ULTIMATE.init(); {98139#true} is VALID [2022-04-15 07:05:16,584 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-15 07:05:16,584 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2011139463] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:05:16,584 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:05:16,585 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:05:17,531 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:05:17,531 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1347610158] [2022-04-15 07:05:17,531 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1347610158] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:05:17,531 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:05:17,531 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [31] imperfect sequences [] total 31 [2022-04-15 07:05:17,531 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [963718667] [2022-04-15 07:05:17,531 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:05:17,532 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-15 07:05:17,532 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:05:17,532 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-15 07:05:17,561 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-15 07:05:17,561 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-15 07:05:17,561 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:05:17,561 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-15 07:05:17,561 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=259, Invalid=1301, Unknown=0, NotChecked=0, Total=1560 [2022-04-15 07:05:17,561 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-15 07:05:20,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:05:20,173 INFO L93 Difference]: Finished difference Result 383 states and 462 transitions. [2022-04-15 07:05:20,173 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-15 07:05:20,173 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-15 07:05:20,173 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:05:20,174 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-15 07:05:20,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 108 transitions. [2022-04-15 07:05:20,174 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-15 07:05:20,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 108 transitions. [2022-04-15 07:05:20,175 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 108 transitions. [2022-04-15 07:05:20,225 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-15 07:05:20,228 INFO L225 Difference]: With dead ends: 383 [2022-04-15 07:05:20,228 INFO L226 Difference]: Without dead ends: 260 [2022-04-15 07:05:20,228 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 48 SyntacticMatches, 16 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 809 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=271, Invalid=1451, Unknown=0, NotChecked=0, Total=1722 [2022-04-15 07:05:20,229 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 54 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 1420 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s 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.8s IncrementalHoareTripleChecker+Time [2022-04-15 07:05:20,229 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [55 Valid, 60 Invalid, 1430 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1420 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 07:05:20,229 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 260 states. [2022-04-15 07:05:20,991 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 260 to 226. [2022-04-15 07:05:20,991 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:05:20,992 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-15 07:05:20,992 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-15 07:05:20,992 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-15 07:05:20,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:05:20,995 INFO L93 Difference]: Finished difference Result 260 states and 308 transitions. [2022-04-15 07:05:20,995 INFO L276 IsEmpty]: Start isEmpty. Operand 260 states and 308 transitions. [2022-04-15 07:05:20,995 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:05:20,995 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:05:20,995 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-15 07:05:20,995 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-15 07:05:20,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:05:20,998 INFO L93 Difference]: Finished difference Result 260 states and 308 transitions. [2022-04-15 07:05:20,998 INFO L276 IsEmpty]: Start isEmpty. Operand 260 states and 308 transitions. [2022-04-15 07:05:20,998 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:05:20,998 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:05:20,999 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:05:20,999 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:05:20,999 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-15 07:05:21,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-15 07:05:21,001 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-15 07:05:21,001 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:05:21,002 INFO L478 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-15 07:05:21,002 INFO L479 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-15 07:05:21,002 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-15 07:05:22,277 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-15 07:05:22,278 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-15 07:05:22,278 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-15 07:05:22,278 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:05:22,278 INFO L499 BasicCegarLoop]: 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-15 07:05:22,294 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-15 07:05:22,483 WARN L460 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-15 07:05:22,484 INFO L403 AbstractCegarLoop]: === Iteration 74 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:05:22,484 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:05:22,484 INFO L85 PathProgramCache]: Analyzing trace with hash -217324196, now seen corresponding path program 62 times [2022-04-15 07:05:22,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:05:22,484 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1673948815] [2022-04-15 07:05:26,615 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:05:26,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-15 07:05:30,893 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:05:31,018 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-15 07:05:31,020 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:05:31,023 INFO L85 PathProgramCache]: Analyzing trace with hash 250534209, now seen corresponding path program 1 times [2022-04-15 07:05:31,023 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:05:31,023 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1936549864] [2022-04-15 07:05:31,023 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:05:31,023 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:05:31,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:31,168 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:05:31,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:31,172 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-15 07:05:31,173 INFO L290 TraceCheckUtils]: 1: Hoare triple {100083#(<= 20 ~SIZE~0)} assume true; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:31,173 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {100083#(<= 20 ~SIZE~0)} {100078#true} #90#return; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:31,173 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:05:31,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:31,175 INFO L290 TraceCheckUtils]: 0: Hoare triple {100078#true} ~cond := #in~cond; {100078#true} is VALID [2022-04-15 07:05:31,175 INFO L290 TraceCheckUtils]: 1: Hoare triple {100078#true} assume !(0 == ~cond); {100078#true} is VALID [2022-04-15 07:05:31,175 INFO L290 TraceCheckUtils]: 2: Hoare triple {100078#true} assume true; {100078#true} is VALID [2022-04-15 07:05:31,175 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {100078#true} {100083#(<= 20 ~SIZE~0)} #86#return; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:31,176 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-15 07:05:31,176 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-15 07:05:31,176 INFO L290 TraceCheckUtils]: 2: Hoare triple {100083#(<= 20 ~SIZE~0)} assume true; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:31,177 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {100083#(<= 20 ~SIZE~0)} {100078#true} #90#return; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:31,177 INFO L272 TraceCheckUtils]: 4: Hoare triple {100083#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:31,177 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-15 07:05:31,177 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-15 07:05:31,177 INFO L290 TraceCheckUtils]: 7: Hoare triple {100078#true} ~cond := #in~cond; {100078#true} is VALID [2022-04-15 07:05:31,178 INFO L290 TraceCheckUtils]: 8: Hoare triple {100078#true} assume !(0 == ~cond); {100078#true} is VALID [2022-04-15 07:05:31,178 INFO L290 TraceCheckUtils]: 9: Hoare triple {100078#true} assume true; {100078#true} is VALID [2022-04-15 07:05:31,178 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {100078#true} {100083#(<= 20 ~SIZE~0)} #86#return; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:31,178 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-15 07:05:31,179 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-15 07:05:31,179 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-15 07:05:31,180 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-15 07:05:31,180 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-15 07:05:31,181 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-15 07:05:31,182 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-15 07:05:31,182 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-15 07:05:31,183 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-15 07:05:31,183 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-15 07:05:31,183 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-15 07:05:31,184 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-15 07:05:31,184 INFO L290 TraceCheckUtils]: 23: Hoare triple {100095#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {100079#false} is VALID [2022-04-15 07:05:31,184 INFO L290 TraceCheckUtils]: 24: Hoare triple {100079#false} assume !false; {100079#false} is VALID [2022-04-15 07:05:31,184 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-15 07:05:31,184 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:05:31,184 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1936549864] [2022-04-15 07:05:31,185 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1936549864] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:05:31,185 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1827750355] [2022-04-15 07:05:31,185 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:05:31,185 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:05:31,185 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:05:31,186 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-15 07:05:31,187 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-15 07:05:31,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:31,218 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:05:31,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:31,225 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:05:31,451 INFO L272 TraceCheckUtils]: 0: Hoare triple {100078#true} call ULTIMATE.init(); {100078#true} is VALID [2022-04-15 07:05:31,452 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-15 07:05:31,452 INFO L290 TraceCheckUtils]: 2: Hoare triple {100083#(<= 20 ~SIZE~0)} assume true; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:31,452 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {100083#(<= 20 ~SIZE~0)} {100078#true} #90#return; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:31,453 INFO L272 TraceCheckUtils]: 4: Hoare triple {100083#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:31,453 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-15 07:05:31,453 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-15 07:05:31,454 INFO L290 TraceCheckUtils]: 7: Hoare triple {100083#(<= 20 ~SIZE~0)} ~cond := #in~cond; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:31,454 INFO L290 TraceCheckUtils]: 8: Hoare triple {100083#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:31,454 INFO L290 TraceCheckUtils]: 9: Hoare triple {100083#(<= 20 ~SIZE~0)} assume true; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:31,454 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {100083#(<= 20 ~SIZE~0)} {100083#(<= 20 ~SIZE~0)} #86#return; {100083#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:31,455 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-15 07:05:31,455 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-15 07:05:31,456 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-15 07:05:31,456 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-15 07:05:31,457 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-15 07:05:31,457 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-15 07:05:31,458 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-15 07:05:31,458 INFO L290 TraceCheckUtils]: 18: Hoare triple {100079#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {100079#false} is VALID [2022-04-15 07:05:31,458 INFO L290 TraceCheckUtils]: 19: Hoare triple {100079#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {100079#false} is VALID [2022-04-15 07:05:31,458 INFO L290 TraceCheckUtils]: 20: Hoare triple {100079#false} assume !(~d~0 == ~SIZE~0); {100079#false} is VALID [2022-04-15 07:05:31,458 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-15 07:05:31,458 INFO L290 TraceCheckUtils]: 22: Hoare triple {100079#false} ~cond := #in~cond; {100079#false} is VALID [2022-04-15 07:05:31,458 INFO L290 TraceCheckUtils]: 23: Hoare triple {100079#false} assume 0 == ~cond; {100079#false} is VALID [2022-04-15 07:05:31,458 INFO L290 TraceCheckUtils]: 24: Hoare triple {100079#false} assume !false; {100079#false} is VALID [2022-04-15 07:05:31,459 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-15 07:05:31,459 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:05:31,704 INFO L290 TraceCheckUtils]: 24: Hoare triple {100079#false} assume !false; {100079#false} is VALID [2022-04-15 07:05:31,704 INFO L290 TraceCheckUtils]: 23: Hoare triple {100079#false} assume 0 == ~cond; {100079#false} is VALID [2022-04-15 07:05:31,704 INFO L290 TraceCheckUtils]: 22: Hoare triple {100079#false} ~cond := #in~cond; {100079#false} is VALID [2022-04-15 07:05:31,704 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-15 07:05:31,704 INFO L290 TraceCheckUtils]: 20: Hoare triple {100079#false} assume !(~d~0 == ~SIZE~0); {100079#false} is VALID [2022-04-15 07:05:31,704 INFO L290 TraceCheckUtils]: 19: Hoare triple {100079#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {100079#false} is VALID [2022-04-15 07:05:31,704 INFO L290 TraceCheckUtils]: 18: Hoare triple {100079#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {100079#false} is VALID [2022-04-15 07:05:31,705 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-15 07:05:31,705 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-15 07:05:31,706 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-15 07:05:31,706 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-15 07:05:31,707 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-15 07:05:31,707 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-15 07:05:31,708 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-15 07:05:31,708 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {100078#true} {100214#(< 1 ~SIZE~0)} #86#return; {100214#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:31,708 INFO L290 TraceCheckUtils]: 9: Hoare triple {100078#true} assume true; {100078#true} is VALID [2022-04-15 07:05:31,708 INFO L290 TraceCheckUtils]: 8: Hoare triple {100078#true} assume !(0 == ~cond); {100078#true} is VALID [2022-04-15 07:05:31,708 INFO L290 TraceCheckUtils]: 7: Hoare triple {100078#true} ~cond := #in~cond; {100078#true} is VALID [2022-04-15 07:05:31,708 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-15 07:05:31,709 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-15 07:05:31,709 INFO L272 TraceCheckUtils]: 4: Hoare triple {100214#(< 1 ~SIZE~0)} call #t~ret7 := main(); {100214#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:31,709 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {100214#(< 1 ~SIZE~0)} {100078#true} #90#return; {100214#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:31,709 INFO L290 TraceCheckUtils]: 2: Hoare triple {100214#(< 1 ~SIZE~0)} assume true; {100214#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:31,710 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-15 07:05:31,710 INFO L272 TraceCheckUtils]: 0: Hoare triple {100078#true} call ULTIMATE.init(); {100078#true} is VALID [2022-04-15 07:05:31,716 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-15 07:05:31,716 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1827750355] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:05:31,716 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:05:31,716 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:05:32,871 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:05:32,871 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1673948815] [2022-04-15 07:05:32,871 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1673948815] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:05:32,871 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:05:32,871 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [32] imperfect sequences [] total 32 [2022-04-15 07:05:32,871 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [458967167] [2022-04-15 07:05:32,871 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:05:32,872 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-15 07:05:32,872 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:05:32,872 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-15 07:05:32,910 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-15 07:05:32,911 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2022-04-15 07:05:32,911 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:05:32,911 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-04-15 07:05:32,911 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=273, Invalid=1367, Unknown=0, NotChecked=0, Total=1640 [2022-04-15 07:05:32,911 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-15 07:05:36,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:05:36,535 INFO L93 Difference]: Finished difference Result 380 states and 459 transitions. [2022-04-15 07:05:36,536 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-15 07:05:36,536 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-15 07:05:36,536 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:05:36,536 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-15 07:05:36,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 109 transitions. [2022-04-15 07:05:36,536 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-15 07:05:36,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 109 transitions. [2022-04-15 07:05:36,537 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 109 transitions. [2022-04-15 07:05:36,590 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-15 07:05:36,593 INFO L225 Difference]: With dead ends: 380 [2022-04-15 07:05:36,593 INFO L226 Difference]: Without dead ends: 257 [2022-04-15 07:05:36,593 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 48 SyntacticMatches, 15 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 823 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=285, Invalid=1521, Unknown=0, NotChecked=0, Total=1806 [2022-04-15 07:05:36,594 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 62 mSDsluCounter, 58 mSDsCounter, 0 mSdLazyCounter, 1697 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s 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, 1.2s IncrementalHoareTripleChecker+Time [2022-04-15 07:05:36,594 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [63 Valid, 78 Invalid, 1708 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1697 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-15 07:05:36,594 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 257 states. [2022-04-15 07:05:37,257 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 257 to 226. [2022-04-15 07:05:37,257 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:05:37,257 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-15 07:05:37,257 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-15 07:05:37,257 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-15 07:05:37,260 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:05:37,260 INFO L93 Difference]: Finished difference Result 257 states and 305 transitions. [2022-04-15 07:05:37,260 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 305 transitions. [2022-04-15 07:05:37,261 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:05:37,261 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:05:37,261 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-15 07:05:37,261 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-15 07:05:37,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:05:37,264 INFO L93 Difference]: Finished difference Result 257 states and 305 transitions. [2022-04-15 07:05:37,264 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 305 transitions. [2022-04-15 07:05:37,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:05:37,264 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:05:37,264 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:05:37,264 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:05:37,264 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-15 07:05:37,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-15 07:05:37,273 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-15 07:05:37,273 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:05:37,273 INFO L478 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-15 07:05:37,273 INFO L479 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-15 07:05:37,273 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-15 07:05:39,102 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-15 07:05:39,103 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-15 07:05:39,103 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-15 07:05:39,103 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:05:39,103 INFO L499 BasicCegarLoop]: 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-15 07:05:39,121 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-15 07:05:39,319 WARN L460 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-15 07:05:39,319 INFO L403 AbstractCegarLoop]: === Iteration 75 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:05:39,319 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:05:39,319 INFO L85 PathProgramCache]: Analyzing trace with hash -2022762530, now seen corresponding path program 63 times [2022-04-15 07:05:39,320 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:05:39,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [978120386] [2022-04-15 07:05:39,573 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-15 07:05:40,790 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:05:40,905 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-15 07:05:40,906 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:05:40,909 INFO L85 PathProgramCache]: Analyzing trace with hash -1551910335, now seen corresponding path program 1 times [2022-04-15 07:05:40,909 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:05:40,909 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2116273151] [2022-04-15 07:05:40,909 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:05:40,909 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:05:40,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:41,069 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:05:41,071 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:41,074 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-15 07:05:41,075 INFO L290 TraceCheckUtils]: 1: Hoare triple {102011#(<= 20 ~SIZE~0)} assume true; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:41,075 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {102011#(<= 20 ~SIZE~0)} {102006#true} #90#return; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:41,075 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:05:41,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:41,077 INFO L290 TraceCheckUtils]: 0: Hoare triple {102006#true} ~cond := #in~cond; {102006#true} is VALID [2022-04-15 07:05:41,077 INFO L290 TraceCheckUtils]: 1: Hoare triple {102006#true} assume !(0 == ~cond); {102006#true} is VALID [2022-04-15 07:05:41,077 INFO L290 TraceCheckUtils]: 2: Hoare triple {102006#true} assume true; {102006#true} is VALID [2022-04-15 07:05:41,078 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {102006#true} {102011#(<= 20 ~SIZE~0)} #86#return; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:41,078 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-15 07:05:41,079 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-15 07:05:41,079 INFO L290 TraceCheckUtils]: 2: Hoare triple {102011#(<= 20 ~SIZE~0)} assume true; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:41,079 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {102011#(<= 20 ~SIZE~0)} {102006#true} #90#return; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:41,079 INFO L272 TraceCheckUtils]: 4: Hoare triple {102011#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:41,080 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-15 07:05:41,080 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-15 07:05:41,080 INFO L290 TraceCheckUtils]: 7: Hoare triple {102006#true} ~cond := #in~cond; {102006#true} is VALID [2022-04-15 07:05:41,080 INFO L290 TraceCheckUtils]: 8: Hoare triple {102006#true} assume !(0 == ~cond); {102006#true} is VALID [2022-04-15 07:05:41,080 INFO L290 TraceCheckUtils]: 9: Hoare triple {102006#true} assume true; {102006#true} is VALID [2022-04-15 07:05:41,080 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {102006#true} {102011#(<= 20 ~SIZE~0)} #86#return; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:41,081 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-15 07:05:41,081 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-15 07:05:41,082 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-15 07:05:41,082 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-15 07:05:41,083 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-15 07:05:41,084 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-15 07:05:41,084 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-15 07:05:41,085 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-15 07:05:41,085 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-15 07:05:41,086 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-15 07:05:41,086 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-15 07:05:41,087 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-15 07:05:41,087 INFO L290 TraceCheckUtils]: 23: Hoare triple {102023#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {102007#false} is VALID [2022-04-15 07:05:41,087 INFO L290 TraceCheckUtils]: 24: Hoare triple {102007#false} assume !false; {102007#false} is VALID [2022-04-15 07:05:41,087 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-15 07:05:41,087 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:05:41,087 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2116273151] [2022-04-15 07:05:41,088 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2116273151] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:05:41,088 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1116873335] [2022-04-15 07:05:41,088 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:05:41,088 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:05:41,088 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:05:41,089 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-15 07:05:41,089 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-15 07:05:41,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:41,120 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:05:41,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:41,128 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:05:41,402 INFO L272 TraceCheckUtils]: 0: Hoare triple {102006#true} call ULTIMATE.init(); {102006#true} is VALID [2022-04-15 07:05:41,403 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-15 07:05:41,403 INFO L290 TraceCheckUtils]: 2: Hoare triple {102011#(<= 20 ~SIZE~0)} assume true; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:41,403 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {102011#(<= 20 ~SIZE~0)} {102006#true} #90#return; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:41,404 INFO L272 TraceCheckUtils]: 4: Hoare triple {102011#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:41,404 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-15 07:05:41,404 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-15 07:05:41,405 INFO L290 TraceCheckUtils]: 7: Hoare triple {102011#(<= 20 ~SIZE~0)} ~cond := #in~cond; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:41,405 INFO L290 TraceCheckUtils]: 8: Hoare triple {102011#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:41,405 INFO L290 TraceCheckUtils]: 9: Hoare triple {102011#(<= 20 ~SIZE~0)} assume true; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:41,406 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {102011#(<= 20 ~SIZE~0)} {102011#(<= 20 ~SIZE~0)} #86#return; {102011#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:41,406 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-15 07:05:41,406 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-15 07:05:41,407 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-15 07:05:41,407 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-15 07:05:41,408 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-15 07:05:41,409 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-15 07:05:41,409 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-15 07:05:41,409 INFO L290 TraceCheckUtils]: 18: Hoare triple {102007#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {102007#false} is VALID [2022-04-15 07:05:41,409 INFO L290 TraceCheckUtils]: 19: Hoare triple {102007#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {102007#false} is VALID [2022-04-15 07:05:41,409 INFO L290 TraceCheckUtils]: 20: Hoare triple {102007#false} assume !(~d~0 == ~SIZE~0); {102007#false} is VALID [2022-04-15 07:05:41,409 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-15 07:05:41,409 INFO L290 TraceCheckUtils]: 22: Hoare triple {102007#false} ~cond := #in~cond; {102007#false} is VALID [2022-04-15 07:05:41,410 INFO L290 TraceCheckUtils]: 23: Hoare triple {102007#false} assume 0 == ~cond; {102007#false} is VALID [2022-04-15 07:05:41,410 INFO L290 TraceCheckUtils]: 24: Hoare triple {102007#false} assume !false; {102007#false} is VALID [2022-04-15 07:05:41,410 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-15 07:05:41,410 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:05:41,686 INFO L290 TraceCheckUtils]: 24: Hoare triple {102007#false} assume !false; {102007#false} is VALID [2022-04-15 07:05:41,686 INFO L290 TraceCheckUtils]: 23: Hoare triple {102007#false} assume 0 == ~cond; {102007#false} is VALID [2022-04-15 07:05:41,687 INFO L290 TraceCheckUtils]: 22: Hoare triple {102007#false} ~cond := #in~cond; {102007#false} is VALID [2022-04-15 07:05:41,687 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-15 07:05:41,687 INFO L290 TraceCheckUtils]: 20: Hoare triple {102007#false} assume !(~d~0 == ~SIZE~0); {102007#false} is VALID [2022-04-15 07:05:41,687 INFO L290 TraceCheckUtils]: 19: Hoare triple {102007#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {102007#false} is VALID [2022-04-15 07:05:41,687 INFO L290 TraceCheckUtils]: 18: Hoare triple {102007#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {102007#false} is VALID [2022-04-15 07:05:41,687 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-15 07:05:41,688 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-15 07:05:41,688 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-15 07:05:41,689 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-15 07:05:41,689 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-15 07:05:41,690 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-15 07:05:41,690 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-15 07:05:41,690 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {102006#true} {102142#(< 1 ~SIZE~0)} #86#return; {102142#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:41,691 INFO L290 TraceCheckUtils]: 9: Hoare triple {102006#true} assume true; {102006#true} is VALID [2022-04-15 07:05:41,691 INFO L290 TraceCheckUtils]: 8: Hoare triple {102006#true} assume !(0 == ~cond); {102006#true} is VALID [2022-04-15 07:05:41,691 INFO L290 TraceCheckUtils]: 7: Hoare triple {102006#true} ~cond := #in~cond; {102006#true} is VALID [2022-04-15 07:05:41,691 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-15 07:05:41,691 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-15 07:05:41,691 INFO L272 TraceCheckUtils]: 4: Hoare triple {102142#(< 1 ~SIZE~0)} call #t~ret7 := main(); {102142#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:41,692 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {102142#(< 1 ~SIZE~0)} {102006#true} #90#return; {102142#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:41,692 INFO L290 TraceCheckUtils]: 2: Hoare triple {102142#(< 1 ~SIZE~0)} assume true; {102142#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:41,692 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-15 07:05:41,692 INFO L272 TraceCheckUtils]: 0: Hoare triple {102006#true} call ULTIMATE.init(); {102006#true} is VALID [2022-04-15 07:05:41,693 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-15 07:05:41,693 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1116873335] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:05:41,693 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:05:41,693 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:05:42,555 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:05:42,555 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [978120386] [2022-04-15 07:05:42,555 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [978120386] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:05:42,555 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:05:42,555 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [33] imperfect sequences [] total 33 [2022-04-15 07:05:42,555 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1381611671] [2022-04-15 07:05:42,556 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:05:42,556 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-15 07:05:42,556 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:05:42,556 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-15 07:05:42,585 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-15 07:05:42,585 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-15 07:05:42,585 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:05:42,586 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-15 07:05:42,586 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=287, Invalid=1435, Unknown=0, NotChecked=0, Total=1722 [2022-04-15 07:05:42,586 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-15 07:05:45,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:05:45,214 INFO L93 Difference]: Finished difference Result 377 states and 456 transitions. [2022-04-15 07:05:45,214 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-04-15 07:05:45,214 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-15 07:05:45,214 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:05:45,214 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-15 07:05:45,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 110 transitions. [2022-04-15 07:05:45,215 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-15 07:05:45,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 110 transitions. [2022-04-15 07:05:45,216 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 110 transitions. [2022-04-15 07:05:45,266 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-15 07:05:45,269 INFO L225 Difference]: With dead ends: 377 [2022-04-15 07:05:45,269 INFO L226 Difference]: Without dead ends: 254 [2022-04-15 07:05:45,269 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 48 SyntacticMatches, 14 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 828 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=299, Invalid=1593, Unknown=0, NotChecked=0, Total=1892 [2022-04-15 07:05:45,269 INFO L913 BasicCegarLoop]: 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-15 07:05:45,270 INFO L914 BasicCegarLoop]: 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-15 07:05:45,270 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 254 states. [2022-04-15 07:05:45,907 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 254 to 226. [2022-04-15 07:05:45,907 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:05:45,907 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-15 07:05:45,908 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-15 07:05:45,908 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-15 07:05:45,910 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:05:45,910 INFO L93 Difference]: Finished difference Result 254 states and 302 transitions. [2022-04-15 07:05:45,911 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 302 transitions. [2022-04-15 07:05:45,911 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:05:45,911 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:05:45,911 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-15 07:05:45,911 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-15 07:05:45,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:05:45,914 INFO L93 Difference]: Finished difference Result 254 states and 302 transitions. [2022-04-15 07:05:45,914 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 302 transitions. [2022-04-15 07:05:45,914 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:05:45,914 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:05:45,914 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:05:45,914 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:05:45,914 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-15 07:05:45,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-15 07:05:45,917 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-15 07:05:45,917 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:05:45,917 INFO L478 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-15 07:05:45,917 INFO L479 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-15 07:05:45,917 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-15 07:05:47,137 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-15 07:05:47,137 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-15 07:05:47,138 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-15 07:05:47,138 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:05:47,138 INFO L499 BasicCegarLoop]: 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-15 07:05:47,154 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (68)] Forceful destruction successful, exit code 0 [2022-04-15 07:05:47,354 WARN L460 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-15 07:05:47,354 INFO L403 AbstractCegarLoop]: === Iteration 76 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:05:47,354 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:05:47,354 INFO L85 PathProgramCache]: Analyzing trace with hash 1454556316, now seen corresponding path program 64 times [2022-04-15 07:05:47,354 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:05:47,354 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [838575512] [2022-04-15 07:05:51,449 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:05:51,534 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-15 07:05:55,641 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:05:55,768 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-15 07:05:55,769 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:05:55,772 INFO L85 PathProgramCache]: Analyzing trace with hash 940612417, now seen corresponding path program 1 times [2022-04-15 07:05:55,772 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:05:55,772 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1805192505] [2022-04-15 07:05:55,772 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:05:55,772 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:05:55,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:55,898 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:05:55,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:55,902 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-15 07:05:55,903 INFO L290 TraceCheckUtils]: 1: Hoare triple {103928#(<= 20 ~SIZE~0)} assume true; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:55,903 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {103928#(<= 20 ~SIZE~0)} {103923#true} #90#return; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:55,903 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:05:55,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:55,905 INFO L290 TraceCheckUtils]: 0: Hoare triple {103923#true} ~cond := #in~cond; {103923#true} is VALID [2022-04-15 07:05:55,905 INFO L290 TraceCheckUtils]: 1: Hoare triple {103923#true} assume !(0 == ~cond); {103923#true} is VALID [2022-04-15 07:05:55,905 INFO L290 TraceCheckUtils]: 2: Hoare triple {103923#true} assume true; {103923#true} is VALID [2022-04-15 07:05:55,906 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {103923#true} {103928#(<= 20 ~SIZE~0)} #86#return; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:55,906 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-15 07:05:55,907 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-15 07:05:55,907 INFO L290 TraceCheckUtils]: 2: Hoare triple {103928#(<= 20 ~SIZE~0)} assume true; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:55,907 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {103928#(<= 20 ~SIZE~0)} {103923#true} #90#return; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:55,907 INFO L272 TraceCheckUtils]: 4: Hoare triple {103928#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:55,908 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-15 07:05:55,908 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-15 07:05:55,908 INFO L290 TraceCheckUtils]: 7: Hoare triple {103923#true} ~cond := #in~cond; {103923#true} is VALID [2022-04-15 07:05:55,908 INFO L290 TraceCheckUtils]: 8: Hoare triple {103923#true} assume !(0 == ~cond); {103923#true} is VALID [2022-04-15 07:05:55,908 INFO L290 TraceCheckUtils]: 9: Hoare triple {103923#true} assume true; {103923#true} is VALID [2022-04-15 07:05:55,908 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {103923#true} {103928#(<= 20 ~SIZE~0)} #86#return; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:55,908 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-15 07:05:55,909 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-15 07:05:55,909 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-15 07:05:55,910 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-15 07:05:55,910 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-15 07:05:55,911 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-15 07:05:55,911 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-15 07:05:55,912 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-15 07:05:55,912 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-15 07:05:55,912 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-15 07:05:55,913 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-15 07:05:55,913 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-15 07:05:55,913 INFO L290 TraceCheckUtils]: 23: Hoare triple {103940#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {103924#false} is VALID [2022-04-15 07:05:55,914 INFO L290 TraceCheckUtils]: 24: Hoare triple {103924#false} assume !false; {103924#false} is VALID [2022-04-15 07:05:55,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-15 07:05:55,914 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:05:55,914 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1805192505] [2022-04-15 07:05:55,914 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1805192505] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:05:55,914 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1887821809] [2022-04-15 07:05:55,914 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:05:55,914 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:05:55,914 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:05:55,915 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-15 07:05:55,916 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-15 07:05:55,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:55,943 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:05:55,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:05:55,948 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:05:56,114 INFO L272 TraceCheckUtils]: 0: Hoare triple {103923#true} call ULTIMATE.init(); {103923#true} is VALID [2022-04-15 07:05:56,116 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-15 07:05:56,116 INFO L290 TraceCheckUtils]: 2: Hoare triple {103928#(<= 20 ~SIZE~0)} assume true; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:56,116 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {103928#(<= 20 ~SIZE~0)} {103923#true} #90#return; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:56,116 INFO L272 TraceCheckUtils]: 4: Hoare triple {103928#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:56,116 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-15 07:05:56,117 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-15 07:05:56,117 INFO L290 TraceCheckUtils]: 7: Hoare triple {103928#(<= 20 ~SIZE~0)} ~cond := #in~cond; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:56,117 INFO L290 TraceCheckUtils]: 8: Hoare triple {103928#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:56,117 INFO L290 TraceCheckUtils]: 9: Hoare triple {103928#(<= 20 ~SIZE~0)} assume true; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:56,118 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {103928#(<= 20 ~SIZE~0)} {103928#(<= 20 ~SIZE~0)} #86#return; {103928#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:05:56,118 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-15 07:05:56,118 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-15 07:05:56,119 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-15 07:05:56,119 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-15 07:05:56,120 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-15 07:05:56,120 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-15 07:05:56,120 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-15 07:05:56,121 INFO L290 TraceCheckUtils]: 18: Hoare triple {103924#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {103924#false} is VALID [2022-04-15 07:05:56,121 INFO L290 TraceCheckUtils]: 19: Hoare triple {103924#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {103924#false} is VALID [2022-04-15 07:05:56,121 INFO L290 TraceCheckUtils]: 20: Hoare triple {103924#false} assume !(~d~0 == ~SIZE~0); {103924#false} is VALID [2022-04-15 07:05:56,121 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-15 07:05:56,121 INFO L290 TraceCheckUtils]: 22: Hoare triple {103924#false} ~cond := #in~cond; {103924#false} is VALID [2022-04-15 07:05:56,121 INFO L290 TraceCheckUtils]: 23: Hoare triple {103924#false} assume 0 == ~cond; {103924#false} is VALID [2022-04-15 07:05:56,121 INFO L290 TraceCheckUtils]: 24: Hoare triple {103924#false} assume !false; {103924#false} is VALID [2022-04-15 07:05:56,121 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-15 07:05:56,121 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:05:56,316 INFO L290 TraceCheckUtils]: 24: Hoare triple {103924#false} assume !false; {103924#false} is VALID [2022-04-15 07:05:56,316 INFO L290 TraceCheckUtils]: 23: Hoare triple {103924#false} assume 0 == ~cond; {103924#false} is VALID [2022-04-15 07:05:56,316 INFO L290 TraceCheckUtils]: 22: Hoare triple {103924#false} ~cond := #in~cond; {103924#false} is VALID [2022-04-15 07:05:56,316 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-15 07:05:56,316 INFO L290 TraceCheckUtils]: 20: Hoare triple {103924#false} assume !(~d~0 == ~SIZE~0); {103924#false} is VALID [2022-04-15 07:05:56,316 INFO L290 TraceCheckUtils]: 19: Hoare triple {103924#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {103924#false} is VALID [2022-04-15 07:05:56,316 INFO L290 TraceCheckUtils]: 18: Hoare triple {103924#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {103924#false} is VALID [2022-04-15 07:05:56,317 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-15 07:05:56,317 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-15 07:05:56,317 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-15 07:05:56,318 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-15 07:05:56,318 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-15 07:05:56,318 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-15 07:05:56,319 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-15 07:05:56,319 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {103923#true} {104059#(< 1 ~SIZE~0)} #86#return; {104059#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:56,319 INFO L290 TraceCheckUtils]: 9: Hoare triple {103923#true} assume true; {103923#true} is VALID [2022-04-15 07:05:56,319 INFO L290 TraceCheckUtils]: 8: Hoare triple {103923#true} assume !(0 == ~cond); {103923#true} is VALID [2022-04-15 07:05:56,319 INFO L290 TraceCheckUtils]: 7: Hoare triple {103923#true} ~cond := #in~cond; {103923#true} is VALID [2022-04-15 07:05:56,319 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-15 07:05:56,319 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-15 07:05:56,320 INFO L272 TraceCheckUtils]: 4: Hoare triple {104059#(< 1 ~SIZE~0)} call #t~ret7 := main(); {104059#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:56,320 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {104059#(< 1 ~SIZE~0)} {103923#true} #90#return; {104059#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:56,320 INFO L290 TraceCheckUtils]: 2: Hoare triple {104059#(< 1 ~SIZE~0)} assume true; {104059#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:05:56,320 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-15 07:05:56,320 INFO L272 TraceCheckUtils]: 0: Hoare triple {103923#true} call ULTIMATE.init(); {103923#true} is VALID [2022-04-15 07:05:56,321 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-15 07:05:56,321 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1887821809] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:05:56,321 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:05:56,321 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:05:57,180 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:05:57,181 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [838575512] [2022-04-15 07:05:57,181 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [838575512] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:05:57,181 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:05:57,181 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-15 07:05:57,181 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [771805855] [2022-04-15 07:05:57,181 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:05:57,181 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-15 07:05:57,181 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:05:57,181 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-15 07:05:57,213 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-15 07:05:57,213 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-15 07:05:57,213 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:05:57,213 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-15 07:05:57,214 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=301, Invalid=1505, Unknown=0, NotChecked=0, Total=1806 [2022-04-15 07:05:57,214 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-15 07:05:59,872 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:05:59,872 INFO L93 Difference]: Finished difference Result 374 states and 453 transitions. [2022-04-15 07:05:59,872 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-15 07:05:59,872 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-15 07:05:59,872 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:05:59,872 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-15 07:05:59,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 111 transitions. [2022-04-15 07:05:59,873 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-15 07:05:59,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 111 transitions. [2022-04-15 07:05:59,874 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 111 transitions. [2022-04-15 07:05:59,923 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-15 07:05:59,927 INFO L225 Difference]: With dead ends: 374 [2022-04-15 07:05:59,927 INFO L226 Difference]: Without dead ends: 251 [2022-04-15 07:05:59,927 INFO L912 BasicCegarLoop]: 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-15 07:05:59,927 INFO L913 BasicCegarLoop]: 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-15 07:05:59,927 INFO L914 BasicCegarLoop]: 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-15 07:05:59,927 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 251 states. [2022-04-15 07:06:00,573 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 251 to 226. [2022-04-15 07:06:00,573 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:06:00,573 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-15 07:06:00,574 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-15 07:06:00,574 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-15 07:06:00,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:06:00,576 INFO L93 Difference]: Finished difference Result 251 states and 299 transitions. [2022-04-15 07:06:00,577 INFO L276 IsEmpty]: Start isEmpty. Operand 251 states and 299 transitions. [2022-04-15 07:06:00,577 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:06:00,577 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:06:00,577 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-15 07:06:00,577 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-15 07:06:00,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:06:00,580 INFO L93 Difference]: Finished difference Result 251 states and 299 transitions. [2022-04-15 07:06:00,580 INFO L276 IsEmpty]: Start isEmpty. Operand 251 states and 299 transitions. [2022-04-15 07:06:00,580 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:06:00,580 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:06:00,580 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:06:00,580 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:06:00,580 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-15 07:06:00,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-15 07:06:00,583 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-15 07:06:00,583 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:06:00,583 INFO L478 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-15 07:06:00,583 INFO L479 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-15 07:06:00,583 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-15 07:06:01,878 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-15 07:06:01,878 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-15 07:06:01,879 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-15 07:06:01,879 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:06:01,879 INFO L499 BasicCegarLoop]: 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-15 07:06:01,895 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-15 07:06:02,094 WARN L460 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-15 07:06:02,095 INFO L403 AbstractCegarLoop]: === Iteration 77 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:06:02,095 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:06:02,095 INFO L85 PathProgramCache]: Analyzing trace with hash -133791586, now seen corresponding path program 65 times [2022-04-15 07:06:02,095 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:06:02,095 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1103188051] [2022-04-15 07:06:02,286 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-15 07:06:03,460 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:06:03,540 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-15 07:06:03,541 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:06:03,543 INFO L85 PathProgramCache]: Analyzing trace with hash -861832127, now seen corresponding path program 1 times [2022-04-15 07:06:03,543 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:06:03,543 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2014139167] [2022-04-15 07:06:03,543 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:06:03,543 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:06:03,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:03,644 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:06:03,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:03,648 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-15 07:06:03,648 INFO L290 TraceCheckUtils]: 1: Hoare triple {105834#(<= 20 ~SIZE~0)} assume true; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:03,648 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {105834#(<= 20 ~SIZE~0)} {105829#true} #90#return; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:03,648 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:06:03,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:03,649 INFO L290 TraceCheckUtils]: 0: Hoare triple {105829#true} ~cond := #in~cond; {105829#true} is VALID [2022-04-15 07:06:03,650 INFO L290 TraceCheckUtils]: 1: Hoare triple {105829#true} assume !(0 == ~cond); {105829#true} is VALID [2022-04-15 07:06:03,650 INFO L290 TraceCheckUtils]: 2: Hoare triple {105829#true} assume true; {105829#true} is VALID [2022-04-15 07:06:03,650 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {105829#true} {105834#(<= 20 ~SIZE~0)} #86#return; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:03,650 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-15 07:06:03,651 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-15 07:06:03,651 INFO L290 TraceCheckUtils]: 2: Hoare triple {105834#(<= 20 ~SIZE~0)} assume true; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:03,651 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {105834#(<= 20 ~SIZE~0)} {105829#true} #90#return; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:03,651 INFO L272 TraceCheckUtils]: 4: Hoare triple {105834#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:03,651 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-15 07:06:03,651 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-15 07:06:03,652 INFO L290 TraceCheckUtils]: 7: Hoare triple {105829#true} ~cond := #in~cond; {105829#true} is VALID [2022-04-15 07:06:03,652 INFO L290 TraceCheckUtils]: 8: Hoare triple {105829#true} assume !(0 == ~cond); {105829#true} is VALID [2022-04-15 07:06:03,652 INFO L290 TraceCheckUtils]: 9: Hoare triple {105829#true} assume true; {105829#true} is VALID [2022-04-15 07:06:03,652 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {105829#true} {105834#(<= 20 ~SIZE~0)} #86#return; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:03,652 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-15 07:06:03,652 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-15 07:06:03,653 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-15 07:06:03,653 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-15 07:06:03,654 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-15 07:06:03,654 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-15 07:06:03,655 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-15 07:06:03,655 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-15 07:06:03,656 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-15 07:06:03,656 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-15 07:06:03,656 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-15 07:06:03,657 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-15 07:06:03,657 INFO L290 TraceCheckUtils]: 23: Hoare triple {105846#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {105830#false} is VALID [2022-04-15 07:06:03,657 INFO L290 TraceCheckUtils]: 24: Hoare triple {105830#false} assume !false; {105830#false} is VALID [2022-04-15 07:06:03,657 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-15 07:06:03,657 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:06:03,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2014139167] [2022-04-15 07:06:03,657 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2014139167] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:06:03,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [460823284] [2022-04-15 07:06:03,657 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:06:03,658 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:06:03,658 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:06:03,658 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-15 07:06:03,659 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-15 07:06:03,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:03,699 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:06:03,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:03,704 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:06:03,849 INFO L272 TraceCheckUtils]: 0: Hoare triple {105829#true} call ULTIMATE.init(); {105829#true} is VALID [2022-04-15 07:06:03,850 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-15 07:06:03,850 INFO L290 TraceCheckUtils]: 2: Hoare triple {105834#(<= 20 ~SIZE~0)} assume true; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:03,850 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {105834#(<= 20 ~SIZE~0)} {105829#true} #90#return; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:03,850 INFO L272 TraceCheckUtils]: 4: Hoare triple {105834#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:03,850 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-15 07:06:03,851 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-15 07:06:03,851 INFO L290 TraceCheckUtils]: 7: Hoare triple {105834#(<= 20 ~SIZE~0)} ~cond := #in~cond; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:03,851 INFO L290 TraceCheckUtils]: 8: Hoare triple {105834#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:03,851 INFO L290 TraceCheckUtils]: 9: Hoare triple {105834#(<= 20 ~SIZE~0)} assume true; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:03,852 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {105834#(<= 20 ~SIZE~0)} {105834#(<= 20 ~SIZE~0)} #86#return; {105834#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:03,852 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-15 07:06:03,852 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-15 07:06:03,853 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-15 07:06:03,853 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-15 07:06:03,853 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-15 07:06:03,854 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-15 07:06:03,854 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-15 07:06:03,854 INFO L290 TraceCheckUtils]: 18: Hoare triple {105830#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {105830#false} is VALID [2022-04-15 07:06:03,854 INFO L290 TraceCheckUtils]: 19: Hoare triple {105830#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {105830#false} is VALID [2022-04-15 07:06:03,854 INFO L290 TraceCheckUtils]: 20: Hoare triple {105830#false} assume !(~d~0 == ~SIZE~0); {105830#false} is VALID [2022-04-15 07:06:03,855 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-15 07:06:03,855 INFO L290 TraceCheckUtils]: 22: Hoare triple {105830#false} ~cond := #in~cond; {105830#false} is VALID [2022-04-15 07:06:03,855 INFO L290 TraceCheckUtils]: 23: Hoare triple {105830#false} assume 0 == ~cond; {105830#false} is VALID [2022-04-15 07:06:03,855 INFO L290 TraceCheckUtils]: 24: Hoare triple {105830#false} assume !false; {105830#false} is VALID [2022-04-15 07:06:03,855 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-15 07:06:03,855 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:06:04,046 INFO L290 TraceCheckUtils]: 24: Hoare triple {105830#false} assume !false; {105830#false} is VALID [2022-04-15 07:06:04,047 INFO L290 TraceCheckUtils]: 23: Hoare triple {105830#false} assume 0 == ~cond; {105830#false} is VALID [2022-04-15 07:06:04,047 INFO L290 TraceCheckUtils]: 22: Hoare triple {105830#false} ~cond := #in~cond; {105830#false} is VALID [2022-04-15 07:06:04,047 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-15 07:06:04,047 INFO L290 TraceCheckUtils]: 20: Hoare triple {105830#false} assume !(~d~0 == ~SIZE~0); {105830#false} is VALID [2022-04-15 07:06:04,047 INFO L290 TraceCheckUtils]: 19: Hoare triple {105830#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {105830#false} is VALID [2022-04-15 07:06:04,047 INFO L290 TraceCheckUtils]: 18: Hoare triple {105830#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {105830#false} is VALID [2022-04-15 07:06:04,047 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-15 07:06:04,048 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-15 07:06:04,048 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-15 07:06:04,048 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-15 07:06:04,049 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-15 07:06:04,049 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-15 07:06:04,049 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-15 07:06:04,050 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {105829#true} {105965#(< 1 ~SIZE~0)} #86#return; {105965#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:04,050 INFO L290 TraceCheckUtils]: 9: Hoare triple {105829#true} assume true; {105829#true} is VALID [2022-04-15 07:06:04,050 INFO L290 TraceCheckUtils]: 8: Hoare triple {105829#true} assume !(0 == ~cond); {105829#true} is VALID [2022-04-15 07:06:04,050 INFO L290 TraceCheckUtils]: 7: Hoare triple {105829#true} ~cond := #in~cond; {105829#true} is VALID [2022-04-15 07:06:04,050 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-15 07:06:04,050 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-15 07:06:04,050 INFO L272 TraceCheckUtils]: 4: Hoare triple {105965#(< 1 ~SIZE~0)} call #t~ret7 := main(); {105965#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:04,051 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {105965#(< 1 ~SIZE~0)} {105829#true} #90#return; {105965#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:04,051 INFO L290 TraceCheckUtils]: 2: Hoare triple {105965#(< 1 ~SIZE~0)} assume true; {105965#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:04,051 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-15 07:06:04,051 INFO L272 TraceCheckUtils]: 0: Hoare triple {105829#true} call ULTIMATE.init(); {105829#true} is VALID [2022-04-15 07:06:04,051 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-15 07:06:04,051 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [460823284] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:06:04,052 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:06:04,052 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:06:04,907 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:06:04,908 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1103188051] [2022-04-15 07:06:04,908 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1103188051] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:06:04,908 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:06:04,908 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [35] imperfect sequences [] total 35 [2022-04-15 07:06:04,908 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1781386520] [2022-04-15 07:06:04,908 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:06:04,908 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-15 07:06:04,908 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:06:04,908 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-15 07:06:04,937 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-15 07:06:04,937 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 35 states [2022-04-15 07:06:04,937 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:06:04,938 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2022-04-15 07:06:04,938 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=315, Invalid=1577, Unknown=0, NotChecked=0, Total=1892 [2022-04-15 07:06:04,938 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-15 07:06:07,403 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:06:07,403 INFO L93 Difference]: Finished difference Result 372 states and 451 transitions. [2022-04-15 07:06:07,403 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2022-04-15 07:06:07,403 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-15 07:06:07,403 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:06:07,404 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-15 07:06:07,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 112 transitions. [2022-04-15 07:06:07,409 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-15 07:06:07,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 112 transitions. [2022-04-15 07:06:07,410 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 112 transitions. [2022-04-15 07:06:07,462 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-15 07:06:07,466 INFO L225 Difference]: With dead ends: 372 [2022-04-15 07:06:07,466 INFO L226 Difference]: Without dead ends: 249 [2022-04-15 07:06:07,466 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 48 SyntacticMatches, 12 SemanticMatches, 44 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 811 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=327, Invalid=1743, Unknown=0, NotChecked=0, Total=2070 [2022-04-15 07:06:07,466 INFO L913 BasicCegarLoop]: 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-15 07:06:07,466 INFO L914 BasicCegarLoop]: 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-15 07:06:07,467 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 249 states. [2022-04-15 07:06:08,112 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 249 to 226. [2022-04-15 07:06:08,112 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:06:08,113 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-15 07:06:08,113 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-15 07:06:08,113 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-15 07:06:08,116 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:06:08,116 INFO L93 Difference]: Finished difference Result 249 states and 297 transitions. [2022-04-15 07:06:08,116 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 297 transitions. [2022-04-15 07:06:08,116 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:06:08,116 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:06:08,116 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-15 07:06:08,116 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-15 07:06:08,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:06:08,119 INFO L93 Difference]: Finished difference Result 249 states and 297 transitions. [2022-04-15 07:06:08,119 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 297 transitions. [2022-04-15 07:06:08,119 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:06:08,119 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:06:08,119 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:06:08,119 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:06:08,120 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-15 07:06:08,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 272 transitions. [2022-04-15 07:06:08,123 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 272 transitions. Word has length 58 [2022-04-15 07:06:08,123 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:06:08,123 INFO L478 AbstractCegarLoop]: Abstraction has 226 states and 272 transitions. [2022-04-15 07:06:08,123 INFO L479 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-15 07:06:08,123 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 272 transitions. [2022-04-15 07:06:09,451 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-15 07:06:09,451 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 272 transitions. [2022-04-15 07:06:09,452 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-15 07:06:09,452 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:06:09,452 INFO L499 BasicCegarLoop]: 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-15 07:06:09,468 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-15 07:06:09,667 WARN L460 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-15 07:06:09,667 INFO L403 AbstractCegarLoop]: === Iteration 78 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:06:09,667 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:06:09,667 INFO L85 PathProgramCache]: Analyzing trace with hash -1144908836, now seen corresponding path program 66 times [2022-04-15 07:06:09,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:06:09,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [600078666] [2022-04-15 07:06:13,773 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:06:13,849 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-15 07:06:14,030 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-15 07:06:14,031 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:06:14,033 INFO L85 PathProgramCache]: Analyzing trace with hash 1630690625, now seen corresponding path program 1 times [2022-04-15 07:06:14,033 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:06:14,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [604204020] [2022-04-15 07:06:14,033 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:06:14,033 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:06:14,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:14,187 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:06:14,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:14,191 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-15 07:06:14,191 INFO L290 TraceCheckUtils]: 1: Hoare triple {107733#(<= 20 ~SIZE~0)} assume true; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:14,191 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {107733#(<= 20 ~SIZE~0)} {107728#true} #90#return; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:14,191 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:06:14,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:14,193 INFO L290 TraceCheckUtils]: 0: Hoare triple {107728#true} ~cond := #in~cond; {107728#true} is VALID [2022-04-15 07:06:14,193 INFO L290 TraceCheckUtils]: 1: Hoare triple {107728#true} assume !(0 == ~cond); {107728#true} is VALID [2022-04-15 07:06:14,193 INFO L290 TraceCheckUtils]: 2: Hoare triple {107728#true} assume true; {107728#true} is VALID [2022-04-15 07:06:14,193 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {107728#true} {107733#(<= 20 ~SIZE~0)} #86#return; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:14,194 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-15 07:06:14,194 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-15 07:06:14,194 INFO L290 TraceCheckUtils]: 2: Hoare triple {107733#(<= 20 ~SIZE~0)} assume true; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:14,194 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {107733#(<= 20 ~SIZE~0)} {107728#true} #90#return; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:14,195 INFO L272 TraceCheckUtils]: 4: Hoare triple {107733#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:14,195 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-15 07:06:14,195 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-15 07:06:14,195 INFO L290 TraceCheckUtils]: 7: Hoare triple {107728#true} ~cond := #in~cond; {107728#true} is VALID [2022-04-15 07:06:14,195 INFO L290 TraceCheckUtils]: 8: Hoare triple {107728#true} assume !(0 == ~cond); {107728#true} is VALID [2022-04-15 07:06:14,195 INFO L290 TraceCheckUtils]: 9: Hoare triple {107728#true} assume true; {107728#true} is VALID [2022-04-15 07:06:14,195 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {107728#true} {107733#(<= 20 ~SIZE~0)} #86#return; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:14,196 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-15 07:06:14,196 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-15 07:06:14,196 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-15 07:06:14,197 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-15 07:06:14,197 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-15 07:06:14,198 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-15 07:06:14,198 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-15 07:06:14,199 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-15 07:06:14,199 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-15 07:06:14,199 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-15 07:06:14,200 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-15 07:06:14,200 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-15 07:06:14,200 INFO L290 TraceCheckUtils]: 23: Hoare triple {107745#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {107729#false} is VALID [2022-04-15 07:06:14,200 INFO L290 TraceCheckUtils]: 24: Hoare triple {107729#false} assume !false; {107729#false} is VALID [2022-04-15 07:06:14,200 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-15 07:06:14,201 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:06:14,201 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [604204020] [2022-04-15 07:06:14,201 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [604204020] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:06:14,201 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [488773177] [2022-04-15 07:06:14,201 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:06:14,201 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:06:14,203 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:06:14,203 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-15 07:06:14,204 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-15 07:06:14,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:14,228 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:06:14,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:14,233 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:06:14,404 INFO L272 TraceCheckUtils]: 0: Hoare triple {107728#true} call ULTIMATE.init(); {107728#true} is VALID [2022-04-15 07:06:14,404 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-15 07:06:14,405 INFO L290 TraceCheckUtils]: 2: Hoare triple {107733#(<= 20 ~SIZE~0)} assume true; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:14,405 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {107733#(<= 20 ~SIZE~0)} {107728#true} #90#return; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:14,405 INFO L272 TraceCheckUtils]: 4: Hoare triple {107733#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:14,405 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-15 07:06:14,406 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-15 07:06:14,406 INFO L290 TraceCheckUtils]: 7: Hoare triple {107733#(<= 20 ~SIZE~0)} ~cond := #in~cond; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:14,406 INFO L290 TraceCheckUtils]: 8: Hoare triple {107733#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:14,406 INFO L290 TraceCheckUtils]: 9: Hoare triple {107733#(<= 20 ~SIZE~0)} assume true; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:14,406 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {107733#(<= 20 ~SIZE~0)} {107733#(<= 20 ~SIZE~0)} #86#return; {107733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:14,407 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-15 07:06:14,407 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-15 07:06:14,408 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-15 07:06:14,408 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-15 07:06:14,408 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-15 07:06:14,409 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-15 07:06:14,409 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-15 07:06:14,409 INFO L290 TraceCheckUtils]: 18: Hoare triple {107729#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {107729#false} is VALID [2022-04-15 07:06:14,409 INFO L290 TraceCheckUtils]: 19: Hoare triple {107729#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {107729#false} is VALID [2022-04-15 07:06:14,409 INFO L290 TraceCheckUtils]: 20: Hoare triple {107729#false} assume !(~d~0 == ~SIZE~0); {107729#false} is VALID [2022-04-15 07:06:14,409 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-15 07:06:14,410 INFO L290 TraceCheckUtils]: 22: Hoare triple {107729#false} ~cond := #in~cond; {107729#false} is VALID [2022-04-15 07:06:14,410 INFO L290 TraceCheckUtils]: 23: Hoare triple {107729#false} assume 0 == ~cond; {107729#false} is VALID [2022-04-15 07:06:14,410 INFO L290 TraceCheckUtils]: 24: Hoare triple {107729#false} assume !false; {107729#false} is VALID [2022-04-15 07:06:14,410 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-15 07:06:14,410 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:06:14,574 INFO L290 TraceCheckUtils]: 24: Hoare triple {107729#false} assume !false; {107729#false} is VALID [2022-04-15 07:06:14,574 INFO L290 TraceCheckUtils]: 23: Hoare triple {107729#false} assume 0 == ~cond; {107729#false} is VALID [2022-04-15 07:06:14,574 INFO L290 TraceCheckUtils]: 22: Hoare triple {107729#false} ~cond := #in~cond; {107729#false} is VALID [2022-04-15 07:06:14,574 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-15 07:06:14,574 INFO L290 TraceCheckUtils]: 20: Hoare triple {107729#false} assume !(~d~0 == ~SIZE~0); {107729#false} is VALID [2022-04-15 07:06:14,574 INFO L290 TraceCheckUtils]: 19: Hoare triple {107729#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {107729#false} is VALID [2022-04-15 07:06:14,574 INFO L290 TraceCheckUtils]: 18: Hoare triple {107729#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {107729#false} is VALID [2022-04-15 07:06:14,574 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-15 07:06:14,575 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-15 07:06:14,575 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-15 07:06:14,576 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-15 07:06:14,576 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-15 07:06:14,576 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-15 07:06:14,577 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-15 07:06:14,577 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {107728#true} {107864#(< 1 ~SIZE~0)} #86#return; {107864#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:14,577 INFO L290 TraceCheckUtils]: 9: Hoare triple {107728#true} assume true; {107728#true} is VALID [2022-04-15 07:06:14,577 INFO L290 TraceCheckUtils]: 8: Hoare triple {107728#true} assume !(0 == ~cond); {107728#true} is VALID [2022-04-15 07:06:14,577 INFO L290 TraceCheckUtils]: 7: Hoare triple {107728#true} ~cond := #in~cond; {107728#true} is VALID [2022-04-15 07:06:14,577 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-15 07:06:14,577 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-15 07:06:14,578 INFO L272 TraceCheckUtils]: 4: Hoare triple {107864#(< 1 ~SIZE~0)} call #t~ret7 := main(); {107864#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:14,578 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {107864#(< 1 ~SIZE~0)} {107728#true} #90#return; {107864#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:14,578 INFO L290 TraceCheckUtils]: 2: Hoare triple {107864#(< 1 ~SIZE~0)} assume true; {107864#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:14,578 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-15 07:06:14,578 INFO L272 TraceCheckUtils]: 0: Hoare triple {107728#true} call ULTIMATE.init(); {107728#true} is VALID [2022-04-15 07:06:14,578 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-15 07:06:14,579 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [488773177] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:06:14,579 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:06:14,579 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:06:15,467 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:06:15,468 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [600078666] [2022-04-15 07:06:15,468 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [600078666] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:06:15,468 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:06:15,468 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [36] imperfect sequences [] total 36 [2022-04-15 07:06:15,468 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [291453755] [2022-04-15 07:06:15,468 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:06:15,468 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-15 07:06:15,468 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:06:15,468 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-15 07:06:15,497 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-15 07:06:15,497 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 36 states [2022-04-15 07:06:15,497 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:06:15,497 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2022-04-15 07:06:15,497 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=329, Invalid=1651, Unknown=0, NotChecked=0, Total=1980 [2022-04-15 07:06:15,497 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-15 07:06:18,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:06:18,683 INFO L93 Difference]: Finished difference Result 383 states and 466 transitions. [2022-04-15 07:06:18,683 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-15 07:06:18,683 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-15 07:06:18,683 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:06:18,683 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-15 07:06:18,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 114 transitions. [2022-04-15 07:06:18,684 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-15 07:06:18,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 114 transitions. [2022-04-15 07:06:18,685 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 114 transitions. [2022-04-15 07:06:18,776 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-15 07:06:18,779 INFO L225 Difference]: With dead ends: 383 [2022-04-15 07:06:18,779 INFO L226 Difference]: Without dead ends: 249 [2022-04-15 07:06:18,780 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 48 SyntacticMatches, 11 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 787 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=341, Invalid=1821, Unknown=0, NotChecked=0, Total=2162 [2022-04-15 07:06:18,780 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 62 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 1852 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-15 07:06:18,780 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [63 Valid, 72 Invalid, 1863 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1852 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-15 07:06:18,780 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 249 states. [2022-04-15 07:06:19,790 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 249 to 229. [2022-04-15 07:06:19,790 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:06:19,790 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-15 07:06:19,790 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-15 07:06:19,791 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-15 07:06:19,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:06:19,793 INFO L93 Difference]: Finished difference Result 249 states and 298 transitions. [2022-04-15 07:06:19,793 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 298 transitions. [2022-04-15 07:06:19,794 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:06:19,794 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:06:19,794 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-15 07:06:19,794 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-15 07:06:19,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:06:19,797 INFO L93 Difference]: Finished difference Result 249 states and 298 transitions. [2022-04-15 07:06:19,797 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 298 transitions. [2022-04-15 07:06:19,797 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:06:19,797 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:06:19,797 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:06:19,797 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:06:19,797 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-15 07:06:19,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 229 states to 229 states and 276 transitions. [2022-04-15 07:06:19,800 INFO L78 Accepts]: Start accepts. Automaton has 229 states and 276 transitions. Word has length 58 [2022-04-15 07:06:19,800 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:06:19,800 INFO L478 AbstractCegarLoop]: Abstraction has 229 states and 276 transitions. [2022-04-15 07:06:19,800 INFO L479 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-15 07:06:19,800 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 229 states and 276 transitions. [2022-04-15 07:06:21,193 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-15 07:06:21,193 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 276 transitions. [2022-04-15 07:06:21,193 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 07:06:21,193 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:06:21,193 INFO L499 BasicCegarLoop]: 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-15 07:06:21,209 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (71)] Ended with exit code 0 [2022-04-15 07:06:21,394 WARN L460 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-15 07:06:21,394 INFO L403 AbstractCegarLoop]: === Iteration 79 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:06:21,394 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:06:21,394 INFO L85 PathProgramCache]: Analyzing trace with hash 831909855, now seen corresponding path program 67 times [2022-04-15 07:06:21,394 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:06:21,394 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [345316024] [2022-04-15 07:06:21,633 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-15 07:06:21,892 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-15 07:06:21,894 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:06:21,896 INFO L85 PathProgramCache]: Analyzing trace with hash -171753919, now seen corresponding path program 1 times [2022-04-15 07:06:21,897 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:06:21,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [985773446] [2022-04-15 07:06:21,897 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:06:21,897 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:06:21,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:22,057 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:06:22,058 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:22,061 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-15 07:06:22,062 INFO L290 TraceCheckUtils]: 1: Hoare triple {109661#(<= 20 ~SIZE~0)} assume true; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:22,062 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {109661#(<= 20 ~SIZE~0)} {109656#true} #90#return; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:22,062 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:06:22,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:22,064 INFO L290 TraceCheckUtils]: 0: Hoare triple {109656#true} ~cond := #in~cond; {109656#true} is VALID [2022-04-15 07:06:22,064 INFO L290 TraceCheckUtils]: 1: Hoare triple {109656#true} assume !(0 == ~cond); {109656#true} is VALID [2022-04-15 07:06:22,064 INFO L290 TraceCheckUtils]: 2: Hoare triple {109656#true} assume true; {109656#true} is VALID [2022-04-15 07:06:22,065 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {109656#true} {109661#(<= 20 ~SIZE~0)} #86#return; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:22,065 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-15 07:06:22,066 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-15 07:06:22,066 INFO L290 TraceCheckUtils]: 2: Hoare triple {109661#(<= 20 ~SIZE~0)} assume true; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:22,066 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {109661#(<= 20 ~SIZE~0)} {109656#true} #90#return; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:22,066 INFO L272 TraceCheckUtils]: 4: Hoare triple {109661#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:22,067 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-15 07:06:22,067 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-15 07:06:22,067 INFO L290 TraceCheckUtils]: 7: Hoare triple {109656#true} ~cond := #in~cond; {109656#true} is VALID [2022-04-15 07:06:22,067 INFO L290 TraceCheckUtils]: 8: Hoare triple {109656#true} assume !(0 == ~cond); {109656#true} is VALID [2022-04-15 07:06:22,067 INFO L290 TraceCheckUtils]: 9: Hoare triple {109656#true} assume true; {109656#true} is VALID [2022-04-15 07:06:22,067 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {109656#true} {109661#(<= 20 ~SIZE~0)} #86#return; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:22,068 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-15 07:06:22,068 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-15 07:06:22,069 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-15 07:06:22,069 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-15 07:06:22,070 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-15 07:06:22,071 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-15 07:06:22,071 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-15 07:06:22,072 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-15 07:06:22,072 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-15 07:06:22,073 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-15 07:06:22,073 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-15 07:06:22,074 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-15 07:06:22,074 INFO L290 TraceCheckUtils]: 23: Hoare triple {109673#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {109657#false} is VALID [2022-04-15 07:06:22,074 INFO L290 TraceCheckUtils]: 24: Hoare triple {109657#false} assume !false; {109657#false} is VALID [2022-04-15 07:06:22,074 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-15 07:06:22,074 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:06:22,074 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [985773446] [2022-04-15 07:06:22,074 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [985773446] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:06:22,075 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [850885383] [2022-04-15 07:06:22,075 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:06:22,075 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:06:22,075 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:06:22,076 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-15 07:06:22,076 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-15 07:06:22,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:22,105 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:06:22,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:22,111 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:06:22,354 INFO L272 TraceCheckUtils]: 0: Hoare triple {109656#true} call ULTIMATE.init(); {109656#true} is VALID [2022-04-15 07:06:22,355 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-15 07:06:22,356 INFO L290 TraceCheckUtils]: 2: Hoare triple {109661#(<= 20 ~SIZE~0)} assume true; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:22,356 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {109661#(<= 20 ~SIZE~0)} {109656#true} #90#return; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:22,356 INFO L272 TraceCheckUtils]: 4: Hoare triple {109661#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:22,356 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-15 07:06:22,357 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-15 07:06:22,357 INFO L290 TraceCheckUtils]: 7: Hoare triple {109661#(<= 20 ~SIZE~0)} ~cond := #in~cond; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:22,358 INFO L290 TraceCheckUtils]: 8: Hoare triple {109661#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:22,358 INFO L290 TraceCheckUtils]: 9: Hoare triple {109661#(<= 20 ~SIZE~0)} assume true; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:22,358 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {109661#(<= 20 ~SIZE~0)} {109661#(<= 20 ~SIZE~0)} #86#return; {109661#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:22,359 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-15 07:06:22,359 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-15 07:06:22,360 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-15 07:06:22,360 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-15 07:06:22,361 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-15 07:06:22,361 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-15 07:06:22,362 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-15 07:06:22,362 INFO L290 TraceCheckUtils]: 18: Hoare triple {109657#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {109657#false} is VALID [2022-04-15 07:06:22,362 INFO L290 TraceCheckUtils]: 19: Hoare triple {109657#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {109657#false} is VALID [2022-04-15 07:06:22,362 INFO L290 TraceCheckUtils]: 20: Hoare triple {109657#false} assume !(~d~0 == ~SIZE~0); {109657#false} is VALID [2022-04-15 07:06:22,362 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-15 07:06:22,362 INFO L290 TraceCheckUtils]: 22: Hoare triple {109657#false} ~cond := #in~cond; {109657#false} is VALID [2022-04-15 07:06:22,362 INFO L290 TraceCheckUtils]: 23: Hoare triple {109657#false} assume 0 == ~cond; {109657#false} is VALID [2022-04-15 07:06:22,362 INFO L290 TraceCheckUtils]: 24: Hoare triple {109657#false} assume !false; {109657#false} is VALID [2022-04-15 07:06:22,363 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-15 07:06:22,363 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:06:22,620 INFO L290 TraceCheckUtils]: 24: Hoare triple {109657#false} assume !false; {109657#false} is VALID [2022-04-15 07:06:22,620 INFO L290 TraceCheckUtils]: 23: Hoare triple {109657#false} assume 0 == ~cond; {109657#false} is VALID [2022-04-15 07:06:22,620 INFO L290 TraceCheckUtils]: 22: Hoare triple {109657#false} ~cond := #in~cond; {109657#false} is VALID [2022-04-15 07:06:22,620 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-15 07:06:22,620 INFO L290 TraceCheckUtils]: 20: Hoare triple {109657#false} assume !(~d~0 == ~SIZE~0); {109657#false} is VALID [2022-04-15 07:06:22,621 INFO L290 TraceCheckUtils]: 19: Hoare triple {109657#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {109657#false} is VALID [2022-04-15 07:06:22,621 INFO L290 TraceCheckUtils]: 18: Hoare triple {109657#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {109657#false} is VALID [2022-04-15 07:06:22,621 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-15 07:06:22,622 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-15 07:06:22,622 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-15 07:06:22,622 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-15 07:06:22,623 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-15 07:06:22,623 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-15 07:06:22,624 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-15 07:06:22,624 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {109656#true} {109792#(< 1 ~SIZE~0)} #86#return; {109792#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:22,624 INFO L290 TraceCheckUtils]: 9: Hoare triple {109656#true} assume true; {109656#true} is VALID [2022-04-15 07:06:22,624 INFO L290 TraceCheckUtils]: 8: Hoare triple {109656#true} assume !(0 == ~cond); {109656#true} is VALID [2022-04-15 07:06:22,624 INFO L290 TraceCheckUtils]: 7: Hoare triple {109656#true} ~cond := #in~cond; {109656#true} is VALID [2022-04-15 07:06:22,624 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-15 07:06:22,625 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-15 07:06:22,625 INFO L272 TraceCheckUtils]: 4: Hoare triple {109792#(< 1 ~SIZE~0)} call #t~ret7 := main(); {109792#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:22,625 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {109792#(< 1 ~SIZE~0)} {109656#true} #90#return; {109792#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:22,626 INFO L290 TraceCheckUtils]: 2: Hoare triple {109792#(< 1 ~SIZE~0)} assume true; {109792#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:22,626 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-15 07:06:22,626 INFO L272 TraceCheckUtils]: 0: Hoare triple {109656#true} call ULTIMATE.init(); {109656#true} is VALID [2022-04-15 07:06:22,626 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-15 07:06:22,626 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [850885383] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:06:22,626 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:06:22,627 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:06:23,809 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:06:23,809 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [345316024] [2022-04-15 07:06:23,809 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [345316024] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:06:23,809 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:06:23,810 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-15 07:06:23,810 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [621136838] [2022-04-15 07:06:23,810 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:06:23,810 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-15 07:06:23,810 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:06:23,810 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-15 07:06:23,839 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-15 07:06:23,840 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-15 07:06:23,840 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:06:23,840 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-15 07:06:23,840 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=196, Invalid=1064, Unknown=0, NotChecked=0, Total=1260 [2022-04-15 07:06:23,840 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-15 07:06:26,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:06:26,718 INFO L93 Difference]: Finished difference Result 401 states and 481 transitions. [2022-04-15 07:06:26,718 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-15 07:06:26,718 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-15 07:06:26,718 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:06:26,718 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-15 07:06:26,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 106 transitions. [2022-04-15 07:06:26,719 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-15 07:06:26,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 106 transitions. [2022-04-15 07:06:26,720 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 106 transitions. [2022-04-15 07:06:26,767 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-15 07:06:26,771 INFO L225 Difference]: With dead ends: 401 [2022-04-15 07:06:26,771 INFO L226 Difference]: Without dead ends: 278 [2022-04-15 07:06:26,771 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 23 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 648 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=208, Invalid=1198, Unknown=0, NotChecked=0, Total=1406 [2022-04-15 07:06:26,772 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 49 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 1546 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s 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, 0.8s IncrementalHoareTripleChecker+Time [2022-04-15 07:06:26,772 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 82 Invalid, 1557 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1546 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 07:06:26,772 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 278 states. [2022-04-15 07:06:27,833 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 278 to 232. [2022-04-15 07:06:27,833 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:06:27,834 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-15 07:06:27,834 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-15 07:06:27,834 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-15 07:06:27,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:06:27,837 INFO L93 Difference]: Finished difference Result 278 states and 327 transitions. [2022-04-15 07:06:27,837 INFO L276 IsEmpty]: Start isEmpty. Operand 278 states and 327 transitions. [2022-04-15 07:06:27,837 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:06:27,838 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:06:27,838 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-15 07:06:27,838 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-15 07:06:27,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:06:27,841 INFO L93 Difference]: Finished difference Result 278 states and 327 transitions. [2022-04-15 07:06:27,841 INFO L276 IsEmpty]: Start isEmpty. Operand 278 states and 327 transitions. [2022-04-15 07:06:27,841 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:06:27,841 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:06:27,841 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:06:27,841 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:06:27,841 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-15 07:06:27,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-15 07:06:27,844 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-15 07:06:27,844 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:06:27,844 INFO L478 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-15 07:06:27,844 INFO L479 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-15 07:06:27,844 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-15 07:06:29,330 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-15 07:06:29,330 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-15 07:06:29,330 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 07:06:29,330 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:06:29,330 INFO L499 BasicCegarLoop]: 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-15 07:06:29,346 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-15 07:06:29,547 WARN L460 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-15 07:06:29,547 INFO L403 AbstractCegarLoop]: === Iteration 80 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:06:29,547 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:06:29,547 INFO L85 PathProgramCache]: Analyzing trace with hash -1217477987, now seen corresponding path program 68 times [2022-04-15 07:06:29,547 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:06:29,547 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1729593359] [2022-04-15 07:06:33,644 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:06:33,726 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-15 07:06:37,821 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:06:37,940 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-15 07:06:37,941 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:06:37,942 INFO L85 PathProgramCache]: Analyzing trace with hash -1974198463, now seen corresponding path program 1 times [2022-04-15 07:06:37,943 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:06:37,943 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [519972998] [2022-04-15 07:06:37,943 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:06:37,943 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:06:37,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:38,076 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:06:38,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:38,079 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-15 07:06:38,080 INFO L290 TraceCheckUtils]: 1: Hoare triple {111680#(<= 20 ~SIZE~0)} assume true; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:38,080 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {111680#(<= 20 ~SIZE~0)} {111675#true} #90#return; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:38,080 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:06:38,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:38,081 INFO L290 TraceCheckUtils]: 0: Hoare triple {111675#true} ~cond := #in~cond; {111675#true} is VALID [2022-04-15 07:06:38,081 INFO L290 TraceCheckUtils]: 1: Hoare triple {111675#true} assume !(0 == ~cond); {111675#true} is VALID [2022-04-15 07:06:38,081 INFO L290 TraceCheckUtils]: 2: Hoare triple {111675#true} assume true; {111675#true} is VALID [2022-04-15 07:06:38,082 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {111675#true} {111680#(<= 20 ~SIZE~0)} #86#return; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:38,082 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-15 07:06:38,082 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-15 07:06:38,083 INFO L290 TraceCheckUtils]: 2: Hoare triple {111680#(<= 20 ~SIZE~0)} assume true; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:38,083 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {111680#(<= 20 ~SIZE~0)} {111675#true} #90#return; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:38,083 INFO L272 TraceCheckUtils]: 4: Hoare triple {111680#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:38,083 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-15 07:06:38,083 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-15 07:06:38,083 INFO L290 TraceCheckUtils]: 7: Hoare triple {111675#true} ~cond := #in~cond; {111675#true} is VALID [2022-04-15 07:06:38,083 INFO L290 TraceCheckUtils]: 8: Hoare triple {111675#true} assume !(0 == ~cond); {111675#true} is VALID [2022-04-15 07:06:38,084 INFO L290 TraceCheckUtils]: 9: Hoare triple {111675#true} assume true; {111675#true} is VALID [2022-04-15 07:06:38,084 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {111675#true} {111680#(<= 20 ~SIZE~0)} #86#return; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:38,084 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-15 07:06:38,084 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-15 07:06:38,085 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-15 07:06:38,085 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-15 07:06:38,086 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-15 07:06:38,086 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-15 07:06:38,087 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-15 07:06:38,087 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-15 07:06:38,088 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-15 07:06:38,088 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-15 07:06:38,088 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-15 07:06:38,089 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-15 07:06:38,089 INFO L290 TraceCheckUtils]: 23: Hoare triple {111692#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {111676#false} is VALID [2022-04-15 07:06:38,089 INFO L290 TraceCheckUtils]: 24: Hoare triple {111676#false} assume !false; {111676#false} is VALID [2022-04-15 07:06:38,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-15 07:06:38,089 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:06:38,089 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [519972998] [2022-04-15 07:06:38,089 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [519972998] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:06:38,089 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [779859790] [2022-04-15 07:06:38,089 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:06:38,089 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:06:38,090 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:06:38,091 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-15 07:06:38,092 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-15 07:06:38,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:38,120 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:06:38,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:38,127 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:06:38,269 INFO L272 TraceCheckUtils]: 0: Hoare triple {111675#true} call ULTIMATE.init(); {111675#true} is VALID [2022-04-15 07:06:38,269 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-15 07:06:38,270 INFO L290 TraceCheckUtils]: 2: Hoare triple {111680#(<= 20 ~SIZE~0)} assume true; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:38,270 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {111680#(<= 20 ~SIZE~0)} {111675#true} #90#return; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:38,270 INFO L272 TraceCheckUtils]: 4: Hoare triple {111680#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:38,270 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-15 07:06:38,271 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-15 07:06:38,271 INFO L290 TraceCheckUtils]: 7: Hoare triple {111680#(<= 20 ~SIZE~0)} ~cond := #in~cond; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:38,271 INFO L290 TraceCheckUtils]: 8: Hoare triple {111680#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:38,271 INFO L290 TraceCheckUtils]: 9: Hoare triple {111680#(<= 20 ~SIZE~0)} assume true; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:38,271 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {111680#(<= 20 ~SIZE~0)} {111680#(<= 20 ~SIZE~0)} #86#return; {111680#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:38,272 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-15 07:06:38,272 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-15 07:06:38,272 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-15 07:06:38,273 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-15 07:06:38,273 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-15 07:06:38,274 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-15 07:06:38,274 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-15 07:06:38,274 INFO L290 TraceCheckUtils]: 18: Hoare triple {111676#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {111676#false} is VALID [2022-04-15 07:06:38,274 INFO L290 TraceCheckUtils]: 19: Hoare triple {111676#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {111676#false} is VALID [2022-04-15 07:06:38,274 INFO L290 TraceCheckUtils]: 20: Hoare triple {111676#false} assume !(~d~0 == ~SIZE~0); {111676#false} is VALID [2022-04-15 07:06:38,274 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-15 07:06:38,275 INFO L290 TraceCheckUtils]: 22: Hoare triple {111676#false} ~cond := #in~cond; {111676#false} is VALID [2022-04-15 07:06:38,275 INFO L290 TraceCheckUtils]: 23: Hoare triple {111676#false} assume 0 == ~cond; {111676#false} is VALID [2022-04-15 07:06:38,275 INFO L290 TraceCheckUtils]: 24: Hoare triple {111676#false} assume !false; {111676#false} is VALID [2022-04-15 07:06:38,275 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-15 07:06:38,275 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:06:38,514 INFO L290 TraceCheckUtils]: 24: Hoare triple {111676#false} assume !false; {111676#false} is VALID [2022-04-15 07:06:38,515 INFO L290 TraceCheckUtils]: 23: Hoare triple {111676#false} assume 0 == ~cond; {111676#false} is VALID [2022-04-15 07:06:38,515 INFO L290 TraceCheckUtils]: 22: Hoare triple {111676#false} ~cond := #in~cond; {111676#false} is VALID [2022-04-15 07:06:38,515 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-15 07:06:38,515 INFO L290 TraceCheckUtils]: 20: Hoare triple {111676#false} assume !(~d~0 == ~SIZE~0); {111676#false} is VALID [2022-04-15 07:06:38,515 INFO L290 TraceCheckUtils]: 19: Hoare triple {111676#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {111676#false} is VALID [2022-04-15 07:06:38,515 INFO L290 TraceCheckUtils]: 18: Hoare triple {111676#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {111676#false} is VALID [2022-04-15 07:06:38,516 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-15 07:06:38,516 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-15 07:06:38,517 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-15 07:06:38,517 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-15 07:06:38,518 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-15 07:06:38,519 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-15 07:06:38,519 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-15 07:06:38,519 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {111675#true} {111811#(< 1 ~SIZE~0)} #86#return; {111811#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:38,520 INFO L290 TraceCheckUtils]: 9: Hoare triple {111675#true} assume true; {111675#true} is VALID [2022-04-15 07:06:38,520 INFO L290 TraceCheckUtils]: 8: Hoare triple {111675#true} assume !(0 == ~cond); {111675#true} is VALID [2022-04-15 07:06:38,520 INFO L290 TraceCheckUtils]: 7: Hoare triple {111675#true} ~cond := #in~cond; {111675#true} is VALID [2022-04-15 07:06:38,520 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-15 07:06:38,520 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-15 07:06:38,521 INFO L272 TraceCheckUtils]: 4: Hoare triple {111811#(< 1 ~SIZE~0)} call #t~ret7 := main(); {111811#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:38,521 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {111811#(< 1 ~SIZE~0)} {111675#true} #90#return; {111811#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:38,521 INFO L290 TraceCheckUtils]: 2: Hoare triple {111811#(< 1 ~SIZE~0)} assume true; {111811#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:38,522 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-15 07:06:38,522 INFO L272 TraceCheckUtils]: 0: Hoare triple {111675#true} call ULTIMATE.init(); {111675#true} is VALID [2022-04-15 07:06:38,522 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-15 07:06:38,522 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [779859790] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:06:38,522 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:06:38,522 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:06:39,586 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:06:39,587 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1729593359] [2022-04-15 07:06:39,587 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1729593359] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:06:39,587 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:06:39,587 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [28] imperfect sequences [] total 28 [2022-04-15 07:06:39,587 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2063167977] [2022-04-15 07:06:39,587 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:06:39,587 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-15 07:06:39,587 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:06:39,587 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-15 07:06:39,617 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-15 07:06:39,618 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-15 07:06:39,618 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:06:39,621 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-15 07:06:39,622 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=210, Invalid=1122, Unknown=0, NotChecked=0, Total=1332 [2022-04-15 07:06:39,622 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-15 07:06:42,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:06:42,226 INFO L93 Difference]: Finished difference Result 404 states and 484 transitions. [2022-04-15 07:06:42,226 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-15 07:06:42,227 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-15 07:06:42,227 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:06:42,227 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-15 07:06:42,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 107 transitions. [2022-04-15 07:06:42,227 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-15 07:06:42,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 107 transitions. [2022-04-15 07:06:42,228 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 107 transitions. [2022-04-15 07:06:42,276 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-15 07:06:42,280 INFO L225 Difference]: With dead ends: 404 [2022-04-15 07:06:42,280 INFO L226 Difference]: Without dead ends: 281 [2022-04-15 07:06:42,280 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 22 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 713 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=222, Invalid=1260, Unknown=0, NotChecked=0, Total=1482 [2022-04-15 07:06:42,280 INFO L913 BasicCegarLoop]: 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-15 07:06:42,281 INFO L914 BasicCegarLoop]: 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-15 07:06:42,281 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 281 states. [2022-04-15 07:06:43,028 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 281 to 232. [2022-04-15 07:06:43,028 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:06:43,029 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-15 07:06:43,029 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-15 07:06:43,029 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-15 07:06:43,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:06:43,032 INFO L93 Difference]: Finished difference Result 281 states and 330 transitions. [2022-04-15 07:06:43,032 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 330 transitions. [2022-04-15 07:06:43,033 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:06:43,033 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:06:43,033 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-15 07:06:43,033 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-15 07:06:43,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:06:43,036 INFO L93 Difference]: Finished difference Result 281 states and 330 transitions. [2022-04-15 07:06:43,036 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 330 transitions. [2022-04-15 07:06:43,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:06:43,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:06:43,036 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:06:43,037 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:06:43,037 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-15 07:06:43,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-15 07:06:43,040 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-15 07:06:43,040 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:06:43,040 INFO L478 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-15 07:06:43,040 INFO L479 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-15 07:06:43,040 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-15 07:06:44,633 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-15 07:06:44,634 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-15 07:06:44,634 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 07:06:44,634 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:06:44,634 INFO L499 BasicCegarLoop]: 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-15 07:06:44,650 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-15 07:06:44,835 WARN L460 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-15 07:06:44,836 INFO L403 AbstractCegarLoop]: === Iteration 81 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:06:44,836 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:06:44,836 INFO L85 PathProgramCache]: Analyzing trace with hash -793831265, now seen corresponding path program 69 times [2022-04-15 07:06:44,836 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:06:44,836 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1167570212] [2022-04-15 07:06:45,047 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-15 07:06:45,229 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-15 07:06:45,230 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:06:45,231 INFO L85 PathProgramCache]: Analyzing trace with hash 518324289, now seen corresponding path program 1 times [2022-04-15 07:06:45,231 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:06:45,232 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2016141832] [2022-04-15 07:06:45,232 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:06:45,232 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:06:45,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:45,338 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:06:45,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:45,341 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-15 07:06:45,342 INFO L290 TraceCheckUtils]: 1: Hoare triple {113712#(<= 20 ~SIZE~0)} assume true; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:45,342 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {113712#(<= 20 ~SIZE~0)} {113707#true} #90#return; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:45,342 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:06:45,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:45,343 INFO L290 TraceCheckUtils]: 0: Hoare triple {113707#true} ~cond := #in~cond; {113707#true} is VALID [2022-04-15 07:06:45,343 INFO L290 TraceCheckUtils]: 1: Hoare triple {113707#true} assume !(0 == ~cond); {113707#true} is VALID [2022-04-15 07:06:45,343 INFO L290 TraceCheckUtils]: 2: Hoare triple {113707#true} assume true; {113707#true} is VALID [2022-04-15 07:06:45,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {113707#true} {113712#(<= 20 ~SIZE~0)} #86#return; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:45,344 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-15 07:06:45,344 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-15 07:06:45,344 INFO L290 TraceCheckUtils]: 2: Hoare triple {113712#(<= 20 ~SIZE~0)} assume true; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:45,345 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {113712#(<= 20 ~SIZE~0)} {113707#true} #90#return; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:45,345 INFO L272 TraceCheckUtils]: 4: Hoare triple {113712#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:45,345 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-15 07:06:45,345 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-15 07:06:45,345 INFO L290 TraceCheckUtils]: 7: Hoare triple {113707#true} ~cond := #in~cond; {113707#true} is VALID [2022-04-15 07:06:45,345 INFO L290 TraceCheckUtils]: 8: Hoare triple {113707#true} assume !(0 == ~cond); {113707#true} is VALID [2022-04-15 07:06:45,345 INFO L290 TraceCheckUtils]: 9: Hoare triple {113707#true} assume true; {113707#true} is VALID [2022-04-15 07:06:45,346 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {113707#true} {113712#(<= 20 ~SIZE~0)} #86#return; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:45,346 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-15 07:06:45,346 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-15 07:06:45,347 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-15 07:06:45,347 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-15 07:06:45,348 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-15 07:06:45,348 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-15 07:06:45,349 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-15 07:06:45,349 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-15 07:06:45,349 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-15 07:06:45,350 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-15 07:06:45,350 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-15 07:06:45,350 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-15 07:06:45,351 INFO L290 TraceCheckUtils]: 23: Hoare triple {113724#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {113708#false} is VALID [2022-04-15 07:06:45,351 INFO L290 TraceCheckUtils]: 24: Hoare triple {113708#false} assume !false; {113708#false} is VALID [2022-04-15 07:06:45,351 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-15 07:06:45,351 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:06:45,351 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2016141832] [2022-04-15 07:06:45,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2016141832] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:06:45,351 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1569209613] [2022-04-15 07:06:45,351 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:06:45,351 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:06:45,351 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:06:45,352 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-15 07:06:45,353 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-15 07:06:45,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:45,382 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:06:45,387 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:45,388 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:06:45,608 INFO L272 TraceCheckUtils]: 0: Hoare triple {113707#true} call ULTIMATE.init(); {113707#true} is VALID [2022-04-15 07:06:45,608 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-15 07:06:45,609 INFO L290 TraceCheckUtils]: 2: Hoare triple {113712#(<= 20 ~SIZE~0)} assume true; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:45,609 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {113712#(<= 20 ~SIZE~0)} {113707#true} #90#return; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:45,609 INFO L272 TraceCheckUtils]: 4: Hoare triple {113712#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:45,610 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-15 07:06:45,610 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-15 07:06:45,610 INFO L290 TraceCheckUtils]: 7: Hoare triple {113712#(<= 20 ~SIZE~0)} ~cond := #in~cond; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:45,611 INFO L290 TraceCheckUtils]: 8: Hoare triple {113712#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:45,611 INFO L290 TraceCheckUtils]: 9: Hoare triple {113712#(<= 20 ~SIZE~0)} assume true; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:45,611 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {113712#(<= 20 ~SIZE~0)} {113712#(<= 20 ~SIZE~0)} #86#return; {113712#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:45,612 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-15 07:06:45,612 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-15 07:06:45,613 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-15 07:06:45,613 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-15 07:06:45,614 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-15 07:06:45,615 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-15 07:06:45,615 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-15 07:06:45,615 INFO L290 TraceCheckUtils]: 18: Hoare triple {113708#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {113708#false} is VALID [2022-04-15 07:06:45,615 INFO L290 TraceCheckUtils]: 19: Hoare triple {113708#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {113708#false} is VALID [2022-04-15 07:06:45,615 INFO L290 TraceCheckUtils]: 20: Hoare triple {113708#false} assume !(~d~0 == ~SIZE~0); {113708#false} is VALID [2022-04-15 07:06:45,615 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-15 07:06:45,615 INFO L290 TraceCheckUtils]: 22: Hoare triple {113708#false} ~cond := #in~cond; {113708#false} is VALID [2022-04-15 07:06:45,616 INFO L290 TraceCheckUtils]: 23: Hoare triple {113708#false} assume 0 == ~cond; {113708#false} is VALID [2022-04-15 07:06:45,616 INFO L290 TraceCheckUtils]: 24: Hoare triple {113708#false} assume !false; {113708#false} is VALID [2022-04-15 07:06:45,616 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-15 07:06:45,616 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:06:45,798 INFO L290 TraceCheckUtils]: 24: Hoare triple {113708#false} assume !false; {113708#false} is VALID [2022-04-15 07:06:45,799 INFO L290 TraceCheckUtils]: 23: Hoare triple {113708#false} assume 0 == ~cond; {113708#false} is VALID [2022-04-15 07:06:45,799 INFO L290 TraceCheckUtils]: 22: Hoare triple {113708#false} ~cond := #in~cond; {113708#false} is VALID [2022-04-15 07:06:45,799 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-15 07:06:45,799 INFO L290 TraceCheckUtils]: 20: Hoare triple {113708#false} assume !(~d~0 == ~SIZE~0); {113708#false} is VALID [2022-04-15 07:06:45,799 INFO L290 TraceCheckUtils]: 19: Hoare triple {113708#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {113708#false} is VALID [2022-04-15 07:06:45,799 INFO L290 TraceCheckUtils]: 18: Hoare triple {113708#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {113708#false} is VALID [2022-04-15 07:06:45,799 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-15 07:06:45,800 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-15 07:06:45,800 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-15 07:06:45,800 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-15 07:06:45,801 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-15 07:06:45,801 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-15 07:06:45,801 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-15 07:06:45,802 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {113707#true} {113843#(< 1 ~SIZE~0)} #86#return; {113843#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:45,802 INFO L290 TraceCheckUtils]: 9: Hoare triple {113707#true} assume true; {113707#true} is VALID [2022-04-15 07:06:45,802 INFO L290 TraceCheckUtils]: 8: Hoare triple {113707#true} assume !(0 == ~cond); {113707#true} is VALID [2022-04-15 07:06:45,802 INFO L290 TraceCheckUtils]: 7: Hoare triple {113707#true} ~cond := #in~cond; {113707#true} is VALID [2022-04-15 07:06:45,802 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-15 07:06:45,802 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-15 07:06:45,802 INFO L272 TraceCheckUtils]: 4: Hoare triple {113843#(< 1 ~SIZE~0)} call #t~ret7 := main(); {113843#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:45,803 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {113843#(< 1 ~SIZE~0)} {113707#true} #90#return; {113843#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:45,803 INFO L290 TraceCheckUtils]: 2: Hoare triple {113843#(< 1 ~SIZE~0)} assume true; {113843#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:45,803 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-15 07:06:45,803 INFO L272 TraceCheckUtils]: 0: Hoare triple {113707#true} call ULTIMATE.init(); {113707#true} is VALID [2022-04-15 07:06:45,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-15 07:06:45,803 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1569209613] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:06:45,803 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:06:45,804 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:06:46,679 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:06:46,679 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1167570212] [2022-04-15 07:06:46,679 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1167570212] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:06:46,679 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:06:46,679 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [29] imperfect sequences [] total 29 [2022-04-15 07:06:46,679 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1209433275] [2022-04-15 07:06:46,679 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:06:46,680 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-15 07:06:46,680 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:06:46,680 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-15 07:06:46,711 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-15 07:06:46,711 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2022-04-15 07:06:46,711 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:06:46,711 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-04-15 07:06:46,711 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=224, Invalid=1182, Unknown=0, NotChecked=0, Total=1406 [2022-04-15 07:06:46,711 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-15 07:06:49,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:06:49,584 INFO L93 Difference]: Finished difference Result 401 states and 481 transitions. [2022-04-15 07:06:49,584 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-15 07:06:49,584 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-15 07:06:49,585 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:06:49,585 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-15 07:06:49,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 108 transitions. [2022-04-15 07:06:49,585 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-15 07:06:49,586 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 108 transitions. [2022-04-15 07:06:49,586 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 108 transitions. [2022-04-15 07:06:49,636 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-15 07:06:49,640 INFO L225 Difference]: With dead ends: 401 [2022-04-15 07:06:49,640 INFO L226 Difference]: Without dead ends: 278 [2022-04-15 07:06:49,640 INFO L912 BasicCegarLoop]: 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-15 07:06:49,640 INFO L913 BasicCegarLoop]: 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-15 07:06:49,640 INFO L914 BasicCegarLoop]: 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-15 07:06:49,641 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 278 states. [2022-04-15 07:06:50,459 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 278 to 232. [2022-04-15 07:06:50,460 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:06:50,460 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-15 07:06:50,460 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-15 07:06:50,460 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-15 07:06:50,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:06:50,464 INFO L93 Difference]: Finished difference Result 278 states and 327 transitions. [2022-04-15 07:06:50,464 INFO L276 IsEmpty]: Start isEmpty. Operand 278 states and 327 transitions. [2022-04-15 07:06:50,464 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:06:50,464 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:06:50,464 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-15 07:06:50,464 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-15 07:06:50,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:06:50,467 INFO L93 Difference]: Finished difference Result 278 states and 327 transitions. [2022-04-15 07:06:50,467 INFO L276 IsEmpty]: Start isEmpty. Operand 278 states and 327 transitions. [2022-04-15 07:06:50,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:06:50,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:06:50,468 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:06:50,468 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:06:50,468 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-15 07:06:50,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-15 07:06:50,471 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-15 07:06:50,471 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:06:50,471 INFO L478 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-15 07:06:50,471 INFO L479 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-15 07:06:50,471 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-15 07:06:52,132 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-15 07:06:52,132 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-15 07:06:52,132 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 07:06:52,133 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:06:52,133 INFO L499 BasicCegarLoop]: 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-15 07:06:52,151 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-15 07:06:52,344 WARN L460 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-15 07:06:52,356 INFO L403 AbstractCegarLoop]: === Iteration 82 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:06:52,356 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:06:52,356 INFO L85 PathProgramCache]: Analyzing trace with hash -1823190563, now seen corresponding path program 70 times [2022-04-15 07:06:52,356 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:06:52,356 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [212663615] [2022-04-15 07:06:56,509 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:06:56,636 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-15 07:06:58,092 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:06:58,219 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-15 07:06:58,220 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:06:58,224 INFO L85 PathProgramCache]: Analyzing trace with hash -1284120255, now seen corresponding path program 1 times [2022-04-15 07:06:58,224 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:06:58,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1086351942] [2022-04-15 07:06:58,224 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:06:58,224 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:06:58,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:58,388 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:06:58,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:58,393 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-15 07:06:58,393 INFO L290 TraceCheckUtils]: 1: Hoare triple {115733#(<= 20 ~SIZE~0)} assume true; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:58,393 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {115733#(<= 20 ~SIZE~0)} {115728#true} #90#return; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:58,394 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:06:58,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:58,395 INFO L290 TraceCheckUtils]: 0: Hoare triple {115728#true} ~cond := #in~cond; {115728#true} is VALID [2022-04-15 07:06:58,395 INFO L290 TraceCheckUtils]: 1: Hoare triple {115728#true} assume !(0 == ~cond); {115728#true} is VALID [2022-04-15 07:06:58,396 INFO L290 TraceCheckUtils]: 2: Hoare triple {115728#true} assume true; {115728#true} is VALID [2022-04-15 07:06:58,396 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {115728#true} {115733#(<= 20 ~SIZE~0)} #86#return; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:58,396 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-15 07:06:58,397 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-15 07:06:58,397 INFO L290 TraceCheckUtils]: 2: Hoare triple {115733#(<= 20 ~SIZE~0)} assume true; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:58,397 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {115733#(<= 20 ~SIZE~0)} {115728#true} #90#return; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:58,398 INFO L272 TraceCheckUtils]: 4: Hoare triple {115733#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:58,398 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-15 07:06:58,398 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-15 07:06:58,398 INFO L290 TraceCheckUtils]: 7: Hoare triple {115728#true} ~cond := #in~cond; {115728#true} is VALID [2022-04-15 07:06:58,398 INFO L290 TraceCheckUtils]: 8: Hoare triple {115728#true} assume !(0 == ~cond); {115728#true} is VALID [2022-04-15 07:06:58,398 INFO L290 TraceCheckUtils]: 9: Hoare triple {115728#true} assume true; {115728#true} is VALID [2022-04-15 07:06:58,399 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {115728#true} {115733#(<= 20 ~SIZE~0)} #86#return; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:58,399 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-15 07:06:58,399 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-15 07:06:58,400 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-15 07:06:58,401 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-15 07:06:58,401 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-15 07:06:58,402 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-15 07:06:58,403 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-15 07:06:58,403 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-15 07:06:58,403 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-15 07:06:58,404 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-15 07:06:58,405 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-15 07:06:58,405 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-15 07:06:58,405 INFO L290 TraceCheckUtils]: 23: Hoare triple {115745#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {115729#false} is VALID [2022-04-15 07:06:58,405 INFO L290 TraceCheckUtils]: 24: Hoare triple {115729#false} assume !false; {115729#false} is VALID [2022-04-15 07:06:58,405 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-15 07:06:58,405 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:06:58,406 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1086351942] [2022-04-15 07:06:58,406 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1086351942] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:06:58,406 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [327846351] [2022-04-15 07:06:58,406 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:06:58,406 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:06:58,406 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:06:58,407 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-15 07:06:58,408 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-15 07:06:58,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:58,437 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:06:58,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:06:58,443 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:06:58,681 INFO L272 TraceCheckUtils]: 0: Hoare triple {115728#true} call ULTIMATE.init(); {115728#true} is VALID [2022-04-15 07:06:58,682 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-15 07:06:58,682 INFO L290 TraceCheckUtils]: 2: Hoare triple {115733#(<= 20 ~SIZE~0)} assume true; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:58,683 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {115733#(<= 20 ~SIZE~0)} {115728#true} #90#return; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:58,683 INFO L272 TraceCheckUtils]: 4: Hoare triple {115733#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:58,683 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-15 07:06:58,684 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-15 07:06:58,684 INFO L290 TraceCheckUtils]: 7: Hoare triple {115733#(<= 20 ~SIZE~0)} ~cond := #in~cond; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:58,684 INFO L290 TraceCheckUtils]: 8: Hoare triple {115733#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:58,685 INFO L290 TraceCheckUtils]: 9: Hoare triple {115733#(<= 20 ~SIZE~0)} assume true; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:58,685 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {115733#(<= 20 ~SIZE~0)} {115733#(<= 20 ~SIZE~0)} #86#return; {115733#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:06:58,685 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-15 07:06:58,686 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-15 07:06:58,686 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-15 07:06:58,687 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-15 07:06:58,688 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-15 07:06:58,688 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-15 07:06:58,689 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-15 07:06:58,689 INFO L290 TraceCheckUtils]: 18: Hoare triple {115729#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {115729#false} is VALID [2022-04-15 07:06:58,689 INFO L290 TraceCheckUtils]: 19: Hoare triple {115729#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {115729#false} is VALID [2022-04-15 07:06:58,689 INFO L290 TraceCheckUtils]: 20: Hoare triple {115729#false} assume !(~d~0 == ~SIZE~0); {115729#false} is VALID [2022-04-15 07:06:58,689 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-15 07:06:58,689 INFO L290 TraceCheckUtils]: 22: Hoare triple {115729#false} ~cond := #in~cond; {115729#false} is VALID [2022-04-15 07:06:58,689 INFO L290 TraceCheckUtils]: 23: Hoare triple {115729#false} assume 0 == ~cond; {115729#false} is VALID [2022-04-15 07:06:58,689 INFO L290 TraceCheckUtils]: 24: Hoare triple {115729#false} assume !false; {115729#false} is VALID [2022-04-15 07:06:58,689 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-15 07:06:58,689 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:06:58,946 INFO L290 TraceCheckUtils]: 24: Hoare triple {115729#false} assume !false; {115729#false} is VALID [2022-04-15 07:06:58,946 INFO L290 TraceCheckUtils]: 23: Hoare triple {115729#false} assume 0 == ~cond; {115729#false} is VALID [2022-04-15 07:06:58,946 INFO L290 TraceCheckUtils]: 22: Hoare triple {115729#false} ~cond := #in~cond; {115729#false} is VALID [2022-04-15 07:06:58,946 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-15 07:06:58,946 INFO L290 TraceCheckUtils]: 20: Hoare triple {115729#false} assume !(~d~0 == ~SIZE~0); {115729#false} is VALID [2022-04-15 07:06:58,946 INFO L290 TraceCheckUtils]: 19: Hoare triple {115729#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {115729#false} is VALID [2022-04-15 07:06:58,946 INFO L290 TraceCheckUtils]: 18: Hoare triple {115729#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {115729#false} is VALID [2022-04-15 07:06:58,947 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-15 07:06:58,947 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-15 07:06:58,948 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-15 07:06:58,948 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-15 07:06:58,949 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-15 07:06:58,949 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-15 07:06:58,949 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-15 07:06:58,949 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {115728#true} {115864#(< 1 ~SIZE~0)} #86#return; {115864#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:58,950 INFO L290 TraceCheckUtils]: 9: Hoare triple {115728#true} assume true; {115728#true} is VALID [2022-04-15 07:06:58,950 INFO L290 TraceCheckUtils]: 8: Hoare triple {115728#true} assume !(0 == ~cond); {115728#true} is VALID [2022-04-15 07:06:58,950 INFO L290 TraceCheckUtils]: 7: Hoare triple {115728#true} ~cond := #in~cond; {115728#true} is VALID [2022-04-15 07:06:58,950 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-15 07:06:58,950 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-15 07:06:58,950 INFO L272 TraceCheckUtils]: 4: Hoare triple {115864#(< 1 ~SIZE~0)} call #t~ret7 := main(); {115864#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:58,950 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {115864#(< 1 ~SIZE~0)} {115728#true} #90#return; {115864#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:58,951 INFO L290 TraceCheckUtils]: 2: Hoare triple {115864#(< 1 ~SIZE~0)} assume true; {115864#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:06:58,951 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-15 07:06:58,951 INFO L272 TraceCheckUtils]: 0: Hoare triple {115728#true} call ULTIMATE.init(); {115728#true} is VALID [2022-04-15 07:06:58,951 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-15 07:06:58,951 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [327846351] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:06:58,951 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:06:58,952 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:07:00,188 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:07:00,189 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [212663615] [2022-04-15 07:07:00,189 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [212663615] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:07:00,189 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:07:00,189 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [30] imperfect sequences [] total 30 [2022-04-15 07:07:00,189 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [53202653] [2022-04-15 07:07:00,189 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:07:00,189 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-15 07:07:00,189 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:07:00,189 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-15 07:07:00,235 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-15 07:07:00,235 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-15 07:07:00,235 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:07:00,235 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-15 07:07:00,235 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=238, Invalid=1244, Unknown=0, NotChecked=0, Total=1482 [2022-04-15 07:07:00,235 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-15 07:07:03,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:07:03,217 INFO L93 Difference]: Finished difference Result 398 states and 478 transitions. [2022-04-15 07:07:03,217 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-15 07:07:03,217 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-15 07:07:03,217 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:07:03,217 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-15 07:07:03,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 109 transitions. [2022-04-15 07:07:03,218 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-15 07:07:03,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 109 transitions. [2022-04-15 07:07:03,219 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 109 transitions. [2022-04-15 07:07:03,269 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-15 07:07:03,273 INFO L225 Difference]: With dead ends: 398 [2022-04-15 07:07:03,273 INFO L226 Difference]: Without dead ends: 275 [2022-04-15 07:07:03,273 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 20 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 816 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=250, Invalid=1390, Unknown=0, NotChecked=0, Total=1640 [2022-04-15 07:07:03,273 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 52 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 1414 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s 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.9s IncrementalHoareTripleChecker+Time [2022-04-15 07:07:03,273 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [53 Valid, 62 Invalid, 1424 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1414 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-15 07:07:03,274 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 275 states. [2022-04-15 07:07:04,209 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 275 to 232. [2022-04-15 07:07:04,210 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:07:04,210 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-15 07:07:04,210 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-15 07:07:04,210 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-15 07:07:04,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:07:04,213 INFO L93 Difference]: Finished difference Result 275 states and 324 transitions. [2022-04-15 07:07:04,213 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 324 transitions. [2022-04-15 07:07:04,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:07:04,214 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:07:04,214 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-15 07:07:04,214 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-15 07:07:04,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:07:04,217 INFO L93 Difference]: Finished difference Result 275 states and 324 transitions. [2022-04-15 07:07:04,217 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 324 transitions. [2022-04-15 07:07:04,217 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:07:04,217 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:07:04,217 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:07:04,217 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:07:04,217 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-15 07:07:04,220 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-15 07:07:04,220 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-15 07:07:04,220 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:07:04,220 INFO L478 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-15 07:07:04,220 INFO L479 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-15 07:07:04,220 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-15 07:07:05,938 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-15 07:07:05,939 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-15 07:07:05,939 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 07:07:05,939 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:07:05,939 INFO L499 BasicCegarLoop]: 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-15 07:07:05,957 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-15 07:07:06,139 WARN L460 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-15 07:07:06,140 INFO L403 AbstractCegarLoop]: === Iteration 83 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:07:06,140 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:07:06,140 INFO L85 PathProgramCache]: Analyzing trace with hash 1627771231, now seen corresponding path program 71 times [2022-04-15 07:07:06,140 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:07:06,140 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [791175416] [2022-04-15 07:07:06,334 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-15 07:07:09,152 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:07:09,290 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-15 07:07:09,292 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:07:09,294 INFO L85 PathProgramCache]: Analyzing trace with hash 1208402497, now seen corresponding path program 1 times [2022-04-15 07:07:09,294 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:07:09,295 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [757040942] [2022-04-15 07:07:09,295 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:07:09,295 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:07:09,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:09,496 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:07:09,498 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:09,502 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-15 07:07:09,502 INFO L290 TraceCheckUtils]: 1: Hoare triple {117743#(<= 20 ~SIZE~0)} assume true; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:09,503 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {117743#(<= 20 ~SIZE~0)} {117738#true} #90#return; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:09,503 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:07:09,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:09,505 INFO L290 TraceCheckUtils]: 0: Hoare triple {117738#true} ~cond := #in~cond; {117738#true} is VALID [2022-04-15 07:07:09,505 INFO L290 TraceCheckUtils]: 1: Hoare triple {117738#true} assume !(0 == ~cond); {117738#true} is VALID [2022-04-15 07:07:09,505 INFO L290 TraceCheckUtils]: 2: Hoare triple {117738#true} assume true; {117738#true} is VALID [2022-04-15 07:07:09,506 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {117738#true} {117743#(<= 20 ~SIZE~0)} #86#return; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:09,506 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-15 07:07:09,507 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-15 07:07:09,507 INFO L290 TraceCheckUtils]: 2: Hoare triple {117743#(<= 20 ~SIZE~0)} assume true; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:09,508 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {117743#(<= 20 ~SIZE~0)} {117738#true} #90#return; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:09,508 INFO L272 TraceCheckUtils]: 4: Hoare triple {117743#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:09,508 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-15 07:07:09,509 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-15 07:07:09,509 INFO L290 TraceCheckUtils]: 7: Hoare triple {117738#true} ~cond := #in~cond; {117738#true} is VALID [2022-04-15 07:07:09,509 INFO L290 TraceCheckUtils]: 8: Hoare triple {117738#true} assume !(0 == ~cond); {117738#true} is VALID [2022-04-15 07:07:09,509 INFO L290 TraceCheckUtils]: 9: Hoare triple {117738#true} assume true; {117738#true} is VALID [2022-04-15 07:07:09,509 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {117738#true} {117743#(<= 20 ~SIZE~0)} #86#return; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:09,510 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-15 07:07:09,510 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-15 07:07:09,511 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-15 07:07:09,512 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-15 07:07:09,513 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-15 07:07:09,513 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-15 07:07:09,514 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-15 07:07:09,515 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-15 07:07:09,516 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-15 07:07:09,516 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-15 07:07:09,517 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-15 07:07:09,517 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-15 07:07:09,518 INFO L290 TraceCheckUtils]: 23: Hoare triple {117755#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {117739#false} is VALID [2022-04-15 07:07:09,518 INFO L290 TraceCheckUtils]: 24: Hoare triple {117739#false} assume !false; {117739#false} is VALID [2022-04-15 07:07:09,518 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-15 07:07:09,518 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:07:09,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [757040942] [2022-04-15 07:07:09,518 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [757040942] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:07:09,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [42204053] [2022-04-15 07:07:09,518 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:07:09,519 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:07:09,519 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:07:09,520 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-15 07:07:09,520 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-15 07:07:09,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:09,563 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:07:09,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:09,572 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:07:09,866 INFO L272 TraceCheckUtils]: 0: Hoare triple {117738#true} call ULTIMATE.init(); {117738#true} is VALID [2022-04-15 07:07:09,866 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-15 07:07:09,867 INFO L290 TraceCheckUtils]: 2: Hoare triple {117743#(<= 20 ~SIZE~0)} assume true; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:09,867 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {117743#(<= 20 ~SIZE~0)} {117738#true} #90#return; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:09,867 INFO L272 TraceCheckUtils]: 4: Hoare triple {117743#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:09,868 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-15 07:07:09,868 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-15 07:07:09,868 INFO L290 TraceCheckUtils]: 7: Hoare triple {117743#(<= 20 ~SIZE~0)} ~cond := #in~cond; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:09,869 INFO L290 TraceCheckUtils]: 8: Hoare triple {117743#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:09,869 INFO L290 TraceCheckUtils]: 9: Hoare triple {117743#(<= 20 ~SIZE~0)} assume true; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:09,869 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {117743#(<= 20 ~SIZE~0)} {117743#(<= 20 ~SIZE~0)} #86#return; {117743#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:09,870 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-15 07:07:09,870 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-15 07:07:09,871 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-15 07:07:09,871 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-15 07:07:09,872 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-15 07:07:09,872 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-15 07:07:09,873 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-15 07:07:09,873 INFO L290 TraceCheckUtils]: 18: Hoare triple {117739#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {117739#false} is VALID [2022-04-15 07:07:09,873 INFO L290 TraceCheckUtils]: 19: Hoare triple {117739#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {117739#false} is VALID [2022-04-15 07:07:09,873 INFO L290 TraceCheckUtils]: 20: Hoare triple {117739#false} assume !(~d~0 == ~SIZE~0); {117739#false} is VALID [2022-04-15 07:07:09,873 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-15 07:07:09,873 INFO L290 TraceCheckUtils]: 22: Hoare triple {117739#false} ~cond := #in~cond; {117739#false} is VALID [2022-04-15 07:07:09,873 INFO L290 TraceCheckUtils]: 23: Hoare triple {117739#false} assume 0 == ~cond; {117739#false} is VALID [2022-04-15 07:07:09,873 INFO L290 TraceCheckUtils]: 24: Hoare triple {117739#false} assume !false; {117739#false} is VALID [2022-04-15 07:07:09,874 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-15 07:07:09,874 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:07:10,171 INFO L290 TraceCheckUtils]: 24: Hoare triple {117739#false} assume !false; {117739#false} is VALID [2022-04-15 07:07:10,171 INFO L290 TraceCheckUtils]: 23: Hoare triple {117739#false} assume 0 == ~cond; {117739#false} is VALID [2022-04-15 07:07:10,172 INFO L290 TraceCheckUtils]: 22: Hoare triple {117739#false} ~cond := #in~cond; {117739#false} is VALID [2022-04-15 07:07:10,172 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-15 07:07:10,172 INFO L290 TraceCheckUtils]: 20: Hoare triple {117739#false} assume !(~d~0 == ~SIZE~0); {117739#false} is VALID [2022-04-15 07:07:10,172 INFO L290 TraceCheckUtils]: 19: Hoare triple {117739#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {117739#false} is VALID [2022-04-15 07:07:10,172 INFO L290 TraceCheckUtils]: 18: Hoare triple {117739#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {117739#false} is VALID [2022-04-15 07:07:10,172 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-15 07:07:10,173 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-15 07:07:10,173 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-15 07:07:10,174 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-15 07:07:10,174 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-15 07:07:10,175 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-15 07:07:10,175 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-15 07:07:10,175 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {117738#true} {117874#(< 1 ~SIZE~0)} #86#return; {117874#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:10,176 INFO L290 TraceCheckUtils]: 9: Hoare triple {117738#true} assume true; {117738#true} is VALID [2022-04-15 07:07:10,176 INFO L290 TraceCheckUtils]: 8: Hoare triple {117738#true} assume !(0 == ~cond); {117738#true} is VALID [2022-04-15 07:07:10,176 INFO L290 TraceCheckUtils]: 7: Hoare triple {117738#true} ~cond := #in~cond; {117738#true} is VALID [2022-04-15 07:07:10,176 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-15 07:07:10,176 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-15 07:07:10,176 INFO L272 TraceCheckUtils]: 4: Hoare triple {117874#(< 1 ~SIZE~0)} call #t~ret7 := main(); {117874#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:10,177 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {117874#(< 1 ~SIZE~0)} {117738#true} #90#return; {117874#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:10,177 INFO L290 TraceCheckUtils]: 2: Hoare triple {117874#(< 1 ~SIZE~0)} assume true; {117874#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:10,177 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-15 07:07:10,178 INFO L272 TraceCheckUtils]: 0: Hoare triple {117738#true} call ULTIMATE.init(); {117738#true} is VALID [2022-04-15 07:07:10,178 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-15 07:07:10,178 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [42204053] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:07:10,178 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:07:10,178 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:07:11,409 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:07:11,409 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [791175416] [2022-04-15 07:07:11,409 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [791175416] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:07:11,410 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:07:11,410 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [31] imperfect sequences [] total 31 [2022-04-15 07:07:11,410 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [986941983] [2022-04-15 07:07:11,410 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:07:11,410 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-15 07:07:11,410 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:07:11,410 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-15 07:07:11,449 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-15 07:07:11,450 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-15 07:07:11,450 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:07:11,450 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-15 07:07:11,450 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=252, Invalid=1308, Unknown=0, NotChecked=0, Total=1560 [2022-04-15 07:07:11,450 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-15 07:07:14,971 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:07:14,972 INFO L93 Difference]: Finished difference Result 395 states and 475 transitions. [2022-04-15 07:07:14,972 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-15 07:07:14,972 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-15 07:07:14,972 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:07:14,972 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-15 07:07:14,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 110 transitions. [2022-04-15 07:07:14,973 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-15 07:07:14,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 110 transitions. [2022-04-15 07:07:14,973 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 110 transitions. [2022-04-15 07:07:15,024 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-15 07:07:15,028 INFO L225 Difference]: With dead ends: 395 [2022-04-15 07:07:15,028 INFO L226 Difference]: Without dead ends: 272 [2022-04-15 07:07:15,028 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 19 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 854 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=264, Invalid=1458, Unknown=0, NotChecked=0, Total=1722 [2022-04-15 07:07:15,029 INFO L913 BasicCegarLoop]: 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-15 07:07:15,029 INFO L914 BasicCegarLoop]: 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-15 07:07:15,029 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 272 states. [2022-04-15 07:07:15,735 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 272 to 232. [2022-04-15 07:07:15,735 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:07:15,735 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-15 07:07:15,736 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-15 07:07:15,736 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-15 07:07:15,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:07:15,739 INFO L93 Difference]: Finished difference Result 272 states and 321 transitions. [2022-04-15 07:07:15,739 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 321 transitions. [2022-04-15 07:07:15,739 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:07:15,740 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:07:15,740 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-15 07:07:15,740 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-15 07:07:15,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:07:15,743 INFO L93 Difference]: Finished difference Result 272 states and 321 transitions. [2022-04-15 07:07:15,743 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 321 transitions. [2022-04-15 07:07:15,743 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:07:15,743 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:07:15,743 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:07:15,744 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:07:15,744 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-15 07:07:15,747 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-15 07:07:15,747 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-15 07:07:15,747 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:07:15,747 INFO L478 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-15 07:07:15,747 INFO L479 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-15 07:07:15,747 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-15 07:07:17,545 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-15 07:07:17,545 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-15 07:07:17,545 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 07:07:17,545 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:07:17,546 INFO L499 BasicCegarLoop]: 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-15 07:07:17,562 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-15 07:07:17,746 WARN L460 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-15 07:07:17,746 INFO L403 AbstractCegarLoop]: === Iteration 84 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:07:17,746 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:07:17,746 INFO L85 PathProgramCache]: Analyzing trace with hash 1902530845, now seen corresponding path program 72 times [2022-04-15 07:07:17,746 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:07:17,746 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [391176674] [2022-04-15 07:07:17,944 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-15 07:07:18,087 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-15 07:07:18,088 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:07:18,113 INFO L85 PathProgramCache]: Analyzing trace with hash -594042047, now seen corresponding path program 1 times [2022-04-15 07:07:18,113 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:07:18,114 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1673212209] [2022-04-15 07:07:18,114 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:07:18,114 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:07:18,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:18,230 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:07:18,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:18,235 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-15 07:07:18,235 INFO L290 TraceCheckUtils]: 1: Hoare triple {119742#(<= 20 ~SIZE~0)} assume true; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:18,236 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {119742#(<= 20 ~SIZE~0)} {119737#true} #90#return; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:18,236 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:07:18,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:18,237 INFO L290 TraceCheckUtils]: 0: Hoare triple {119737#true} ~cond := #in~cond; {119737#true} is VALID [2022-04-15 07:07:18,237 INFO L290 TraceCheckUtils]: 1: Hoare triple {119737#true} assume !(0 == ~cond); {119737#true} is VALID [2022-04-15 07:07:18,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {119737#true} assume true; {119737#true} is VALID [2022-04-15 07:07:18,237 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {119737#true} {119742#(<= 20 ~SIZE~0)} #86#return; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:18,238 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-15 07:07:18,238 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-15 07:07:18,238 INFO L290 TraceCheckUtils]: 2: Hoare triple {119742#(<= 20 ~SIZE~0)} assume true; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:18,239 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {119742#(<= 20 ~SIZE~0)} {119737#true} #90#return; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:18,239 INFO L272 TraceCheckUtils]: 4: Hoare triple {119742#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:18,239 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-15 07:07:18,239 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-15 07:07:18,239 INFO L290 TraceCheckUtils]: 7: Hoare triple {119737#true} ~cond := #in~cond; {119737#true} is VALID [2022-04-15 07:07:18,239 INFO L290 TraceCheckUtils]: 8: Hoare triple {119737#true} assume !(0 == ~cond); {119737#true} is VALID [2022-04-15 07:07:18,239 INFO L290 TraceCheckUtils]: 9: Hoare triple {119737#true} assume true; {119737#true} is VALID [2022-04-15 07:07:18,240 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {119737#true} {119742#(<= 20 ~SIZE~0)} #86#return; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:18,240 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-15 07:07:18,240 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-15 07:07:18,241 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-15 07:07:18,241 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-15 07:07:18,242 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-15 07:07:18,242 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-15 07:07:18,243 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-15 07:07:18,243 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-15 07:07:18,243 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-15 07:07:18,244 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-15 07:07:18,244 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-15 07:07:18,244 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-15 07:07:18,245 INFO L290 TraceCheckUtils]: 23: Hoare triple {119754#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {119738#false} is VALID [2022-04-15 07:07:18,245 INFO L290 TraceCheckUtils]: 24: Hoare triple {119738#false} assume !false; {119738#false} is VALID [2022-04-15 07:07:18,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-15 07:07:18,245 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:07:18,245 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1673212209] [2022-04-15 07:07:18,245 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1673212209] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:07:18,245 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [313627352] [2022-04-15 07:07:18,245 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:07:18,245 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:07:18,245 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:07:18,246 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-15 07:07:18,247 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-15 07:07:18,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:18,275 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:07:18,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:18,281 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:07:18,442 INFO L272 TraceCheckUtils]: 0: Hoare triple {119737#true} call ULTIMATE.init(); {119737#true} is VALID [2022-04-15 07:07:18,443 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-15 07:07:18,443 INFO L290 TraceCheckUtils]: 2: Hoare triple {119742#(<= 20 ~SIZE~0)} assume true; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:18,443 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {119742#(<= 20 ~SIZE~0)} {119737#true} #90#return; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:18,443 INFO L272 TraceCheckUtils]: 4: Hoare triple {119742#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:18,444 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-15 07:07:18,444 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-15 07:07:18,444 INFO L290 TraceCheckUtils]: 7: Hoare triple {119742#(<= 20 ~SIZE~0)} ~cond := #in~cond; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:18,444 INFO L290 TraceCheckUtils]: 8: Hoare triple {119742#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:18,444 INFO L290 TraceCheckUtils]: 9: Hoare triple {119742#(<= 20 ~SIZE~0)} assume true; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:18,445 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {119742#(<= 20 ~SIZE~0)} {119742#(<= 20 ~SIZE~0)} #86#return; {119742#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:18,445 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-15 07:07:18,445 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-15 07:07:18,446 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-15 07:07:18,446 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-15 07:07:18,447 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-15 07:07:18,447 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-15 07:07:18,447 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-15 07:07:18,447 INFO L290 TraceCheckUtils]: 18: Hoare triple {119738#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {119738#false} is VALID [2022-04-15 07:07:18,447 INFO L290 TraceCheckUtils]: 19: Hoare triple {119738#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {119738#false} is VALID [2022-04-15 07:07:18,448 INFO L290 TraceCheckUtils]: 20: Hoare triple {119738#false} assume !(~d~0 == ~SIZE~0); {119738#false} is VALID [2022-04-15 07:07:18,448 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-15 07:07:18,448 INFO L290 TraceCheckUtils]: 22: Hoare triple {119738#false} ~cond := #in~cond; {119738#false} is VALID [2022-04-15 07:07:18,448 INFO L290 TraceCheckUtils]: 23: Hoare triple {119738#false} assume 0 == ~cond; {119738#false} is VALID [2022-04-15 07:07:18,448 INFO L290 TraceCheckUtils]: 24: Hoare triple {119738#false} assume !false; {119738#false} is VALID [2022-04-15 07:07:18,448 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-15 07:07:18,448 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:07:18,623 INFO L290 TraceCheckUtils]: 24: Hoare triple {119738#false} assume !false; {119738#false} is VALID [2022-04-15 07:07:18,623 INFO L290 TraceCheckUtils]: 23: Hoare triple {119738#false} assume 0 == ~cond; {119738#false} is VALID [2022-04-15 07:07:18,623 INFO L290 TraceCheckUtils]: 22: Hoare triple {119738#false} ~cond := #in~cond; {119738#false} is VALID [2022-04-15 07:07:18,623 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-15 07:07:18,623 INFO L290 TraceCheckUtils]: 20: Hoare triple {119738#false} assume !(~d~0 == ~SIZE~0); {119738#false} is VALID [2022-04-15 07:07:18,623 INFO L290 TraceCheckUtils]: 19: Hoare triple {119738#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {119738#false} is VALID [2022-04-15 07:07:18,623 INFO L290 TraceCheckUtils]: 18: Hoare triple {119738#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {119738#false} is VALID [2022-04-15 07:07:18,624 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-15 07:07:18,624 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-15 07:07:18,625 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-15 07:07:18,625 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-15 07:07:18,626 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-15 07:07:18,626 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-15 07:07:18,626 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-15 07:07:18,626 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {119737#true} {119873#(< 1 ~SIZE~0)} #86#return; {119873#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:18,626 INFO L290 TraceCheckUtils]: 9: Hoare triple {119737#true} assume true; {119737#true} is VALID [2022-04-15 07:07:18,626 INFO L290 TraceCheckUtils]: 8: Hoare triple {119737#true} assume !(0 == ~cond); {119737#true} is VALID [2022-04-15 07:07:18,627 INFO L290 TraceCheckUtils]: 7: Hoare triple {119737#true} ~cond := #in~cond; {119737#true} is VALID [2022-04-15 07:07:18,627 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-15 07:07:18,627 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-15 07:07:18,627 INFO L272 TraceCheckUtils]: 4: Hoare triple {119873#(< 1 ~SIZE~0)} call #t~ret7 := main(); {119873#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:18,627 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {119873#(< 1 ~SIZE~0)} {119737#true} #90#return; {119873#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:18,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {119873#(< 1 ~SIZE~0)} assume true; {119873#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:18,628 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-15 07:07:18,628 INFO L272 TraceCheckUtils]: 0: Hoare triple {119737#true} call ULTIMATE.init(); {119737#true} is VALID [2022-04-15 07:07:18,628 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-15 07:07:18,628 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [313627352] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:07:18,628 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:07:18,628 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:07:19,507 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:07:19,507 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [391176674] [2022-04-15 07:07:19,507 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [391176674] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:07:19,507 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:07:19,507 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [32] imperfect sequences [] total 32 [2022-04-15 07:07:19,507 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1475269215] [2022-04-15 07:07:19,507 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:07:19,508 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-15 07:07:19,508 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:07:19,508 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-15 07:07:19,537 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-15 07:07:19,537 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2022-04-15 07:07:19,538 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:07:19,538 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-04-15 07:07:19,538 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=266, Invalid=1374, Unknown=0, NotChecked=0, Total=1640 [2022-04-15 07:07:19,538 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-15 07:07:22,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:07:22,538 INFO L93 Difference]: Finished difference Result 392 states and 472 transitions. [2022-04-15 07:07:22,538 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-15 07:07:22,538 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-15 07:07:22,539 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:07:22,539 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-15 07:07:22,541 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 111 transitions. [2022-04-15 07:07:22,541 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-15 07:07:22,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 111 transitions. [2022-04-15 07:07:22,542 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 111 transitions. [2022-04-15 07:07:22,599 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-15 07:07:22,603 INFO L225 Difference]: With dead ends: 392 [2022-04-15 07:07:22,603 INFO L226 Difference]: Without dead ends: 269 [2022-04-15 07:07:22,603 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 18 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 883 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=278, Invalid=1528, Unknown=0, NotChecked=0, Total=1806 [2022-04-15 07:07:22,603 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 49 mSDsluCounter, 60 mSDsCounter, 0 mSdLazyCounter, 1777 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s 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.0s IncrementalHoareTripleChecker+Time [2022-04-15 07:07:22,603 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 80 Invalid, 1787 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 1777 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-15 07:07:22,604 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 269 states. [2022-04-15 07:07:23,310 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 269 to 232. [2022-04-15 07:07:23,310 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:07:23,311 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-15 07:07:23,311 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-15 07:07:23,311 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-15 07:07:23,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:07:23,314 INFO L93 Difference]: Finished difference Result 269 states and 318 transitions. [2022-04-15 07:07:23,314 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 318 transitions. [2022-04-15 07:07:23,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:07:23,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:07:23,315 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-15 07:07:23,315 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-15 07:07:23,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:07:23,318 INFO L93 Difference]: Finished difference Result 269 states and 318 transitions. [2022-04-15 07:07:23,318 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 318 transitions. [2022-04-15 07:07:23,318 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:07:23,318 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:07:23,318 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:07:23,318 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:07:23,318 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-15 07:07:23,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-15 07:07:23,321 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-15 07:07:23,321 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:07:23,321 INFO L478 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-15 07:07:23,322 INFO L479 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-15 07:07:23,322 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-15 07:07:25,138 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-15 07:07:25,138 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-15 07:07:25,138 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 07:07:25,138 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:07:25,138 INFO L499 BasicCegarLoop]: 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-15 07:07:25,154 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-15 07:07:25,354 WARN L460 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-15 07:07:25,355 INFO L403 AbstractCegarLoop]: === Iteration 85 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:07:25,355 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:07:25,355 INFO L85 PathProgramCache]: Analyzing trace with hash -1006233057, now seen corresponding path program 73 times [2022-04-15 07:07:25,355 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:07:25,355 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [273989443] [2022-04-15 07:07:25,636 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-15 07:07:25,881 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-15 07:07:25,882 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:07:25,885 INFO L85 PathProgramCache]: Analyzing trace with hash 1898480705, now seen corresponding path program 1 times [2022-04-15 07:07:25,885 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:07:25,885 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1735361837] [2022-04-15 07:07:25,885 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:07:25,885 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:07:25,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:26,044 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:07:26,045 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:26,048 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-15 07:07:26,049 INFO L290 TraceCheckUtils]: 1: Hoare triple {121730#(<= 20 ~SIZE~0)} assume true; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:26,049 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {121730#(<= 20 ~SIZE~0)} {121725#true} #90#return; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:26,049 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:07:26,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:26,051 INFO L290 TraceCheckUtils]: 0: Hoare triple {121725#true} ~cond := #in~cond; {121725#true} is VALID [2022-04-15 07:07:26,051 INFO L290 TraceCheckUtils]: 1: Hoare triple {121725#true} assume !(0 == ~cond); {121725#true} is VALID [2022-04-15 07:07:26,051 INFO L290 TraceCheckUtils]: 2: Hoare triple {121725#true} assume true; {121725#true} is VALID [2022-04-15 07:07:26,052 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {121725#true} {121730#(<= 20 ~SIZE~0)} #86#return; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:26,052 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-15 07:07:26,053 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-15 07:07:26,053 INFO L290 TraceCheckUtils]: 2: Hoare triple {121730#(<= 20 ~SIZE~0)} assume true; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:26,053 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {121730#(<= 20 ~SIZE~0)} {121725#true} #90#return; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:26,054 INFO L272 TraceCheckUtils]: 4: Hoare triple {121730#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:26,054 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-15 07:07:26,054 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-15 07:07:26,054 INFO L290 TraceCheckUtils]: 7: Hoare triple {121725#true} ~cond := #in~cond; {121725#true} is VALID [2022-04-15 07:07:26,054 INFO L290 TraceCheckUtils]: 8: Hoare triple {121725#true} assume !(0 == ~cond); {121725#true} is VALID [2022-04-15 07:07:26,054 INFO L290 TraceCheckUtils]: 9: Hoare triple {121725#true} assume true; {121725#true} is VALID [2022-04-15 07:07:26,055 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {121725#true} {121730#(<= 20 ~SIZE~0)} #86#return; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:26,055 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-15 07:07:26,055 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-15 07:07:26,056 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-15 07:07:26,057 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-15 07:07:26,057 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-15 07:07:26,058 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-15 07:07:26,059 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-15 07:07:26,059 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-15 07:07:26,060 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-15 07:07:26,060 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-15 07:07:26,061 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-15 07:07:26,061 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-15 07:07:26,062 INFO L290 TraceCheckUtils]: 23: Hoare triple {121742#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {121726#false} is VALID [2022-04-15 07:07:26,062 INFO L290 TraceCheckUtils]: 24: Hoare triple {121726#false} assume !false; {121726#false} is VALID [2022-04-15 07:07:26,062 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-15 07:07:26,062 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:07:26,062 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1735361837] [2022-04-15 07:07:26,062 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1735361837] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:07:26,062 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [244579695] [2022-04-15 07:07:26,062 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:07:26,062 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:07:26,063 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:07:26,063 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-15 07:07:26,064 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-15 07:07:26,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:26,092 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:07:26,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:26,098 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:07:26,327 INFO L272 TraceCheckUtils]: 0: Hoare triple {121725#true} call ULTIMATE.init(); {121725#true} is VALID [2022-04-15 07:07:26,328 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-15 07:07:26,328 INFO L290 TraceCheckUtils]: 2: Hoare triple {121730#(<= 20 ~SIZE~0)} assume true; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:26,328 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {121730#(<= 20 ~SIZE~0)} {121725#true} #90#return; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:26,329 INFO L272 TraceCheckUtils]: 4: Hoare triple {121730#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:26,329 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-15 07:07:26,329 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-15 07:07:26,330 INFO L290 TraceCheckUtils]: 7: Hoare triple {121730#(<= 20 ~SIZE~0)} ~cond := #in~cond; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:26,330 INFO L290 TraceCheckUtils]: 8: Hoare triple {121730#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:26,330 INFO L290 TraceCheckUtils]: 9: Hoare triple {121730#(<= 20 ~SIZE~0)} assume true; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:26,331 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {121730#(<= 20 ~SIZE~0)} {121730#(<= 20 ~SIZE~0)} #86#return; {121730#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:26,331 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-15 07:07:26,331 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-15 07:07:26,332 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-15 07:07:26,332 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-15 07:07:26,333 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-15 07:07:26,334 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-15 07:07:26,334 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-15 07:07:26,334 INFO L290 TraceCheckUtils]: 18: Hoare triple {121726#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {121726#false} is VALID [2022-04-15 07:07:26,334 INFO L290 TraceCheckUtils]: 19: Hoare triple {121726#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {121726#false} is VALID [2022-04-15 07:07:26,334 INFO L290 TraceCheckUtils]: 20: Hoare triple {121726#false} assume !(~d~0 == ~SIZE~0); {121726#false} is VALID [2022-04-15 07:07:26,334 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-15 07:07:26,334 INFO L290 TraceCheckUtils]: 22: Hoare triple {121726#false} ~cond := #in~cond; {121726#false} is VALID [2022-04-15 07:07:26,335 INFO L290 TraceCheckUtils]: 23: Hoare triple {121726#false} assume 0 == ~cond; {121726#false} is VALID [2022-04-15 07:07:26,335 INFO L290 TraceCheckUtils]: 24: Hoare triple {121726#false} assume !false; {121726#false} is VALID [2022-04-15 07:07:26,335 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-15 07:07:26,335 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:07:26,615 INFO L290 TraceCheckUtils]: 24: Hoare triple {121726#false} assume !false; {121726#false} is VALID [2022-04-15 07:07:26,615 INFO L290 TraceCheckUtils]: 23: Hoare triple {121726#false} assume 0 == ~cond; {121726#false} is VALID [2022-04-15 07:07:26,615 INFO L290 TraceCheckUtils]: 22: Hoare triple {121726#false} ~cond := #in~cond; {121726#false} is VALID [2022-04-15 07:07:26,615 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-15 07:07:26,615 INFO L290 TraceCheckUtils]: 20: Hoare triple {121726#false} assume !(~d~0 == ~SIZE~0); {121726#false} is VALID [2022-04-15 07:07:26,615 INFO L290 TraceCheckUtils]: 19: Hoare triple {121726#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {121726#false} is VALID [2022-04-15 07:07:26,615 INFO L290 TraceCheckUtils]: 18: Hoare triple {121726#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {121726#false} is VALID [2022-04-15 07:07:26,616 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-15 07:07:26,616 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-15 07:07:26,617 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-15 07:07:26,617 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-15 07:07:26,618 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-15 07:07:26,618 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-15 07:07:26,619 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-15 07:07:26,619 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {121725#true} {121861#(< 1 ~SIZE~0)} #86#return; {121861#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:26,619 INFO L290 TraceCheckUtils]: 9: Hoare triple {121725#true} assume true; {121725#true} is VALID [2022-04-15 07:07:26,619 INFO L290 TraceCheckUtils]: 8: Hoare triple {121725#true} assume !(0 == ~cond); {121725#true} is VALID [2022-04-15 07:07:26,619 INFO L290 TraceCheckUtils]: 7: Hoare triple {121725#true} ~cond := #in~cond; {121725#true} is VALID [2022-04-15 07:07:26,619 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-15 07:07:26,620 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-15 07:07:26,620 INFO L272 TraceCheckUtils]: 4: Hoare triple {121861#(< 1 ~SIZE~0)} call #t~ret7 := main(); {121861#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:26,620 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {121861#(< 1 ~SIZE~0)} {121725#true} #90#return; {121861#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:26,620 INFO L290 TraceCheckUtils]: 2: Hoare triple {121861#(< 1 ~SIZE~0)} assume true; {121861#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:26,621 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-15 07:07:26,621 INFO L272 TraceCheckUtils]: 0: Hoare triple {121725#true} call ULTIMATE.init(); {121725#true} is VALID [2022-04-15 07:07:26,621 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-15 07:07:26,621 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [244579695] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:07:26,621 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:07:26,621 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:07:27,926 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:07:27,926 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [273989443] [2022-04-15 07:07:27,926 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [273989443] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:07:27,926 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:07:27,926 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [33] imperfect sequences [] total 33 [2022-04-15 07:07:27,926 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [522414504] [2022-04-15 07:07:27,926 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:07:27,926 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-15 07:07:27,927 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:07:27,927 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-15 07:07:27,973 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-15 07:07:27,973 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-15 07:07:27,974 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:07:27,974 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-15 07:07:27,974 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=280, Invalid=1442, Unknown=0, NotChecked=0, Total=1722 [2022-04-15 07:07:27,974 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-15 07:07:32,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:07:32,454 INFO L93 Difference]: Finished difference Result 389 states and 469 transitions. [2022-04-15 07:07:32,454 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-04-15 07:07:32,455 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-15 07:07:32,455 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:07:32,455 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-15 07:07:32,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 112 transitions. [2022-04-15 07:07:32,456 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-15 07:07:32,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 112 transitions. [2022-04-15 07:07:32,457 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 112 transitions. [2022-04-15 07:07:32,515 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-15 07:07:32,520 INFO L225 Difference]: With dead ends: 389 [2022-04-15 07:07:32,520 INFO L226 Difference]: Without dead ends: 266 [2022-04-15 07:07:32,521 INFO L912 BasicCegarLoop]: 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-15 07:07:32,521 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 59 mSDsluCounter, 63 mSDsCounter, 0 mSdLazyCounter, 1920 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-15 07:07:32,521 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [60 Valid, 83 Invalid, 1931 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1920 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-15 07:07:32,521 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 266 states. [2022-04-15 07:07:33,359 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 266 to 232. [2022-04-15 07:07:33,359 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:07:33,360 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-15 07:07:33,360 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-15 07:07:33,360 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-15 07:07:33,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:07:33,365 INFO L93 Difference]: Finished difference Result 266 states and 315 transitions. [2022-04-15 07:07:33,365 INFO L276 IsEmpty]: Start isEmpty. Operand 266 states and 315 transitions. [2022-04-15 07:07:33,365 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:07:33,365 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:07:33,365 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-15 07:07:33,365 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-15 07:07:33,369 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:07:33,369 INFO L93 Difference]: Finished difference Result 266 states and 315 transitions. [2022-04-15 07:07:33,369 INFO L276 IsEmpty]: Start isEmpty. Operand 266 states and 315 transitions. [2022-04-15 07:07:33,370 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:07:33,370 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:07:33,370 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:07:33,370 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:07:33,370 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-15 07:07:33,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-15 07:07:33,374 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-15 07:07:33,374 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:07:33,374 INFO L478 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-15 07:07:33,374 INFO L479 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-15 07:07:33,374 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-15 07:07:35,434 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-15 07:07:35,434 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-15 07:07:35,435 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 07:07:35,436 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:07:35,436 INFO L499 BasicCegarLoop]: 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-15 07:07:35,452 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-15 07:07:35,651 WARN L460 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-15 07:07:35,651 INFO L403 AbstractCegarLoop]: === Iteration 86 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:07:35,652 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:07:35,652 INFO L85 PathProgramCache]: Analyzing trace with hash -944193443, now seen corresponding path program 74 times [2022-04-15 07:07:35,652 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:07:35,652 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [836450295] [2022-04-15 07:07:39,831 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:07:39,981 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-15 07:07:44,120 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:07:44,237 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-15 07:07:44,238 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:07:44,241 INFO L85 PathProgramCache]: Analyzing trace with hash 96036161, now seen corresponding path program 1 times [2022-04-15 07:07:44,241 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:07:44,241 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [930368482] [2022-04-15 07:07:44,241 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:07:44,241 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:07:44,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:44,412 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:07:44,413 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:44,417 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-15 07:07:44,417 INFO L290 TraceCheckUtils]: 1: Hoare triple {123707#(<= 20 ~SIZE~0)} assume true; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:44,417 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {123707#(<= 20 ~SIZE~0)} {123702#true} #90#return; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:44,417 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:07:44,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:44,419 INFO L290 TraceCheckUtils]: 0: Hoare triple {123702#true} ~cond := #in~cond; {123702#true} is VALID [2022-04-15 07:07:44,419 INFO L290 TraceCheckUtils]: 1: Hoare triple {123702#true} assume !(0 == ~cond); {123702#true} is VALID [2022-04-15 07:07:44,419 INFO L290 TraceCheckUtils]: 2: Hoare triple {123702#true} assume true; {123702#true} is VALID [2022-04-15 07:07:44,420 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {123702#true} {123707#(<= 20 ~SIZE~0)} #86#return; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:44,420 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-15 07:07:44,421 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-15 07:07:44,421 INFO L290 TraceCheckUtils]: 2: Hoare triple {123707#(<= 20 ~SIZE~0)} assume true; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:44,421 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {123707#(<= 20 ~SIZE~0)} {123702#true} #90#return; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:44,422 INFO L272 TraceCheckUtils]: 4: Hoare triple {123707#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:44,422 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-15 07:07:44,422 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-15 07:07:44,422 INFO L290 TraceCheckUtils]: 7: Hoare triple {123702#true} ~cond := #in~cond; {123702#true} is VALID [2022-04-15 07:07:44,422 INFO L290 TraceCheckUtils]: 8: Hoare triple {123702#true} assume !(0 == ~cond); {123702#true} is VALID [2022-04-15 07:07:44,422 INFO L290 TraceCheckUtils]: 9: Hoare triple {123702#true} assume true; {123702#true} is VALID [2022-04-15 07:07:44,423 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {123702#true} {123707#(<= 20 ~SIZE~0)} #86#return; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:44,423 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-15 07:07:44,424 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-15 07:07:44,425 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-15 07:07:44,425 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-15 07:07:44,426 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-15 07:07:44,426 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-15 07:07:44,427 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-15 07:07:44,428 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-15 07:07:44,428 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-15 07:07:44,428 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-15 07:07:44,429 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-15 07:07:44,429 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-15 07:07:44,430 INFO L290 TraceCheckUtils]: 23: Hoare triple {123719#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {123703#false} is VALID [2022-04-15 07:07:44,430 INFO L290 TraceCheckUtils]: 24: Hoare triple {123703#false} assume !false; {123703#false} is VALID [2022-04-15 07:07:44,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-15 07:07:44,430 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:07:44,430 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [930368482] [2022-04-15 07:07:44,430 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [930368482] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:07:44,430 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1032045981] [2022-04-15 07:07:44,430 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:07:44,431 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:07:44,431 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:07:44,431 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-15 07:07:44,472 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-15 07:07:44,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:44,477 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:07:44,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:44,484 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:07:44,724 INFO L272 TraceCheckUtils]: 0: Hoare triple {123702#true} call ULTIMATE.init(); {123702#true} is VALID [2022-04-15 07:07:44,725 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-15 07:07:44,725 INFO L290 TraceCheckUtils]: 2: Hoare triple {123707#(<= 20 ~SIZE~0)} assume true; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:44,726 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {123707#(<= 20 ~SIZE~0)} {123702#true} #90#return; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:44,726 INFO L272 TraceCheckUtils]: 4: Hoare triple {123707#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:44,726 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-15 07:07:44,727 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-15 07:07:44,727 INFO L290 TraceCheckUtils]: 7: Hoare triple {123707#(<= 20 ~SIZE~0)} ~cond := #in~cond; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:44,727 INFO L290 TraceCheckUtils]: 8: Hoare triple {123707#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:44,728 INFO L290 TraceCheckUtils]: 9: Hoare triple {123707#(<= 20 ~SIZE~0)} assume true; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:44,728 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {123707#(<= 20 ~SIZE~0)} {123707#(<= 20 ~SIZE~0)} #86#return; {123707#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:44,728 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-15 07:07:44,729 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-15 07:07:44,729 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-15 07:07:44,730 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-15 07:07:44,730 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-15 07:07:44,731 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-15 07:07:44,732 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-15 07:07:44,732 INFO L290 TraceCheckUtils]: 18: Hoare triple {123703#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {123703#false} is VALID [2022-04-15 07:07:44,732 INFO L290 TraceCheckUtils]: 19: Hoare triple {123703#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {123703#false} is VALID [2022-04-15 07:07:44,732 INFO L290 TraceCheckUtils]: 20: Hoare triple {123703#false} assume !(~d~0 == ~SIZE~0); {123703#false} is VALID [2022-04-15 07:07:44,732 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-15 07:07:44,732 INFO L290 TraceCheckUtils]: 22: Hoare triple {123703#false} ~cond := #in~cond; {123703#false} is VALID [2022-04-15 07:07:44,732 INFO L290 TraceCheckUtils]: 23: Hoare triple {123703#false} assume 0 == ~cond; {123703#false} is VALID [2022-04-15 07:07:44,732 INFO L290 TraceCheckUtils]: 24: Hoare triple {123703#false} assume !false; {123703#false} is VALID [2022-04-15 07:07:44,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-15 07:07:44,732 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:07:44,995 INFO L290 TraceCheckUtils]: 24: Hoare triple {123703#false} assume !false; {123703#false} is VALID [2022-04-15 07:07:44,995 INFO L290 TraceCheckUtils]: 23: Hoare triple {123703#false} assume 0 == ~cond; {123703#false} is VALID [2022-04-15 07:07:44,995 INFO L290 TraceCheckUtils]: 22: Hoare triple {123703#false} ~cond := #in~cond; {123703#false} is VALID [2022-04-15 07:07:44,995 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-15 07:07:44,995 INFO L290 TraceCheckUtils]: 20: Hoare triple {123703#false} assume !(~d~0 == ~SIZE~0); {123703#false} is VALID [2022-04-15 07:07:44,995 INFO L290 TraceCheckUtils]: 19: Hoare triple {123703#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {123703#false} is VALID [2022-04-15 07:07:44,995 INFO L290 TraceCheckUtils]: 18: Hoare triple {123703#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {123703#false} is VALID [2022-04-15 07:07:44,996 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-15 07:07:44,996 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-15 07:07:44,997 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-15 07:07:44,997 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-15 07:07:44,998 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-15 07:07:44,998 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-15 07:07:44,999 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-15 07:07:44,999 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {123702#true} {123838#(< 1 ~SIZE~0)} #86#return; {123838#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:44,999 INFO L290 TraceCheckUtils]: 9: Hoare triple {123702#true} assume true; {123702#true} is VALID [2022-04-15 07:07:44,999 INFO L290 TraceCheckUtils]: 8: Hoare triple {123702#true} assume !(0 == ~cond); {123702#true} is VALID [2022-04-15 07:07:44,999 INFO L290 TraceCheckUtils]: 7: Hoare triple {123702#true} ~cond := #in~cond; {123702#true} is VALID [2022-04-15 07:07:44,999 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-15 07:07:45,000 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-15 07:07:45,000 INFO L272 TraceCheckUtils]: 4: Hoare triple {123838#(< 1 ~SIZE~0)} call #t~ret7 := main(); {123838#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:45,000 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {123838#(< 1 ~SIZE~0)} {123702#true} #90#return; {123838#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:45,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {123838#(< 1 ~SIZE~0)} assume true; {123838#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:45,001 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-15 07:07:45,001 INFO L272 TraceCheckUtils]: 0: Hoare triple {123702#true} call ULTIMATE.init(); {123702#true} is VALID [2022-04-15 07:07:45,001 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-15 07:07:45,002 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1032045981] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:07:45,002 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:07:45,002 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:07:46,321 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:07:46,322 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [836450295] [2022-04-15 07:07:46,322 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [836450295] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:07:46,322 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:07:46,322 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-15 07:07:46,322 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [22407139] [2022-04-15 07:07:46,322 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:07:46,322 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-15 07:07:46,322 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:07:46,322 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-15 07:07:46,368 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-15 07:07:46,369 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-15 07:07:46,369 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:07:46,369 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-15 07:07:46,369 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=294, Invalid=1512, Unknown=0, NotChecked=0, Total=1806 [2022-04-15 07:07:46,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-15 07:07:49,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:07:49,389 INFO L93 Difference]: Finished difference Result 386 states and 466 transitions. [2022-04-15 07:07:49,389 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-15 07:07:49,389 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-15 07:07:49,389 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:07:49,389 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-15 07:07:49,390 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 113 transitions. [2022-04-15 07:07:49,390 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-15 07:07:49,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 113 transitions. [2022-04-15 07:07:49,391 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 113 transitions. [2022-04-15 07:07:49,447 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-15 07:07:49,450 INFO L225 Difference]: With dead ends: 386 [2022-04-15 07:07:49,450 INFO L226 Difference]: Without dead ends: 263 [2022-04-15 07:07:49,451 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 16 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 914 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=306, Invalid=1674, Unknown=0, NotChecked=0, Total=1980 [2022-04-15 07:07:49,451 INFO L913 BasicCegarLoop]: 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-15 07:07:49,451 INFO L914 BasicCegarLoop]: 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-15 07:07:49,451 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 263 states. [2022-04-15 07:07:50,159 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 263 to 232. [2022-04-15 07:07:50,159 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:07:50,160 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-15 07:07:50,160 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-15 07:07:50,160 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-15 07:07:50,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:07:50,163 INFO L93 Difference]: Finished difference Result 263 states and 312 transitions. [2022-04-15 07:07:50,163 INFO L276 IsEmpty]: Start isEmpty. Operand 263 states and 312 transitions. [2022-04-15 07:07:50,163 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:07:50,163 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:07:50,163 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-15 07:07:50,164 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-15 07:07:50,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:07:50,167 INFO L93 Difference]: Finished difference Result 263 states and 312 transitions. [2022-04-15 07:07:50,167 INFO L276 IsEmpty]: Start isEmpty. Operand 263 states and 312 transitions. [2022-04-15 07:07:50,167 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:07:50,167 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:07:50,167 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:07:50,167 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:07:50,167 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-15 07:07:50,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-15 07:07:50,170 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-15 07:07:50,170 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:07:50,170 INFO L478 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-15 07:07:50,170 INFO L479 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-15 07:07:50,171 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-15 07:07:51,879 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-15 07:07:51,879 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-15 07:07:51,879 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 07:07:51,880 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:07:51,880 INFO L499 BasicCegarLoop]: 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-15 07:07:51,895 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-15 07:07:52,092 WARN L460 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-15 07:07:52,092 INFO L403 AbstractCegarLoop]: === Iteration 87 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:07:52,092 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:07:52,092 INFO L85 PathProgramCache]: Analyzing trace with hash 1545335519, now seen corresponding path program 75 times [2022-04-15 07:07:52,093 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:07:52,093 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1222573801] [2022-04-15 07:07:52,342 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-15 07:07:55,392 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:07:55,494 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-15 07:07:55,495 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:07:55,497 INFO L85 PathProgramCache]: Analyzing trace with hash -1706408383, now seen corresponding path program 1 times [2022-04-15 07:07:55,497 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:07:55,497 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [799019631] [2022-04-15 07:07:55,498 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:07:55,498 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:07:55,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:55,661 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:07:55,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:55,665 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-15 07:07:55,665 INFO L290 TraceCheckUtils]: 1: Hoare triple {125673#(<= 20 ~SIZE~0)} assume true; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:55,665 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {125673#(<= 20 ~SIZE~0)} {125668#true} #90#return; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:55,665 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:07:55,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:55,667 INFO L290 TraceCheckUtils]: 0: Hoare triple {125668#true} ~cond := #in~cond; {125668#true} is VALID [2022-04-15 07:07:55,667 INFO L290 TraceCheckUtils]: 1: Hoare triple {125668#true} assume !(0 == ~cond); {125668#true} is VALID [2022-04-15 07:07:55,667 INFO L290 TraceCheckUtils]: 2: Hoare triple {125668#true} assume true; {125668#true} is VALID [2022-04-15 07:07:55,667 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {125668#true} {125673#(<= 20 ~SIZE~0)} #86#return; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:55,668 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-15 07:07:55,668 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-15 07:07:55,668 INFO L290 TraceCheckUtils]: 2: Hoare triple {125673#(<= 20 ~SIZE~0)} assume true; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:55,669 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {125673#(<= 20 ~SIZE~0)} {125668#true} #90#return; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:55,669 INFO L272 TraceCheckUtils]: 4: Hoare triple {125673#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:55,669 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-15 07:07:55,669 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-15 07:07:55,669 INFO L290 TraceCheckUtils]: 7: Hoare triple {125668#true} ~cond := #in~cond; {125668#true} is VALID [2022-04-15 07:07:55,669 INFO L290 TraceCheckUtils]: 8: Hoare triple {125668#true} assume !(0 == ~cond); {125668#true} is VALID [2022-04-15 07:07:55,669 INFO L290 TraceCheckUtils]: 9: Hoare triple {125668#true} assume true; {125668#true} is VALID [2022-04-15 07:07:55,670 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {125668#true} {125673#(<= 20 ~SIZE~0)} #86#return; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:55,670 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-15 07:07:55,670 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-15 07:07:55,671 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-15 07:07:55,671 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-15 07:07:55,672 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-15 07:07:55,673 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-15 07:07:55,673 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-15 07:07:55,674 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-15 07:07:55,674 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-15 07:07:55,674 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-15 07:07:55,675 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-15 07:07:55,675 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-15 07:07:55,675 INFO L290 TraceCheckUtils]: 23: Hoare triple {125685#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {125669#false} is VALID [2022-04-15 07:07:55,676 INFO L290 TraceCheckUtils]: 24: Hoare triple {125669#false} assume !false; {125669#false} is VALID [2022-04-15 07:07:55,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-15 07:07:55,676 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:07:55,676 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [799019631] [2022-04-15 07:07:55,676 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [799019631] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:07:55,676 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1817876618] [2022-04-15 07:07:55,676 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:07:55,676 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:07:55,676 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:07:55,677 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-15 07:07:55,678 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-15 07:07:55,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:55,706 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:07:55,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:07:55,712 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:07:55,902 INFO L272 TraceCheckUtils]: 0: Hoare triple {125668#true} call ULTIMATE.init(); {125668#true} is VALID [2022-04-15 07:07:55,903 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-15 07:07:55,903 INFO L290 TraceCheckUtils]: 2: Hoare triple {125673#(<= 20 ~SIZE~0)} assume true; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:55,904 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {125673#(<= 20 ~SIZE~0)} {125668#true} #90#return; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:55,904 INFO L272 TraceCheckUtils]: 4: Hoare triple {125673#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:55,904 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-15 07:07:55,905 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-15 07:07:55,905 INFO L290 TraceCheckUtils]: 7: Hoare triple {125673#(<= 20 ~SIZE~0)} ~cond := #in~cond; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:55,906 INFO L290 TraceCheckUtils]: 8: Hoare triple {125673#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:55,906 INFO L290 TraceCheckUtils]: 9: Hoare triple {125673#(<= 20 ~SIZE~0)} assume true; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:55,906 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {125673#(<= 20 ~SIZE~0)} {125673#(<= 20 ~SIZE~0)} #86#return; {125673#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:07:55,907 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-15 07:07:55,907 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-15 07:07:55,908 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-15 07:07:55,908 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-15 07:07:55,909 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-15 07:07:55,910 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-15 07:07:55,910 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-15 07:07:55,910 INFO L290 TraceCheckUtils]: 18: Hoare triple {125669#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {125669#false} is VALID [2022-04-15 07:07:55,910 INFO L290 TraceCheckUtils]: 19: Hoare triple {125669#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {125669#false} is VALID [2022-04-15 07:07:55,910 INFO L290 TraceCheckUtils]: 20: Hoare triple {125669#false} assume !(~d~0 == ~SIZE~0); {125669#false} is VALID [2022-04-15 07:07:55,911 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-15 07:07:55,911 INFO L290 TraceCheckUtils]: 22: Hoare triple {125669#false} ~cond := #in~cond; {125669#false} is VALID [2022-04-15 07:07:55,911 INFO L290 TraceCheckUtils]: 23: Hoare triple {125669#false} assume 0 == ~cond; {125669#false} is VALID [2022-04-15 07:07:55,911 INFO L290 TraceCheckUtils]: 24: Hoare triple {125669#false} assume !false; {125669#false} is VALID [2022-04-15 07:07:55,911 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-15 07:07:55,911 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:07:56,180 INFO L290 TraceCheckUtils]: 24: Hoare triple {125669#false} assume !false; {125669#false} is VALID [2022-04-15 07:07:56,180 INFO L290 TraceCheckUtils]: 23: Hoare triple {125669#false} assume 0 == ~cond; {125669#false} is VALID [2022-04-15 07:07:56,180 INFO L290 TraceCheckUtils]: 22: Hoare triple {125669#false} ~cond := #in~cond; {125669#false} is VALID [2022-04-15 07:07:56,180 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-15 07:07:56,180 INFO L290 TraceCheckUtils]: 20: Hoare triple {125669#false} assume !(~d~0 == ~SIZE~0); {125669#false} is VALID [2022-04-15 07:07:56,180 INFO L290 TraceCheckUtils]: 19: Hoare triple {125669#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {125669#false} is VALID [2022-04-15 07:07:56,180 INFO L290 TraceCheckUtils]: 18: Hoare triple {125669#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {125669#false} is VALID [2022-04-15 07:07:56,181 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-15 07:07:56,181 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-15 07:07:56,182 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-15 07:07:56,182 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-15 07:07:56,183 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-15 07:07:56,183 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-15 07:07:56,184 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-15 07:07:56,184 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {125668#true} {125804#(< 1 ~SIZE~0)} #86#return; {125804#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:56,184 INFO L290 TraceCheckUtils]: 9: Hoare triple {125668#true} assume true; {125668#true} is VALID [2022-04-15 07:07:56,184 INFO L290 TraceCheckUtils]: 8: Hoare triple {125668#true} assume !(0 == ~cond); {125668#true} is VALID [2022-04-15 07:07:56,184 INFO L290 TraceCheckUtils]: 7: Hoare triple {125668#true} ~cond := #in~cond; {125668#true} is VALID [2022-04-15 07:07:56,184 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-15 07:07:56,185 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-15 07:07:56,185 INFO L272 TraceCheckUtils]: 4: Hoare triple {125804#(< 1 ~SIZE~0)} call #t~ret7 := main(); {125804#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:56,185 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {125804#(< 1 ~SIZE~0)} {125668#true} #90#return; {125804#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:56,186 INFO L290 TraceCheckUtils]: 2: Hoare triple {125804#(< 1 ~SIZE~0)} assume true; {125804#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:07:56,186 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-15 07:07:56,186 INFO L272 TraceCheckUtils]: 0: Hoare triple {125668#true} call ULTIMATE.init(); {125668#true} is VALID [2022-04-15 07:07:56,186 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-15 07:07:56,186 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1817876618] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:07:56,186 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:07:56,187 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:07:57,354 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:07:57,354 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1222573801] [2022-04-15 07:07:57,355 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1222573801] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:07:57,355 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:07:57,355 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [35] imperfect sequences [] total 35 [2022-04-15 07:07:57,355 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1345552181] [2022-04-15 07:07:57,355 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:07:57,355 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-15 07:07:57,355 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:07:57,355 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-15 07:07:57,394 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-15 07:07:57,394 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 35 states [2022-04-15 07:07:57,394 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:07:57,394 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2022-04-15 07:07:57,394 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=308, Invalid=1584, Unknown=0, NotChecked=0, Total=1892 [2022-04-15 07:07:57,394 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-15 07:08:00,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:08:00,480 INFO L93 Difference]: Finished difference Result 383 states and 463 transitions. [2022-04-15 07:08:00,480 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2022-04-15 07:08:00,480 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-15 07:08:00,480 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:08:00,480 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-15 07:08:00,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 114 transitions. [2022-04-15 07:08:00,481 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-15 07:08:00,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 114 transitions. [2022-04-15 07:08:00,481 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 114 transitions. [2022-04-15 07:08:00,532 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-15 07:08:00,536 INFO L225 Difference]: With dead ends: 383 [2022-04-15 07:08:00,536 INFO L226 Difference]: Without dead ends: 260 [2022-04-15 07:08:00,536 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 15 SemanticMatches, 44 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 916 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=320, Invalid=1750, Unknown=0, NotChecked=0, Total=2070 [2022-04-15 07:08:00,536 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 57 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 1821 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-15 07:08:00,536 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [58 Valid, 85 Invalid, 1832 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1821 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-15 07:08:00,537 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 260 states. [2022-04-15 07:08:01,232 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 260 to 232. [2022-04-15 07:08:01,232 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:08:01,232 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-15 07:08:01,232 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-15 07:08:01,233 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-15 07:08:01,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:08:01,235 INFO L93 Difference]: Finished difference Result 260 states and 309 transitions. [2022-04-15 07:08:01,236 INFO L276 IsEmpty]: Start isEmpty. Operand 260 states and 309 transitions. [2022-04-15 07:08:01,236 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:08:01,236 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:08:01,236 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-15 07:08:01,236 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-15 07:08:01,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:08:01,239 INFO L93 Difference]: Finished difference Result 260 states and 309 transitions. [2022-04-15 07:08:01,239 INFO L276 IsEmpty]: Start isEmpty. Operand 260 states and 309 transitions. [2022-04-15 07:08:01,239 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:08:01,239 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:08:01,239 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:08:01,239 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:08:01,239 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-15 07:08:01,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-15 07:08:01,242 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-15 07:08:01,242 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:08:01,242 INFO L478 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-15 07:08:01,242 INFO L479 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-15 07:08:01,242 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-15 07:08:03,099 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-15 07:08:03,099 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-15 07:08:03,099 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 07:08:03,099 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:08:03,099 INFO L499 BasicCegarLoop]: 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-15 07:08:03,119 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-15 07:08:03,300 WARN L460 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-15 07:08:03,300 INFO L403 AbstractCegarLoop]: === Iteration 88 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:08:03,300 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:08:03,300 INFO L85 PathProgramCache]: Analyzing trace with hash 727687069, now seen corresponding path program 76 times [2022-04-15 07:08:03,300 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:08:03,300 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [771703675] [2022-04-15 07:08:07,459 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:08:07,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-15 07:08:07,835 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-15 07:08:07,836 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:08:07,839 INFO L85 PathProgramCache]: Analyzing trace with hash 786114369, now seen corresponding path program 1 times [2022-04-15 07:08:07,839 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:08:07,839 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [537275980] [2022-04-15 07:08:07,839 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:08:07,839 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:08:07,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:08,000 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:08:08,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:08,005 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-15 07:08:08,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {127628#(<= 20 ~SIZE~0)} assume true; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:08,006 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {127628#(<= 20 ~SIZE~0)} {127623#true} #90#return; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:08,006 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:08:08,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:08,007 INFO L290 TraceCheckUtils]: 0: Hoare triple {127623#true} ~cond := #in~cond; {127623#true} is VALID [2022-04-15 07:08:08,008 INFO L290 TraceCheckUtils]: 1: Hoare triple {127623#true} assume !(0 == ~cond); {127623#true} is VALID [2022-04-15 07:08:08,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {127623#true} assume true; {127623#true} is VALID [2022-04-15 07:08:08,008 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {127623#true} {127628#(<= 20 ~SIZE~0)} #86#return; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:08,008 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-15 07:08:08,009 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-15 07:08:08,009 INFO L290 TraceCheckUtils]: 2: Hoare triple {127628#(<= 20 ~SIZE~0)} assume true; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:08,010 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {127628#(<= 20 ~SIZE~0)} {127623#true} #90#return; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:08,010 INFO L272 TraceCheckUtils]: 4: Hoare triple {127628#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:08,010 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-15 07:08:08,010 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-15 07:08:08,010 INFO L290 TraceCheckUtils]: 7: Hoare triple {127623#true} ~cond := #in~cond; {127623#true} is VALID [2022-04-15 07:08:08,010 INFO L290 TraceCheckUtils]: 8: Hoare triple {127623#true} assume !(0 == ~cond); {127623#true} is VALID [2022-04-15 07:08:08,010 INFO L290 TraceCheckUtils]: 9: Hoare triple {127623#true} assume true; {127623#true} is VALID [2022-04-15 07:08:08,011 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {127623#true} {127628#(<= 20 ~SIZE~0)} #86#return; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:08,011 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-15 07:08:08,012 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-15 07:08:08,012 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-15 07:08:08,013 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-15 07:08:08,014 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-15 07:08:08,014 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-15 07:08:08,015 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-15 07:08:08,015 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-15 07:08:08,016 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-15 07:08:08,016 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-15 07:08:08,017 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-15 07:08:08,017 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-15 07:08:08,018 INFO L290 TraceCheckUtils]: 23: Hoare triple {127640#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {127624#false} is VALID [2022-04-15 07:08:08,018 INFO L290 TraceCheckUtils]: 24: Hoare triple {127624#false} assume !false; {127624#false} is VALID [2022-04-15 07:08:08,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-15 07:08:08,018 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:08:08,018 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [537275980] [2022-04-15 07:08:08,018 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [537275980] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:08:08,018 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [12651065] [2022-04-15 07:08:08,018 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:08:08,018 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:08:08,018 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:08:08,019 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-15 07:08:08,020 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-15 07:08:08,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:08,052 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:08:08,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:08,060 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:08:08,295 INFO L272 TraceCheckUtils]: 0: Hoare triple {127623#true} call ULTIMATE.init(); {127623#true} is VALID [2022-04-15 07:08:08,296 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-15 07:08:08,296 INFO L290 TraceCheckUtils]: 2: Hoare triple {127628#(<= 20 ~SIZE~0)} assume true; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:08,296 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {127628#(<= 20 ~SIZE~0)} {127623#true} #90#return; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:08,296 INFO L272 TraceCheckUtils]: 4: Hoare triple {127628#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:08,297 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-15 07:08:08,297 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-15 07:08:08,297 INFO L290 TraceCheckUtils]: 7: Hoare triple {127628#(<= 20 ~SIZE~0)} ~cond := #in~cond; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:08,298 INFO L290 TraceCheckUtils]: 8: Hoare triple {127628#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:08,298 INFO L290 TraceCheckUtils]: 9: Hoare triple {127628#(<= 20 ~SIZE~0)} assume true; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:08,298 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {127628#(<= 20 ~SIZE~0)} {127628#(<= 20 ~SIZE~0)} #86#return; {127628#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:08,299 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-15 07:08:08,299 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-15 07:08:08,300 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-15 07:08:08,300 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-15 07:08:08,301 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-15 07:08:08,301 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-15 07:08:08,302 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-15 07:08:08,302 INFO L290 TraceCheckUtils]: 18: Hoare triple {127624#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {127624#false} is VALID [2022-04-15 07:08:08,302 INFO L290 TraceCheckUtils]: 19: Hoare triple {127624#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {127624#false} is VALID [2022-04-15 07:08:08,302 INFO L290 TraceCheckUtils]: 20: Hoare triple {127624#false} assume !(~d~0 == ~SIZE~0); {127624#false} is VALID [2022-04-15 07:08:08,302 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-15 07:08:08,302 INFO L290 TraceCheckUtils]: 22: Hoare triple {127624#false} ~cond := #in~cond; {127624#false} is VALID [2022-04-15 07:08:08,302 INFO L290 TraceCheckUtils]: 23: Hoare triple {127624#false} assume 0 == ~cond; {127624#false} is VALID [2022-04-15 07:08:08,303 INFO L290 TraceCheckUtils]: 24: Hoare triple {127624#false} assume !false; {127624#false} is VALID [2022-04-15 07:08:08,303 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-15 07:08:08,303 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:08:08,599 INFO L290 TraceCheckUtils]: 24: Hoare triple {127624#false} assume !false; {127624#false} is VALID [2022-04-15 07:08:08,599 INFO L290 TraceCheckUtils]: 23: Hoare triple {127624#false} assume 0 == ~cond; {127624#false} is VALID [2022-04-15 07:08:08,599 INFO L290 TraceCheckUtils]: 22: Hoare triple {127624#false} ~cond := #in~cond; {127624#false} is VALID [2022-04-15 07:08:08,599 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-15 07:08:08,599 INFO L290 TraceCheckUtils]: 20: Hoare triple {127624#false} assume !(~d~0 == ~SIZE~0); {127624#false} is VALID [2022-04-15 07:08:08,599 INFO L290 TraceCheckUtils]: 19: Hoare triple {127624#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {127624#false} is VALID [2022-04-15 07:08:08,599 INFO L290 TraceCheckUtils]: 18: Hoare triple {127624#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {127624#false} is VALID [2022-04-15 07:08:08,600 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-15 07:08:08,600 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-15 07:08:08,601 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-15 07:08:08,601 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-15 07:08:08,602 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-15 07:08:08,602 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-15 07:08:08,602 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-15 07:08:08,603 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {127623#true} {127759#(< 1 ~SIZE~0)} #86#return; {127759#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:08:08,603 INFO L290 TraceCheckUtils]: 9: Hoare triple {127623#true} assume true; {127623#true} is VALID [2022-04-15 07:08:08,603 INFO L290 TraceCheckUtils]: 8: Hoare triple {127623#true} assume !(0 == ~cond); {127623#true} is VALID [2022-04-15 07:08:08,603 INFO L290 TraceCheckUtils]: 7: Hoare triple {127623#true} ~cond := #in~cond; {127623#true} is VALID [2022-04-15 07:08:08,603 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-15 07:08:08,603 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-15 07:08:08,604 INFO L272 TraceCheckUtils]: 4: Hoare triple {127759#(< 1 ~SIZE~0)} call #t~ret7 := main(); {127759#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:08:08,604 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {127759#(< 1 ~SIZE~0)} {127623#true} #90#return; {127759#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:08:08,604 INFO L290 TraceCheckUtils]: 2: Hoare triple {127759#(< 1 ~SIZE~0)} assume true; {127759#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:08:08,605 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-15 07:08:08,605 INFO L272 TraceCheckUtils]: 0: Hoare triple {127623#true} call ULTIMATE.init(); {127623#true} is VALID [2022-04-15 07:08:08,605 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-15 07:08:08,605 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [12651065] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:08:08,605 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:08:08,605 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:08:09,997 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:08:09,997 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [771703675] [2022-04-15 07:08:09,997 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [771703675] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:08:09,998 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:08:09,998 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [36] imperfect sequences [] total 36 [2022-04-15 07:08:09,998 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1698969280] [2022-04-15 07:08:09,998 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:08:09,998 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-15 07:08:09,998 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:08:09,998 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-15 07:08:10,050 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-15 07:08:10,050 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 36 states [2022-04-15 07:08:10,050 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:08:10,050 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2022-04-15 07:08:10,051 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=322, Invalid=1658, Unknown=0, NotChecked=0, Total=1980 [2022-04-15 07:08:10,051 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-15 07:08:13,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:08:13,180 INFO L93 Difference]: Finished difference Result 380 states and 460 transitions. [2022-04-15 07:08:13,180 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-04-15 07:08:13,180 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-15 07:08:13,180 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:08:13,180 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-15 07:08:13,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 115 transitions. [2022-04-15 07:08:13,181 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-15 07:08:13,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 115 transitions. [2022-04-15 07:08:13,181 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 115 transitions. [2022-04-15 07:08:13,236 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-15 07:08:13,239 INFO L225 Difference]: With dead ends: 380 [2022-04-15 07:08:13,239 INFO L226 Difference]: Without dead ends: 257 [2022-04-15 07:08:13,240 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 14 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 909 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=334, Invalid=1828, Unknown=0, NotChecked=0, Total=2162 [2022-04-15 07:08:13,240 INFO L913 BasicCegarLoop]: 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.1s IncrementalHoareTripleChecker+Time [2022-04-15 07:08:13,240 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [67 Valid, 71 Invalid, 1828 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1817 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-15 07:08:13,240 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 257 states. [2022-04-15 07:08:14,358 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 257 to 232. [2022-04-15 07:08:14,358 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:08:14,358 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-15 07:08:14,359 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-15 07:08:14,359 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-15 07:08:14,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:08:14,362 INFO L93 Difference]: Finished difference Result 257 states and 306 transitions. [2022-04-15 07:08:14,362 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 306 transitions. [2022-04-15 07:08:14,362 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:08:14,362 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:08:14,362 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-15 07:08:14,362 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-15 07:08:14,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:08:14,365 INFO L93 Difference]: Finished difference Result 257 states and 306 transitions. [2022-04-15 07:08:14,365 INFO L276 IsEmpty]: Start isEmpty. Operand 257 states and 306 transitions. [2022-04-15 07:08:14,365 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:08:14,365 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:08:14,365 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:08:14,365 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:08:14,366 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-15 07:08:14,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-15 07:08:14,368 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-15 07:08:14,368 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:08:14,368 INFO L478 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-15 07:08:14,369 INFO L479 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-15 07:08:14,369 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-15 07:08:16,172 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-15 07:08:16,173 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-15 07:08:16,173 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 07:08:16,173 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:08:16,173 INFO L499 BasicCegarLoop]: 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-15 07:08:16,189 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-15 07:08:16,379 WARN L460 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-15 07:08:16,379 INFO L403 AbstractCegarLoop]: === Iteration 89 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:08:16,380 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:08:16,380 INFO L85 PathProgramCache]: Analyzing trace with hash -860660833, now seen corresponding path program 77 times [2022-04-15 07:08:16,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:08:16,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [479187234] [2022-04-15 07:08:16,632 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-15 07:08:16,854 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-15 07:08:16,855 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:08:16,858 INFO L85 PathProgramCache]: Analyzing trace with hash -1016330175, now seen corresponding path program 1 times [2022-04-15 07:08:16,858 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:08:16,858 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1981714702] [2022-04-15 07:08:16,858 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:08:16,858 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:08:16,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:17,014 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:08:17,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:17,019 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-15 07:08:17,019 INFO L290 TraceCheckUtils]: 1: Hoare triple {129572#(<= 20 ~SIZE~0)} assume true; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:17,020 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {129572#(<= 20 ~SIZE~0)} {129567#true} #90#return; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:17,020 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:08:17,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:17,021 INFO L290 TraceCheckUtils]: 0: Hoare triple {129567#true} ~cond := #in~cond; {129567#true} is VALID [2022-04-15 07:08:17,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {129567#true} assume !(0 == ~cond); {129567#true} is VALID [2022-04-15 07:08:17,022 INFO L290 TraceCheckUtils]: 2: Hoare triple {129567#true} assume true; {129567#true} is VALID [2022-04-15 07:08:17,022 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129567#true} {129572#(<= 20 ~SIZE~0)} #86#return; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:17,022 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-15 07:08:17,023 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-15 07:08:17,023 INFO L290 TraceCheckUtils]: 2: Hoare triple {129572#(<= 20 ~SIZE~0)} assume true; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:17,023 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129572#(<= 20 ~SIZE~0)} {129567#true} #90#return; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:17,024 INFO L272 TraceCheckUtils]: 4: Hoare triple {129572#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:17,024 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-15 07:08:17,024 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-15 07:08:17,024 INFO L290 TraceCheckUtils]: 7: Hoare triple {129567#true} ~cond := #in~cond; {129567#true} is VALID [2022-04-15 07:08:17,024 INFO L290 TraceCheckUtils]: 8: Hoare triple {129567#true} assume !(0 == ~cond); {129567#true} is VALID [2022-04-15 07:08:17,024 INFO L290 TraceCheckUtils]: 9: Hoare triple {129567#true} assume true; {129567#true} is VALID [2022-04-15 07:08:17,025 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {129567#true} {129572#(<= 20 ~SIZE~0)} #86#return; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:17,025 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-15 07:08:17,025 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-15 07:08:17,026 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-15 07:08:17,027 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-15 07:08:17,027 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-15 07:08:17,028 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-15 07:08:17,029 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-15 07:08:17,029 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-15 07:08:17,030 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-15 07:08:17,030 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-15 07:08:17,031 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-15 07:08:17,031 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-15 07:08:17,031 INFO L290 TraceCheckUtils]: 23: Hoare triple {129584#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {129568#false} is VALID [2022-04-15 07:08:17,031 INFO L290 TraceCheckUtils]: 24: Hoare triple {129568#false} assume !false; {129568#false} is VALID [2022-04-15 07:08:17,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-15 07:08:17,032 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:08:17,032 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1981714702] [2022-04-15 07:08:17,032 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1981714702] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:08:17,032 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [50850911] [2022-04-15 07:08:17,032 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:08:17,032 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:08:17,032 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:08:17,033 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-15 07:08:17,035 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-15 07:08:17,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:17,063 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:08:17,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:17,070 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:08:17,331 INFO L272 TraceCheckUtils]: 0: Hoare triple {129567#true} call ULTIMATE.init(); {129567#true} is VALID [2022-04-15 07:08:17,331 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-15 07:08:17,332 INFO L290 TraceCheckUtils]: 2: Hoare triple {129572#(<= 20 ~SIZE~0)} assume true; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:17,332 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129572#(<= 20 ~SIZE~0)} {129567#true} #90#return; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:17,332 INFO L272 TraceCheckUtils]: 4: Hoare triple {129572#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:17,333 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-15 07:08:17,333 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-15 07:08:17,333 INFO L290 TraceCheckUtils]: 7: Hoare triple {129572#(<= 20 ~SIZE~0)} ~cond := #in~cond; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:17,334 INFO L290 TraceCheckUtils]: 8: Hoare triple {129572#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:17,334 INFO L290 TraceCheckUtils]: 9: Hoare triple {129572#(<= 20 ~SIZE~0)} assume true; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:17,334 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {129572#(<= 20 ~SIZE~0)} {129572#(<= 20 ~SIZE~0)} #86#return; {129572#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:17,335 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-15 07:08:17,335 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-15 07:08:17,336 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-15 07:08:17,336 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-15 07:08:17,337 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-15 07:08:17,337 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-15 07:08:17,338 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-15 07:08:17,338 INFO L290 TraceCheckUtils]: 18: Hoare triple {129568#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {129568#false} is VALID [2022-04-15 07:08:17,338 INFO L290 TraceCheckUtils]: 19: Hoare triple {129568#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {129568#false} is VALID [2022-04-15 07:08:17,338 INFO L290 TraceCheckUtils]: 20: Hoare triple {129568#false} assume !(~d~0 == ~SIZE~0); {129568#false} is VALID [2022-04-15 07:08:17,338 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-15 07:08:17,338 INFO L290 TraceCheckUtils]: 22: Hoare triple {129568#false} ~cond := #in~cond; {129568#false} is VALID [2022-04-15 07:08:17,338 INFO L290 TraceCheckUtils]: 23: Hoare triple {129568#false} assume 0 == ~cond; {129568#false} is VALID [2022-04-15 07:08:17,338 INFO L290 TraceCheckUtils]: 24: Hoare triple {129568#false} assume !false; {129568#false} is VALID [2022-04-15 07:08:17,339 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-15 07:08:17,339 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:08:17,603 INFO L290 TraceCheckUtils]: 24: Hoare triple {129568#false} assume !false; {129568#false} is VALID [2022-04-15 07:08:17,603 INFO L290 TraceCheckUtils]: 23: Hoare triple {129568#false} assume 0 == ~cond; {129568#false} is VALID [2022-04-15 07:08:17,603 INFO L290 TraceCheckUtils]: 22: Hoare triple {129568#false} ~cond := #in~cond; {129568#false} is VALID [2022-04-15 07:08:17,604 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-15 07:08:17,604 INFO L290 TraceCheckUtils]: 20: Hoare triple {129568#false} assume !(~d~0 == ~SIZE~0); {129568#false} is VALID [2022-04-15 07:08:17,604 INFO L290 TraceCheckUtils]: 19: Hoare triple {129568#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {129568#false} is VALID [2022-04-15 07:08:17,604 INFO L290 TraceCheckUtils]: 18: Hoare triple {129568#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {129568#false} is VALID [2022-04-15 07:08:17,604 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-15 07:08:17,605 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-15 07:08:17,605 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-15 07:08:17,605 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-15 07:08:17,606 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-15 07:08:17,607 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-15 07:08:17,607 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-15 07:08:17,607 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {129567#true} {129703#(< 1 ~SIZE~0)} #86#return; {129703#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:08:17,607 INFO L290 TraceCheckUtils]: 9: Hoare triple {129567#true} assume true; {129567#true} is VALID [2022-04-15 07:08:17,607 INFO L290 TraceCheckUtils]: 8: Hoare triple {129567#true} assume !(0 == ~cond); {129567#true} is VALID [2022-04-15 07:08:17,608 INFO L290 TraceCheckUtils]: 7: Hoare triple {129567#true} ~cond := #in~cond; {129567#true} is VALID [2022-04-15 07:08:17,608 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-15 07:08:17,608 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-15 07:08:17,608 INFO L272 TraceCheckUtils]: 4: Hoare triple {129703#(< 1 ~SIZE~0)} call #t~ret7 := main(); {129703#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:08:17,609 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129703#(< 1 ~SIZE~0)} {129567#true} #90#return; {129703#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:08:17,609 INFO L290 TraceCheckUtils]: 2: Hoare triple {129703#(< 1 ~SIZE~0)} assume true; {129703#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:08:17,609 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-15 07:08:17,609 INFO L272 TraceCheckUtils]: 0: Hoare triple {129567#true} call ULTIMATE.init(); {129567#true} is VALID [2022-04-15 07:08:17,609 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-15 07:08:17,610 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [50850911] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:08:17,610 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:08:17,610 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:08:18,961 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:08:18,962 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [479187234] [2022-04-15 07:08:18,962 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [479187234] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:08:18,962 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:08:18,962 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [37] imperfect sequences [] total 37 [2022-04-15 07:08:18,962 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1997382872] [2022-04-15 07:08:18,962 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:08:18,962 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-15 07:08:18,962 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:08:18,962 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-15 07:08:19,008 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-15 07:08:19,008 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 37 states [2022-04-15 07:08:19,008 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:08:19,009 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2022-04-15 07:08:19,009 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=336, Invalid=1734, Unknown=0, NotChecked=0, Total=2070 [2022-04-15 07:08:19,009 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-15 07:08:22,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:08:22,534 INFO L93 Difference]: Finished difference Result 378 states and 458 transitions. [2022-04-15 07:08:22,534 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2022-04-15 07:08:22,534 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-15 07:08:22,534 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:08:22,534 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-15 07:08:22,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 116 transitions. [2022-04-15 07:08:22,535 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-15 07:08:22,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 116 transitions. [2022-04-15 07:08:22,535 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 116 transitions. [2022-04-15 07:08:22,588 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-15 07:08:22,591 INFO L225 Difference]: With dead ends: 378 [2022-04-15 07:08:22,591 INFO L226 Difference]: Without dead ends: 255 [2022-04-15 07:08:22,592 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 13 SemanticMatches, 46 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 893 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=348, Invalid=1908, Unknown=0, NotChecked=0, Total=2256 [2022-04-15 07:08:22,592 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 52 mSDsluCounter, 78 mSDsCounter, 0 mSdLazyCounter, 2237 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-15 07:08:22,592 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [53 Valid, 98 Invalid, 2247 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 2237 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-15 07:08:22,592 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 255 states. [2022-04-15 07:08:23,287 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 255 to 232. [2022-04-15 07:08:23,288 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:08:23,288 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-15 07:08:23,288 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-15 07:08:23,288 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-15 07:08:23,291 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:08:23,291 INFO L93 Difference]: Finished difference Result 255 states and 304 transitions. [2022-04-15 07:08:23,291 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 304 transitions. [2022-04-15 07:08:23,291 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:08:23,291 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:08:23,292 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-15 07:08:23,292 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-15 07:08:23,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:08:23,294 INFO L93 Difference]: Finished difference Result 255 states and 304 transitions. [2022-04-15 07:08:23,294 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 304 transitions. [2022-04-15 07:08:23,294 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:08:23,295 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:08:23,295 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:08:23,295 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:08:23,295 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-15 07:08:23,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 232 states to 232 states and 279 transitions. [2022-04-15 07:08:23,298 INFO L78 Accepts]: Start accepts. Automaton has 232 states and 279 transitions. Word has length 61 [2022-04-15 07:08:23,298 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:08:23,298 INFO L478 AbstractCegarLoop]: Abstraction has 232 states and 279 transitions. [2022-04-15 07:08:23,314 INFO L479 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-15 07:08:23,315 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 232 states and 279 transitions. [2022-04-15 07:08:25,302 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-15 07:08:25,302 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 279 transitions. [2022-04-15 07:08:25,302 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 07:08:25,302 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:08:25,302 INFO L499 BasicCegarLoop]: 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-15 07:08:25,318 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (82)] Ended with exit code 0 [2022-04-15 07:08:25,513 WARN L460 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-15 07:08:25,513 INFO L403 AbstractCegarLoop]: === Iteration 90 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:08:25,513 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:08:25,513 INFO L85 PathProgramCache]: Analyzing trace with hash -1871778083, now seen corresponding path program 78 times [2022-04-15 07:08:25,513 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:08:25,513 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1988070594] [2022-04-15 07:08:25,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-15 07:08:28,679 WARN L977 rdanLoopAcceleration]: Unable to prove correctness of quantifier elimination. [2022-04-15 07:08:28,807 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-15 07:08:28,808 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:08:28,811 INFO L85 PathProgramCache]: Analyzing trace with hash 1476192577, now seen corresponding path program 1 times [2022-04-15 07:08:28,811 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:08:28,811 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1967591271] [2022-04-15 07:08:28,811 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:08:28,811 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:08:28,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:28,984 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:08:28,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:28,989 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-15 07:08:28,989 INFO L290 TraceCheckUtils]: 1: Hoare triple {131509#(<= 20 ~SIZE~0)} assume true; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:28,990 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {131509#(<= 20 ~SIZE~0)} {131504#true} #90#return; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:28,990 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:08:28,990 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:28,992 INFO L290 TraceCheckUtils]: 0: Hoare triple {131504#true} ~cond := #in~cond; {131504#true} is VALID [2022-04-15 07:08:28,992 INFO L290 TraceCheckUtils]: 1: Hoare triple {131504#true} assume !(0 == ~cond); {131504#true} is VALID [2022-04-15 07:08:28,992 INFO L290 TraceCheckUtils]: 2: Hoare triple {131504#true} assume true; {131504#true} is VALID [2022-04-15 07:08:28,992 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {131504#true} {131509#(<= 20 ~SIZE~0)} #86#return; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:28,993 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-15 07:08:28,993 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-15 07:08:28,993 INFO L290 TraceCheckUtils]: 2: Hoare triple {131509#(<= 20 ~SIZE~0)} assume true; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:28,994 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {131509#(<= 20 ~SIZE~0)} {131504#true} #90#return; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:28,994 INFO L272 TraceCheckUtils]: 4: Hoare triple {131509#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:28,994 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-15 07:08:28,994 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-15 07:08:28,994 INFO L290 TraceCheckUtils]: 7: Hoare triple {131504#true} ~cond := #in~cond; {131504#true} is VALID [2022-04-15 07:08:28,995 INFO L290 TraceCheckUtils]: 8: Hoare triple {131504#true} assume !(0 == ~cond); {131504#true} is VALID [2022-04-15 07:08:28,995 INFO L290 TraceCheckUtils]: 9: Hoare triple {131504#true} assume true; {131504#true} is VALID [2022-04-15 07:08:28,995 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {131504#true} {131509#(<= 20 ~SIZE~0)} #86#return; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:28,995 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-15 07:08:28,996 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-15 07:08:28,996 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-15 07:08:28,997 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-15 07:08:28,998 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-15 07:08:28,998 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-15 07:08:28,999 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-15 07:08:28,999 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-15 07:08:29,000 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-15 07:08:29,000 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-15 07:08:29,001 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-15 07:08:29,001 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-15 07:08:29,002 INFO L290 TraceCheckUtils]: 23: Hoare triple {131521#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {131505#false} is VALID [2022-04-15 07:08:29,002 INFO L290 TraceCheckUtils]: 24: Hoare triple {131505#false} assume !false; {131505#false} is VALID [2022-04-15 07:08: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-15 07:08:29,002 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:08:29,002 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1967591271] [2022-04-15 07:08:29,002 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1967591271] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:08:29,002 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [930866548] [2022-04-15 07:08:29,002 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:08:29,002 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:08:29,003 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:08:29,003 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-15 07:08:29,004 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-15 07:08:29,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:29,033 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:08:29,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:29,040 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:08:29,282 INFO L272 TraceCheckUtils]: 0: Hoare triple {131504#true} call ULTIMATE.init(); {131504#true} is VALID [2022-04-15 07:08:29,283 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-15 07:08:29,283 INFO L290 TraceCheckUtils]: 2: Hoare triple {131509#(<= 20 ~SIZE~0)} assume true; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:29,284 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {131509#(<= 20 ~SIZE~0)} {131504#true} #90#return; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:29,284 INFO L272 TraceCheckUtils]: 4: Hoare triple {131509#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:29,284 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-15 07:08:29,285 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-15 07:08:29,285 INFO L290 TraceCheckUtils]: 7: Hoare triple {131509#(<= 20 ~SIZE~0)} ~cond := #in~cond; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:29,285 INFO L290 TraceCheckUtils]: 8: Hoare triple {131509#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:29,285 INFO L290 TraceCheckUtils]: 9: Hoare triple {131509#(<= 20 ~SIZE~0)} assume true; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:29,286 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {131509#(<= 20 ~SIZE~0)} {131509#(<= 20 ~SIZE~0)} #86#return; {131509#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:29,286 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-15 07:08:29,287 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-15 07:08:29,287 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-15 07:08:29,288 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-15 07:08:29,288 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-15 07:08:29,289 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-15 07:08:29,289 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-15 07:08:29,290 INFO L290 TraceCheckUtils]: 18: Hoare triple {131505#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {131505#false} is VALID [2022-04-15 07:08:29,290 INFO L290 TraceCheckUtils]: 19: Hoare triple {131505#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {131505#false} is VALID [2022-04-15 07:08:29,290 INFO L290 TraceCheckUtils]: 20: Hoare triple {131505#false} assume !(~d~0 == ~SIZE~0); {131505#false} is VALID [2022-04-15 07:08:29,290 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-15 07:08:29,290 INFO L290 TraceCheckUtils]: 22: Hoare triple {131505#false} ~cond := #in~cond; {131505#false} is VALID [2022-04-15 07:08:29,290 INFO L290 TraceCheckUtils]: 23: Hoare triple {131505#false} assume 0 == ~cond; {131505#false} is VALID [2022-04-15 07:08:29,290 INFO L290 TraceCheckUtils]: 24: Hoare triple {131505#false} assume !false; {131505#false} is VALID [2022-04-15 07:08:29,290 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-15 07:08:29,290 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:08:29,588 INFO L290 TraceCheckUtils]: 24: Hoare triple {131505#false} assume !false; {131505#false} is VALID [2022-04-15 07:08:29,588 INFO L290 TraceCheckUtils]: 23: Hoare triple {131505#false} assume 0 == ~cond; {131505#false} is VALID [2022-04-15 07:08:29,588 INFO L290 TraceCheckUtils]: 22: Hoare triple {131505#false} ~cond := #in~cond; {131505#false} is VALID [2022-04-15 07:08:29,588 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-15 07:08:29,588 INFO L290 TraceCheckUtils]: 20: Hoare triple {131505#false} assume !(~d~0 == ~SIZE~0); {131505#false} is VALID [2022-04-15 07:08:29,588 INFO L290 TraceCheckUtils]: 19: Hoare triple {131505#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {131505#false} is VALID [2022-04-15 07:08:29,588 INFO L290 TraceCheckUtils]: 18: Hoare triple {131505#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {131505#false} is VALID [2022-04-15 07:08:29,589 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-15 07:08:29,589 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-15 07:08:29,590 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-15 07:08:29,590 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-15 07:08:29,591 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-15 07:08:29,591 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-15 07:08:29,591 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-15 07:08:29,592 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {131504#true} {131640#(< 1 ~SIZE~0)} #86#return; {131640#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:08:29,592 INFO L290 TraceCheckUtils]: 9: Hoare triple {131504#true} assume true; {131504#true} is VALID [2022-04-15 07:08:29,592 INFO L290 TraceCheckUtils]: 8: Hoare triple {131504#true} assume !(0 == ~cond); {131504#true} is VALID [2022-04-15 07:08:29,592 INFO L290 TraceCheckUtils]: 7: Hoare triple {131504#true} ~cond := #in~cond; {131504#true} is VALID [2022-04-15 07:08:29,592 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-15 07:08:29,592 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-15 07:08:29,593 INFO L272 TraceCheckUtils]: 4: Hoare triple {131640#(< 1 ~SIZE~0)} call #t~ret7 := main(); {131640#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:08:29,593 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {131640#(< 1 ~SIZE~0)} {131504#true} #90#return; {131640#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:08:29,593 INFO L290 TraceCheckUtils]: 2: Hoare triple {131640#(< 1 ~SIZE~0)} assume true; {131640#(< 1 ~SIZE~0)} is VALID [2022-04-15 07:08:29,594 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-15 07:08:29,594 INFO L272 TraceCheckUtils]: 0: Hoare triple {131504#true} call ULTIMATE.init(); {131504#true} is VALID [2022-04-15 07:08:29,594 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-15 07:08:29,594 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [930866548] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:08:29,594 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:08:29,594 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6, 6] total 19 [2022-04-15 07:08:31,034 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:08:31,034 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1988070594] [2022-04-15 07:08:31,034 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1988070594] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:08:31,034 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:08:31,034 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [38] imperfect sequences [] total 38 [2022-04-15 07:08:31,034 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1442336617] [2022-04-15 07:08:31,035 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:08:31,035 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-15 07:08:31,035 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:08:31,035 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-15 07:08:31,082 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-15 07:08:31,083 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 38 states [2022-04-15 07:08:31,083 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:08:31,083 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2022-04-15 07:08:31,083 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=350, Invalid=1812, Unknown=0, NotChecked=0, Total=2162 [2022-04-15 07:08:31,083 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-15 07:08:35,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:08:35,632 INFO L93 Difference]: Finished difference Result 389 states and 473 transitions. [2022-04-15 07:08:35,632 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-04-15 07:08:35,632 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-15 07:08:35,632 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:08:35,632 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-15 07:08:35,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 118 transitions. [2022-04-15 07:08:35,633 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-15 07:08:35,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 118 transitions. [2022-04-15 07:08:35,634 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 118 transitions. [2022-04-15 07:08:35,719 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-15 07:08:35,722 INFO L225 Difference]: With dead ends: 389 [2022-04-15 07:08:35,722 INFO L226 Difference]: Without dead ends: 255 [2022-04-15 07:08:35,722 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 48 SyntacticMatches, 12 SemanticMatches, 47 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 866 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=362, Invalid=1990, Unknown=0, NotChecked=0, Total=2352 [2022-04-15 07:08:35,723 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 81 mSDsluCounter, 53 mSDsCounter, 0 mSdLazyCounter, 2059 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s 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.6s IncrementalHoareTripleChecker+Time [2022-04-15 07:08:35,723 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [82 Valid, 74 Invalid, 2070 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 2059 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-15 07:08:35,723 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 255 states. [2022-04-15 07:08:36,880 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 255 to 235. [2022-04-15 07:08:36,880 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:08:36,880 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-15 07:08:36,881 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-15 07:08:36,881 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-15 07:08:36,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:08:36,884 INFO L93 Difference]: Finished difference Result 255 states and 305 transitions. [2022-04-15 07:08:36,884 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 305 transitions. [2022-04-15 07:08:36,884 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:08:36,884 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:08:36,884 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-15 07:08:36,884 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-15 07:08:36,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:08:36,887 INFO L93 Difference]: Finished difference Result 255 states and 305 transitions. [2022-04-15 07:08:36,887 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 305 transitions. [2022-04-15 07:08:36,887 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:08:36,887 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:08:36,887 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:08:36,887 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:08:36,888 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-15 07:08:36,890 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 235 states to 235 states and 283 transitions. [2022-04-15 07:08:36,891 INFO L78 Accepts]: Start accepts. Automaton has 235 states and 283 transitions. Word has length 61 [2022-04-15 07:08:36,891 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:08:36,891 INFO L478 AbstractCegarLoop]: Abstraction has 235 states and 283 transitions. [2022-04-15 07:08:36,891 INFO L479 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-15 07:08:36,891 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 235 states and 283 transitions. [2022-04-15 07:08:38,673 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 283 edges. 283 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:08:38,673 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 283 transitions. [2022-04-15 07:08:38,674 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-15 07:08:38,674 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:08:38,674 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 10, 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-15 07:08:38,691 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-15 07:08:38,887 WARN L460 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-15 07:08:38,888 INFO L403 AbstractCegarLoop]: === Iteration 91 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:08:38,888 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:08:38,888 INFO L85 PathProgramCache]: Analyzing trace with hash -970422987, now seen corresponding path program 5 times [2022-04-15 07:08:38,888 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:08:38,888 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1843609762] [2022-04-15 07:08:39,175 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 4 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=3}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-15 07:08:39,324 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 4 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {0={1=3}, 1={2=1}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-15 07:08:39,324 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-15 07:08:39,325 INFO L85 PathProgramCache]: Analyzing trace with hash 1959059408, now seen corresponding path program 1 times [2022-04-15 07:08:39,325 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:08:39,325 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [33799381] [2022-04-15 07:08:39,325 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:08:39,326 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:08:39,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:39,390 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:08:39,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:39,394 INFO L290 TraceCheckUtils]: 0: Hoare triple {133486#(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; {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,394 INFO L290 TraceCheckUtils]: 1: Hoare triple {133475#(<= 20 ~SIZE~0)} assume true; {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,394 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {133475#(<= 20 ~SIZE~0)} {133470#true} #90#return; {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,394 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:08:39,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:39,395 INFO L290 TraceCheckUtils]: 0: Hoare triple {133470#true} ~cond := #in~cond; {133470#true} is VALID [2022-04-15 07:08:39,396 INFO L290 TraceCheckUtils]: 1: Hoare triple {133470#true} assume !(0 == ~cond); {133470#true} is VALID [2022-04-15 07:08:39,396 INFO L290 TraceCheckUtils]: 2: Hoare triple {133470#true} assume true; {133470#true} is VALID [2022-04-15 07:08:39,396 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {133470#true} {133475#(<= 20 ~SIZE~0)} #86#return; {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,396 INFO L272 TraceCheckUtils]: 0: Hoare triple {133470#true} call ULTIMATE.init(); {133486#(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-15 07:08:39,397 INFO L290 TraceCheckUtils]: 1: Hoare triple {133486#(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; {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,397 INFO L290 TraceCheckUtils]: 2: Hoare triple {133475#(<= 20 ~SIZE~0)} assume true; {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,397 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {133475#(<= 20 ~SIZE~0)} {133470#true} #90#return; {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,397 INFO L272 TraceCheckUtils]: 4: Hoare triple {133475#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,398 INFO L290 TraceCheckUtils]: 5: Hoare triple {133475#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,398 INFO L272 TraceCheckUtils]: 6: Hoare triple {133475#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {133470#true} is VALID [2022-04-15 07:08:39,398 INFO L290 TraceCheckUtils]: 7: Hoare triple {133470#true} ~cond := #in~cond; {133470#true} is VALID [2022-04-15 07:08:39,398 INFO L290 TraceCheckUtils]: 8: Hoare triple {133470#true} assume !(0 == ~cond); {133470#true} is VALID [2022-04-15 07:08:39,398 INFO L290 TraceCheckUtils]: 9: Hoare triple {133470#true} assume true; {133470#true} is VALID [2022-04-15 07:08:39,398 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {133470#true} {133475#(<= 20 ~SIZE~0)} #86#return; {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,398 INFO L290 TraceCheckUtils]: 11: Hoare triple {133475#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,399 INFO L290 TraceCheckUtils]: 12: Hoare triple {133475#(<= 20 ~SIZE~0)} [434] L42-->L25-3_primed: Formula: (let ((.cse0 (= v_main_~st~0_1180 v_main_~st~0_1174)) (.cse1 (= v_main_~a~0_236 v_main_~a~0_235)) (.cse2 (= v_main_~b~0_232 v_main_~b~0_231)) (.cse3 (= v_~SIZE~0_763 v_main_~d~0_100)) (.cse5 (= 5 v_~SIZE~0_763)) (.cse4 (= v_main_~a~0_236 v_main_~b~0_232)) (.cse6 (<= v_~last~0_845 0))) (or (and (= v_main_~c~0_2219 v_main_~c~0_2213) (= v_~SIZE~0_763 v_~SIZE~0_763) .cse0 (= v_~last~0_845 v_~last~0_845) .cse1 .cse2 (= v_main_~d~0_100 v_main_~d~0_100) (= |v_main_#t~post5_1112| |v_main_#t~post5_1107|)) (and (= v_main_~c~0_2213 v_main_~c~0_2219) (= |v_main_#t~post5_1107| |v_main_#t~post5_1112|) .cse0 .cse1 .cse2 (or .cse3 (not .cse4) (not .cse5) (not .cse6))) (let ((.cse7 (div (+ v_main_~b~0_232 (* (- 1) v_main_~a~0_235)) (- 2)))) (and (not .cse3) (= (mod (+ v_main_~a~0_235 v_main_~b~0_232) 2) 0) (< 0 .cse7) .cse5 (= 5 v_main_~c~0_2213) .cse4 (= v_main_~st~0_1174 0) .cse6 (= (+ v_main_~b~0_232 (* .cse7 2)) v_main_~b~0_231))))) InVars {~SIZE~0=v_~SIZE~0_763, main_~c~0=v_main_~c~0_2219, main_#t~post5=|v_main_#t~post5_1112|, main_~d~0=v_main_~d~0_100, main_~st~0=v_main_~st~0_1180, main_~b~0=v_main_~b~0_232, ~last~0=v_~last~0_845, main_~a~0=v_main_~a~0_236} OutVars{~SIZE~0=v_~SIZE~0_763, main_~c~0=v_main_~c~0_2213, main_#t~post5=|v_main_#t~post5_1107|, main_~d~0=v_main_~d~0_100, main_~st~0=v_main_~st~0_1174, main_~b~0=v_main_~b~0_231, ~last~0=v_~last~0_845, main_~a~0=v_main_~a~0_235} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,399 INFO L290 TraceCheckUtils]: 13: Hoare triple {133475#(<= 20 ~SIZE~0)} [435] L25-3_primed-->L42: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,399 INFO L290 TraceCheckUtils]: 14: Hoare triple {133475#(<= 20 ~SIZE~0)} [436] L42-->L25-3_primed: Formula: (let ((.cse0 (= v_main_~a~0_236 v_main_~a~0_235)) (.cse1 (= v_main_~b~0_232 v_main_~b~0_231)) (.cse2 (= v_main_~c~0_2222 v_main_~c~0_2213)) (.cse3 (= v_main_~st~0_1183 v_main_~st~0_1174)) (.cse4 (= v_~SIZE~0_763 v_main_~d~0_100)) (.cse6 (= 5 v_~SIZE~0_763)) (.cse5 (= v_main_~a~0_236 v_main_~b~0_232)) (.cse7 (<= v_~last~0_845 0))) (or (and (= |v_main_#t~post5_1115| |v_main_#t~post5_1107|) (= v_~SIZE~0_763 v_~SIZE~0_763) (= v_~last~0_845 v_~last~0_845) .cse0 .cse1 .cse2 .cse3 (= v_main_~d~0_100 v_main_~d~0_100)) (and (= |v_main_#t~post5_1107| |v_main_#t~post5_1115|) .cse0 .cse1 .cse2 .cse3 (or .cse4 (not .cse5) (not .cse6) (not .cse7))) (and (< 0 (div (+ v_main_~b~0_232 (* (- 1) v_main_~b~0_231)) (- 2))) (not .cse4) .cse6 (= 5 v_main_~c~0_2213) (= (+ v_main_~b~0_232 (* 2 (div (+ (- v_main_~b~0_231) v_main_~b~0_232) (- 2)))) v_main_~a~0_235) .cse5 (= v_main_~st~0_1174 0) .cse7 (= (mod (+ v_main_~b~0_232 v_main_~b~0_231) 2) 0)))) InVars {~SIZE~0=v_~SIZE~0_763, main_~c~0=v_main_~c~0_2222, main_#t~post5=|v_main_#t~post5_1115|, main_~d~0=v_main_~d~0_100, main_~st~0=v_main_~st~0_1183, main_~b~0=v_main_~b~0_232, ~last~0=v_~last~0_845, main_~a~0=v_main_~a~0_236} OutVars{~SIZE~0=v_~SIZE~0_763, main_~c~0=v_main_~c~0_2213, main_#t~post5=|v_main_#t~post5_1107|, main_~d~0=v_main_~d~0_100, main_~st~0=v_main_~st~0_1174, main_~b~0=v_main_~b~0_231, ~last~0=v_~last~0_845, main_~a~0=v_main_~a~0_235} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,399 INFO L290 TraceCheckUtils]: 15: Hoare triple {133475#(<= 20 ~SIZE~0)} [433] 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] {133480#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-15 07:08:39,400 INFO L290 TraceCheckUtils]: 16: Hoare triple {133480#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} assume !!(~c~0 < ~SIZE~0); {133480#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-15 07:08:39,400 INFO L290 TraceCheckUtils]: 17: Hoare triple {133480#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} assume ~c~0 >= ~last~0;~st~0 := 0; {133480#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} is VALID [2022-04-15 07:08:39,400 INFO L290 TraceCheckUtils]: 18: Hoare triple {133480#(and (<= 20 ~SIZE~0) (= main_~c~0 0))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {133481#(<= (+ 19 main_~c~0) ~SIZE~0)} is VALID [2022-04-15 07:08:39,401 INFO L290 TraceCheckUtils]: 19: Hoare triple {133481#(<= (+ 19 main_~c~0) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {133481#(<= (+ 19 main_~c~0) ~SIZE~0)} is VALID [2022-04-15 07:08:39,401 INFO L290 TraceCheckUtils]: 20: Hoare triple {133481#(<= (+ 19 main_~c~0) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {133481#(<= (+ 19 main_~c~0) ~SIZE~0)} is VALID [2022-04-15 07:08:39,401 INFO L290 TraceCheckUtils]: 21: Hoare triple {133481#(<= (+ 19 main_~c~0) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {133482#(<= (+ main_~c~0 18) ~SIZE~0)} is VALID [2022-04-15 07:08:39,401 INFO L290 TraceCheckUtils]: 22: Hoare triple {133482#(<= (+ main_~c~0 18) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {133482#(<= (+ main_~c~0 18) ~SIZE~0)} is VALID [2022-04-15 07:08:39,402 INFO L290 TraceCheckUtils]: 23: Hoare triple {133482#(<= (+ main_~c~0 18) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {133482#(<= (+ main_~c~0 18) ~SIZE~0)} is VALID [2022-04-15 07:08:39,402 INFO L290 TraceCheckUtils]: 24: Hoare triple {133482#(<= (+ main_~c~0 18) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {133483#(<= (+ main_~c~0 17) ~SIZE~0)} is VALID [2022-04-15 07:08:39,402 INFO L290 TraceCheckUtils]: 25: Hoare triple {133483#(<= (+ main_~c~0 17) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {133483#(<= (+ main_~c~0 17) ~SIZE~0)} is VALID [2022-04-15 07:08:39,402 INFO L290 TraceCheckUtils]: 26: Hoare triple {133483#(<= (+ main_~c~0 17) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {133483#(<= (+ main_~c~0 17) ~SIZE~0)} is VALID [2022-04-15 07:08:39,403 INFO L290 TraceCheckUtils]: 27: Hoare triple {133483#(<= (+ main_~c~0 17) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {133484#(<= (+ main_~c~0 16) ~SIZE~0)} is VALID [2022-04-15 07:08:39,403 INFO L290 TraceCheckUtils]: 28: Hoare triple {133484#(<= (+ main_~c~0 16) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {133484#(<= (+ main_~c~0 16) ~SIZE~0)} is VALID [2022-04-15 07:08:39,403 INFO L290 TraceCheckUtils]: 29: Hoare triple {133484#(<= (+ main_~c~0 16) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {133484#(<= (+ main_~c~0 16) ~SIZE~0)} is VALID [2022-04-15 07:08:39,404 INFO L290 TraceCheckUtils]: 30: Hoare triple {133484#(<= (+ main_~c~0 16) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {133485#(<= (+ main_~c~0 15) ~SIZE~0)} is VALID [2022-04-15 07:08:39,404 INFO L290 TraceCheckUtils]: 31: Hoare triple {133485#(<= (+ main_~c~0 15) ~SIZE~0)} assume !(~c~0 < ~SIZE~0); {133471#false} is VALID [2022-04-15 07:08:39,404 INFO L290 TraceCheckUtils]: 32: Hoare triple {133471#false} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {133471#false} is VALID [2022-04-15 07:08:39,404 INFO L290 TraceCheckUtils]: 33: Hoare triple {133471#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {133471#false} is VALID [2022-04-15 07:08:39,404 INFO L290 TraceCheckUtils]: 34: Hoare triple {133471#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {133471#false} is VALID [2022-04-15 07:08:39,404 INFO L290 TraceCheckUtils]: 35: Hoare triple {133471#false} assume !(~d~0 == ~SIZE~0); {133471#false} is VALID [2022-04-15 07:08:39,404 INFO L272 TraceCheckUtils]: 36: Hoare triple {133471#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {133471#false} is VALID [2022-04-15 07:08:39,404 INFO L290 TraceCheckUtils]: 37: Hoare triple {133471#false} ~cond := #in~cond; {133471#false} is VALID [2022-04-15 07:08:39,404 INFO L290 TraceCheckUtils]: 38: Hoare triple {133471#false} assume 0 == ~cond; {133471#false} is VALID [2022-04-15 07:08:39,404 INFO L290 TraceCheckUtils]: 39: Hoare triple {133471#false} assume !false; {133471#false} is VALID [2022-04-15 07:08:39,405 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 0 proven. 35 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-15 07:08:39,405 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:08:39,405 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [33799381] [2022-04-15 07:08:39,405 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [33799381] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:08:39,405 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1569667161] [2022-04-15 07:08:39,405 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:08:39,405 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:08:39,405 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:08:39,406 INFO L229 MonitoredProcess]: Starting monitored process 84 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:08:39,407 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (84)] Waiting until timeout for monitored process [2022-04-15 07:08:39,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:39,449 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 07:08:39,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:08:39,454 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:08:39,632 INFO L272 TraceCheckUtils]: 0: Hoare triple {133470#true} call ULTIMATE.init(); {133470#true} is VALID [2022-04-15 07:08:39,632 INFO L290 TraceCheckUtils]: 1: Hoare triple {133470#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; {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,633 INFO L290 TraceCheckUtils]: 2: Hoare triple {133475#(<= 20 ~SIZE~0)} assume true; {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,633 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {133475#(<= 20 ~SIZE~0)} {133470#true} #90#return; {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,633 INFO L272 TraceCheckUtils]: 4: Hoare triple {133475#(<= 20 ~SIZE~0)} call #t~ret7 := main(); {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,633 INFO L290 TraceCheckUtils]: 5: Hoare triple {133475#(<= 20 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,634 INFO L272 TraceCheckUtils]: 6: Hoare triple {133475#(<= 20 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,634 INFO L290 TraceCheckUtils]: 7: Hoare triple {133475#(<= 20 ~SIZE~0)} ~cond := #in~cond; {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,634 INFO L290 TraceCheckUtils]: 8: Hoare triple {133475#(<= 20 ~SIZE~0)} assume !(0 == ~cond); {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,634 INFO L290 TraceCheckUtils]: 9: Hoare triple {133475#(<= 20 ~SIZE~0)} assume true; {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,635 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {133475#(<= 20 ~SIZE~0)} {133475#(<= 20 ~SIZE~0)} #86#return; {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,635 INFO L290 TraceCheckUtils]: 11: Hoare triple {133475#(<= 20 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,635 INFO L290 TraceCheckUtils]: 12: Hoare triple {133475#(<= 20 ~SIZE~0)} [434] L42-->L25-3_primed: Formula: (let ((.cse0 (= v_main_~st~0_1180 v_main_~st~0_1174)) (.cse1 (= v_main_~a~0_236 v_main_~a~0_235)) (.cse2 (= v_main_~b~0_232 v_main_~b~0_231)) (.cse3 (= v_~SIZE~0_763 v_main_~d~0_100)) (.cse5 (= 5 v_~SIZE~0_763)) (.cse4 (= v_main_~a~0_236 v_main_~b~0_232)) (.cse6 (<= v_~last~0_845 0))) (or (and (= v_main_~c~0_2219 v_main_~c~0_2213) (= v_~SIZE~0_763 v_~SIZE~0_763) .cse0 (= v_~last~0_845 v_~last~0_845) .cse1 .cse2 (= v_main_~d~0_100 v_main_~d~0_100) (= |v_main_#t~post5_1112| |v_main_#t~post5_1107|)) (and (= v_main_~c~0_2213 v_main_~c~0_2219) (= |v_main_#t~post5_1107| |v_main_#t~post5_1112|) .cse0 .cse1 .cse2 (or .cse3 (not .cse4) (not .cse5) (not .cse6))) (let ((.cse7 (div (+ v_main_~b~0_232 (* (- 1) v_main_~a~0_235)) (- 2)))) (and (not .cse3) (= (mod (+ v_main_~a~0_235 v_main_~b~0_232) 2) 0) (< 0 .cse7) .cse5 (= 5 v_main_~c~0_2213) .cse4 (= v_main_~st~0_1174 0) .cse6 (= (+ v_main_~b~0_232 (* .cse7 2)) v_main_~b~0_231))))) InVars {~SIZE~0=v_~SIZE~0_763, main_~c~0=v_main_~c~0_2219, main_#t~post5=|v_main_#t~post5_1112|, main_~d~0=v_main_~d~0_100, main_~st~0=v_main_~st~0_1180, main_~b~0=v_main_~b~0_232, ~last~0=v_~last~0_845, main_~a~0=v_main_~a~0_236} OutVars{~SIZE~0=v_~SIZE~0_763, main_~c~0=v_main_~c~0_2213, main_#t~post5=|v_main_#t~post5_1107|, main_~d~0=v_main_~d~0_100, main_~st~0=v_main_~st~0_1174, main_~b~0=v_main_~b~0_231, ~last~0=v_~last~0_845, main_~a~0=v_main_~a~0_235} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,635 INFO L290 TraceCheckUtils]: 13: Hoare triple {133475#(<= 20 ~SIZE~0)} [435] L25-3_primed-->L42: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,636 INFO L290 TraceCheckUtils]: 14: Hoare triple {133475#(<= 20 ~SIZE~0)} [436] L42-->L25-3_primed: Formula: (let ((.cse0 (= v_main_~a~0_236 v_main_~a~0_235)) (.cse1 (= v_main_~b~0_232 v_main_~b~0_231)) (.cse2 (= v_main_~c~0_2222 v_main_~c~0_2213)) (.cse3 (= v_main_~st~0_1183 v_main_~st~0_1174)) (.cse4 (= v_~SIZE~0_763 v_main_~d~0_100)) (.cse6 (= 5 v_~SIZE~0_763)) (.cse5 (= v_main_~a~0_236 v_main_~b~0_232)) (.cse7 (<= v_~last~0_845 0))) (or (and (= |v_main_#t~post5_1115| |v_main_#t~post5_1107|) (= v_~SIZE~0_763 v_~SIZE~0_763) (= v_~last~0_845 v_~last~0_845) .cse0 .cse1 .cse2 .cse3 (= v_main_~d~0_100 v_main_~d~0_100)) (and (= |v_main_#t~post5_1107| |v_main_#t~post5_1115|) .cse0 .cse1 .cse2 .cse3 (or .cse4 (not .cse5) (not .cse6) (not .cse7))) (and (< 0 (div (+ v_main_~b~0_232 (* (- 1) v_main_~b~0_231)) (- 2))) (not .cse4) .cse6 (= 5 v_main_~c~0_2213) (= (+ v_main_~b~0_232 (* 2 (div (+ (- v_main_~b~0_231) v_main_~b~0_232) (- 2)))) v_main_~a~0_235) .cse5 (= v_main_~st~0_1174 0) .cse7 (= (mod (+ v_main_~b~0_232 v_main_~b~0_231) 2) 0)))) InVars {~SIZE~0=v_~SIZE~0_763, main_~c~0=v_main_~c~0_2222, main_#t~post5=|v_main_#t~post5_1115|, main_~d~0=v_main_~d~0_100, main_~st~0=v_main_~st~0_1183, main_~b~0=v_main_~b~0_232, ~last~0=v_~last~0_845, main_~a~0=v_main_~a~0_236} OutVars{~SIZE~0=v_~SIZE~0_763, main_~c~0=v_main_~c~0_2213, main_#t~post5=|v_main_#t~post5_1107|, main_~d~0=v_main_~d~0_100, main_~st~0=v_main_~st~0_1174, main_~b~0=v_main_~b~0_231, ~last~0=v_~last~0_845, main_~a~0=v_main_~a~0_235} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {133475#(<= 20 ~SIZE~0)} is VALID [2022-04-15 07:08:39,636 INFO L290 TraceCheckUtils]: 15: Hoare triple {133475#(<= 20 ~SIZE~0)} [433] 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] {133535#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-15 07:08:39,636 INFO L290 TraceCheckUtils]: 16: Hoare triple {133535#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} assume !!(~c~0 < ~SIZE~0); {133535#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-15 07:08:39,636 INFO L290 TraceCheckUtils]: 17: Hoare triple {133535#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} assume ~c~0 >= ~last~0;~st~0 := 0; {133535#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} is VALID [2022-04-15 07:08:39,637 INFO L290 TraceCheckUtils]: 18: Hoare triple {133535#(and (<= 20 ~SIZE~0) (<= main_~c~0 0))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {133545#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} is VALID [2022-04-15 07:08:39,637 INFO L290 TraceCheckUtils]: 19: Hoare triple {133545#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} assume !!(~c~0 < ~SIZE~0); {133545#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} is VALID [2022-04-15 07:08:39,637 INFO L290 TraceCheckUtils]: 20: Hoare triple {133545#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} assume ~c~0 >= ~last~0;~st~0 := 0; {133545#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} is VALID [2022-04-15 07:08:39,638 INFO L290 TraceCheckUtils]: 21: Hoare triple {133545#(and (<= 20 ~SIZE~0) (<= main_~c~0 1))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {133555#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} is VALID [2022-04-15 07:08:39,638 INFO L290 TraceCheckUtils]: 22: Hoare triple {133555#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} assume !!(~c~0 < ~SIZE~0); {133555#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} is VALID [2022-04-15 07:08:39,638 INFO L290 TraceCheckUtils]: 23: Hoare triple {133555#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} assume ~c~0 >= ~last~0;~st~0 := 0; {133555#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} is VALID [2022-04-15 07:08:39,639 INFO L290 TraceCheckUtils]: 24: Hoare triple {133555#(and (<= 20 ~SIZE~0) (<= main_~c~0 2))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {133565#(and (<= main_~c~0 3) (<= 20 ~SIZE~0))} is VALID [2022-04-15 07:08:39,639 INFO L290 TraceCheckUtils]: 25: Hoare triple {133565#(and (<= main_~c~0 3) (<= 20 ~SIZE~0))} assume !!(~c~0 < ~SIZE~0); {133565#(and (<= main_~c~0 3) (<= 20 ~SIZE~0))} is VALID [2022-04-15 07:08:39,639 INFO L290 TraceCheckUtils]: 26: Hoare triple {133565#(and (<= main_~c~0 3) (<= 20 ~SIZE~0))} assume ~c~0 >= ~last~0;~st~0 := 0; {133565#(and (<= main_~c~0 3) (<= 20 ~SIZE~0))} is VALID [2022-04-15 07:08:39,640 INFO L290 TraceCheckUtils]: 27: Hoare triple {133565#(and (<= main_~c~0 3) (<= 20 ~SIZE~0))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {133575#(and (<= 20 ~SIZE~0) (<= main_~c~0 4))} is VALID [2022-04-15 07:08:39,640 INFO L290 TraceCheckUtils]: 28: Hoare triple {133575#(and (<= 20 ~SIZE~0) (<= main_~c~0 4))} assume !!(~c~0 < ~SIZE~0); {133575#(and (<= 20 ~SIZE~0) (<= main_~c~0 4))} is VALID [2022-04-15 07:08:39,640 INFO L290 TraceCheckUtils]: 29: Hoare triple {133575#(and (<= 20 ~SIZE~0) (<= main_~c~0 4))} assume ~c~0 >= ~last~0;~st~0 := 0; {133575#(and (<= 20 ~SIZE~0) (<= main_~c~0 4))} is VALID [2022-04-15 07:08:39,641 INFO L290 TraceCheckUtils]: 30: Hoare triple {133575#(and (<= 20 ~SIZE~0) (<= main_~c~0 4))} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {133585#(and (<= main_~c~0 5) (<= 20 ~SIZE~0))} is VALID [2022-04-15 07:08:39,641 INFO L290 TraceCheckUtils]: 31: Hoare triple {133585#(and (<= main_~c~0 5) (<= 20 ~SIZE~0))} assume !(~c~0 < ~SIZE~0); {133471#false} is VALID [2022-04-15 07:08:39,641 INFO L290 TraceCheckUtils]: 32: Hoare triple {133471#false} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {133471#false} is VALID [2022-04-15 07:08:39,641 INFO L290 TraceCheckUtils]: 33: Hoare triple {133471#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {133471#false} is VALID [2022-04-15 07:08:39,641 INFO L290 TraceCheckUtils]: 34: Hoare triple {133471#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {133471#false} is VALID [2022-04-15 07:08:39,641 INFO L290 TraceCheckUtils]: 35: Hoare triple {133471#false} assume !(~d~0 == ~SIZE~0); {133471#false} is VALID [2022-04-15 07:08:39,641 INFO L272 TraceCheckUtils]: 36: Hoare triple {133471#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {133471#false} is VALID [2022-04-15 07:08:39,641 INFO L290 TraceCheckUtils]: 37: Hoare triple {133471#false} ~cond := #in~cond; {133471#false} is VALID [2022-04-15 07:08:39,641 INFO L290 TraceCheckUtils]: 38: Hoare triple {133471#false} assume 0 == ~cond; {133471#false} is VALID [2022-04-15 07:08:39,641 INFO L290 TraceCheckUtils]: 39: Hoare triple {133471#false} assume !false; {133471#false} is VALID [2022-04-15 07:08:39,642 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 0 proven. 35 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-15 07:08:39,642 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:08:39,803 INFO L290 TraceCheckUtils]: 39: Hoare triple {133471#false} assume !false; {133471#false} is VALID [2022-04-15 07:08:39,803 INFO L290 TraceCheckUtils]: 38: Hoare triple {133471#false} assume 0 == ~cond; {133471#false} is VALID [2022-04-15 07:08:39,803 INFO L290 TraceCheckUtils]: 37: Hoare triple {133471#false} ~cond := #in~cond; {133471#false} is VALID [2022-04-15 07:08:39,803 INFO L272 TraceCheckUtils]: 36: Hoare triple {133471#false} call __VERIFIER_assert((if ~a~0 == ~b~0 && ~c~0 == ~SIZE~0 then 1 else 0)); {133471#false} is VALID [2022-04-15 07:08:39,803 INFO L290 TraceCheckUtils]: 35: Hoare triple {133471#false} assume !(~d~0 == ~SIZE~0); {133471#false} is VALID [2022-04-15 07:08:39,803 INFO L290 TraceCheckUtils]: 34: Hoare triple {133471#false} assume !(1 == ~st~0 && ~last~0 >= ~SIZE~0); {133471#false} is VALID [2022-04-15 07:08:39,803 INFO L290 TraceCheckUtils]: 33: Hoare triple {133471#false} assume !(~c~0 == ~last~0 && 0 == ~st~0); {133471#false} is VALID [2022-04-15 07:08:39,803 INFO L290 TraceCheckUtils]: 32: Hoare triple {133471#false} assume 0 == ~st~0 && ~c~0 == 1 + ~last~0;~a~0 := 3 + ~a~0;~b~0 := 3 + ~b~0; {133471#false} is VALID [2022-04-15 07:08:39,803 INFO L290 TraceCheckUtils]: 31: Hoare triple {133637#(< main_~c~0 ~SIZE~0)} assume !(~c~0 < ~SIZE~0); {133471#false} is VALID [2022-04-15 07:08:39,805 INFO L290 TraceCheckUtils]: 30: Hoare triple {133641#(< (+ main_~c~0 1) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {133637#(< main_~c~0 ~SIZE~0)} is VALID [2022-04-15 07:08:39,805 INFO L290 TraceCheckUtils]: 29: Hoare triple {133641#(< (+ main_~c~0 1) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {133641#(< (+ main_~c~0 1) ~SIZE~0)} is VALID [2022-04-15 07:08:39,805 INFO L290 TraceCheckUtils]: 28: Hoare triple {133641#(< (+ main_~c~0 1) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {133641#(< (+ main_~c~0 1) ~SIZE~0)} is VALID [2022-04-15 07:08:39,805 INFO L290 TraceCheckUtils]: 27: Hoare triple {133651#(< (+ main_~c~0 2) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {133641#(< (+ main_~c~0 1) ~SIZE~0)} is VALID [2022-04-15 07:08:39,806 INFO L290 TraceCheckUtils]: 26: Hoare triple {133651#(< (+ main_~c~0 2) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {133651#(< (+ main_~c~0 2) ~SIZE~0)} is VALID [2022-04-15 07:08:39,806 INFO L290 TraceCheckUtils]: 25: Hoare triple {133651#(< (+ main_~c~0 2) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {133651#(< (+ main_~c~0 2) ~SIZE~0)} is VALID [2022-04-15 07:08:39,806 INFO L290 TraceCheckUtils]: 24: Hoare triple {133661#(< (+ main_~c~0 3) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {133651#(< (+ main_~c~0 2) ~SIZE~0)} is VALID [2022-04-15 07:08:39,806 INFO L290 TraceCheckUtils]: 23: Hoare triple {133661#(< (+ main_~c~0 3) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {133661#(< (+ main_~c~0 3) ~SIZE~0)} is VALID [2022-04-15 07:08:39,807 INFO L290 TraceCheckUtils]: 22: Hoare triple {133661#(< (+ main_~c~0 3) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {133661#(< (+ main_~c~0 3) ~SIZE~0)} is VALID [2022-04-15 07:08:39,807 INFO L290 TraceCheckUtils]: 21: Hoare triple {133671#(< (+ main_~c~0 4) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {133661#(< (+ main_~c~0 3) ~SIZE~0)} is VALID [2022-04-15 07:08:39,807 INFO L290 TraceCheckUtils]: 20: Hoare triple {133671#(< (+ main_~c~0 4) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {133671#(< (+ main_~c~0 4) ~SIZE~0)} is VALID [2022-04-15 07:08:39,807 INFO L290 TraceCheckUtils]: 19: Hoare triple {133671#(< (+ main_~c~0 4) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {133671#(< (+ main_~c~0 4) ~SIZE~0)} is VALID [2022-04-15 07:08:39,808 INFO L290 TraceCheckUtils]: 18: Hoare triple {133681#(< (+ 5 main_~c~0) ~SIZE~0)} #t~post5 := ~c~0;~c~0 := 1 + #t~post5;havoc #t~post5; {133671#(< (+ main_~c~0 4) ~SIZE~0)} is VALID [2022-04-15 07:08:39,808 INFO L290 TraceCheckUtils]: 17: Hoare triple {133681#(< (+ 5 main_~c~0) ~SIZE~0)} assume ~c~0 >= ~last~0;~st~0 := 0; {133681#(< (+ 5 main_~c~0) ~SIZE~0)} is VALID [2022-04-15 07:08:39,808 INFO L290 TraceCheckUtils]: 16: Hoare triple {133681#(< (+ 5 main_~c~0) ~SIZE~0)} assume !!(~c~0 < ~SIZE~0); {133681#(< (+ 5 main_~c~0) ~SIZE~0)} is VALID [2022-04-15 07:08:39,808 INFO L290 TraceCheckUtils]: 15: Hoare triple {133691#(< 5 ~SIZE~0)} [433] 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] {133681#(< (+ 5 main_~c~0) ~SIZE~0)} is VALID [2022-04-15 07:08:39,809 INFO L290 TraceCheckUtils]: 14: Hoare triple {133691#(< 5 ~SIZE~0)} [436] L42-->L25-3_primed: Formula: (let ((.cse0 (= v_main_~a~0_236 v_main_~a~0_235)) (.cse1 (= v_main_~b~0_232 v_main_~b~0_231)) (.cse2 (= v_main_~c~0_2222 v_main_~c~0_2213)) (.cse3 (= v_main_~st~0_1183 v_main_~st~0_1174)) (.cse4 (= v_~SIZE~0_763 v_main_~d~0_100)) (.cse6 (= 5 v_~SIZE~0_763)) (.cse5 (= v_main_~a~0_236 v_main_~b~0_232)) (.cse7 (<= v_~last~0_845 0))) (or (and (= |v_main_#t~post5_1115| |v_main_#t~post5_1107|) (= v_~SIZE~0_763 v_~SIZE~0_763) (= v_~last~0_845 v_~last~0_845) .cse0 .cse1 .cse2 .cse3 (= v_main_~d~0_100 v_main_~d~0_100)) (and (= |v_main_#t~post5_1107| |v_main_#t~post5_1115|) .cse0 .cse1 .cse2 .cse3 (or .cse4 (not .cse5) (not .cse6) (not .cse7))) (and (< 0 (div (+ v_main_~b~0_232 (* (- 1) v_main_~b~0_231)) (- 2))) (not .cse4) .cse6 (= 5 v_main_~c~0_2213) (= (+ v_main_~b~0_232 (* 2 (div (+ (- v_main_~b~0_231) v_main_~b~0_232) (- 2)))) v_main_~a~0_235) .cse5 (= v_main_~st~0_1174 0) .cse7 (= (mod (+ v_main_~b~0_232 v_main_~b~0_231) 2) 0)))) InVars {~SIZE~0=v_~SIZE~0_763, main_~c~0=v_main_~c~0_2222, main_#t~post5=|v_main_#t~post5_1115|, main_~d~0=v_main_~d~0_100, main_~st~0=v_main_~st~0_1183, main_~b~0=v_main_~b~0_232, ~last~0=v_~last~0_845, main_~a~0=v_main_~a~0_236} OutVars{~SIZE~0=v_~SIZE~0_763, main_~c~0=v_main_~c~0_2213, main_#t~post5=|v_main_#t~post5_1107|, main_~d~0=v_main_~d~0_100, main_~st~0=v_main_~st~0_1174, main_~b~0=v_main_~b~0_231, ~last~0=v_~last~0_845, main_~a~0=v_main_~a~0_235} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {133691#(< 5 ~SIZE~0)} is VALID [2022-04-15 07:08:39,809 INFO L290 TraceCheckUtils]: 13: Hoare triple {133691#(< 5 ~SIZE~0)} [435] L25-3_primed-->L42: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {133691#(< 5 ~SIZE~0)} is VALID [2022-04-15 07:08:39,809 INFO L290 TraceCheckUtils]: 12: Hoare triple {133691#(< 5 ~SIZE~0)} [434] L42-->L25-3_primed: Formula: (let ((.cse0 (= v_main_~st~0_1180 v_main_~st~0_1174)) (.cse1 (= v_main_~a~0_236 v_main_~a~0_235)) (.cse2 (= v_main_~b~0_232 v_main_~b~0_231)) (.cse3 (= v_~SIZE~0_763 v_main_~d~0_100)) (.cse5 (= 5 v_~SIZE~0_763)) (.cse4 (= v_main_~a~0_236 v_main_~b~0_232)) (.cse6 (<= v_~last~0_845 0))) (or (and (= v_main_~c~0_2219 v_main_~c~0_2213) (= v_~SIZE~0_763 v_~SIZE~0_763) .cse0 (= v_~last~0_845 v_~last~0_845) .cse1 .cse2 (= v_main_~d~0_100 v_main_~d~0_100) (= |v_main_#t~post5_1112| |v_main_#t~post5_1107|)) (and (= v_main_~c~0_2213 v_main_~c~0_2219) (= |v_main_#t~post5_1107| |v_main_#t~post5_1112|) .cse0 .cse1 .cse2 (or .cse3 (not .cse4) (not .cse5) (not .cse6))) (let ((.cse7 (div (+ v_main_~b~0_232 (* (- 1) v_main_~a~0_235)) (- 2)))) (and (not .cse3) (= (mod (+ v_main_~a~0_235 v_main_~b~0_232) 2) 0) (< 0 .cse7) .cse5 (= 5 v_main_~c~0_2213) .cse4 (= v_main_~st~0_1174 0) .cse6 (= (+ v_main_~b~0_232 (* .cse7 2)) v_main_~b~0_231))))) InVars {~SIZE~0=v_~SIZE~0_763, main_~c~0=v_main_~c~0_2219, main_#t~post5=|v_main_#t~post5_1112|, main_~d~0=v_main_~d~0_100, main_~st~0=v_main_~st~0_1180, main_~b~0=v_main_~b~0_232, ~last~0=v_~last~0_845, main_~a~0=v_main_~a~0_236} OutVars{~SIZE~0=v_~SIZE~0_763, main_~c~0=v_main_~c~0_2213, main_#t~post5=|v_main_#t~post5_1107|, main_~d~0=v_main_~d~0_100, main_~st~0=v_main_~st~0_1174, main_~b~0=v_main_~b~0_231, ~last~0=v_~last~0_845, main_~a~0=v_main_~a~0_235} AuxVars[] AssignedVars[main_~c~0, main_#t~post5, main_~st~0, main_~b~0, main_~a~0] {133691#(< 5 ~SIZE~0)} is VALID [2022-04-15 07:08:39,809 INFO L290 TraceCheckUtils]: 11: Hoare triple {133691#(< 5 ~SIZE~0)} ~a~0 := 0;~b~0 := 0;~c~0 := 0;~st~0 := 0;~d~0 := 0; {133691#(< 5 ~SIZE~0)} is VALID [2022-04-15 07:08:39,810 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {133470#true} {133691#(< 5 ~SIZE~0)} #86#return; {133691#(< 5 ~SIZE~0)} is VALID [2022-04-15 07:08:39,810 INFO L290 TraceCheckUtils]: 9: Hoare triple {133470#true} assume true; {133470#true} is VALID [2022-04-15 07:08:39,814 INFO L290 TraceCheckUtils]: 8: Hoare triple {133470#true} assume !(0 == ~cond); {133470#true} is VALID [2022-04-15 07:08:39,821 INFO L290 TraceCheckUtils]: 7: Hoare triple {133470#true} ~cond := #in~cond; {133470#true} is VALID [2022-04-15 07:08:39,821 INFO L272 TraceCheckUtils]: 6: Hoare triple {133691#(< 5 ~SIZE~0)} call assume_abort_if_not((if ~last~0 > 0 then 1 else 0)); {133470#true} is VALID [2022-04-15 07:08:39,822 INFO L290 TraceCheckUtils]: 5: Hoare triple {133691#(< 5 ~SIZE~0)} assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~last~0 := #t~nondet4;havoc #t~nondet4; {133691#(< 5 ~SIZE~0)} is VALID [2022-04-15 07:08:39,822 INFO L272 TraceCheckUtils]: 4: Hoare triple {133691#(< 5 ~SIZE~0)} call #t~ret7 := main(); {133691#(< 5 ~SIZE~0)} is VALID [2022-04-15 07:08:39,822 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {133691#(< 5 ~SIZE~0)} {133470#true} #90#return; {133691#(< 5 ~SIZE~0)} is VALID [2022-04-15 07:08:39,822 INFO L290 TraceCheckUtils]: 2: Hoare triple {133691#(< 5 ~SIZE~0)} assume true; {133691#(< 5 ~SIZE~0)} is VALID [2022-04-15 07:08:39,823 INFO L290 TraceCheckUtils]: 1: Hoare triple {133470#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; {133691#(< 5 ~SIZE~0)} is VALID [2022-04-15 07:08:39,823 INFO L272 TraceCheckUtils]: 0: Hoare triple {133470#true} call ULTIMATE.init(); {133470#true} is VALID [2022-04-15 07:08:39,823 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 0 proven. 35 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-15 07:08:39,823 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1569667161] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:08:39,823 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 07:08:39,823 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 9] total 23 [2022-04-15 07:08:39,980 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:08:39,980 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1843609762] [2022-04-15 07:08:39,980 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1843609762] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:08:39,980 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:08:39,980 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-15 07:08:39,980 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [897834090] [2022-04-15 07:08:39,980 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:08:39,980 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 3.0) internal successors, (51), 16 states have internal predecessors, (51), 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 63 [2022-04-15 07:08:39,981 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:08:39,981 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 3.0) internal successors, (51), 16 states have internal predecessors, (51), 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-15 07:08:40,005 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-15 07:08:40,005 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-15 07:08:40,005 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:08:40,006 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-15 07:08:40,006 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=325, Invalid=545, Unknown=0, NotChecked=0, Total=870 [2022-04-15 07:08:40,006 INFO L87 Difference]: Start difference. First operand 235 states and 283 transitions. Second operand has 17 states, 17 states have (on average 3.0) internal successors, (51), 16 states have internal predecessors, (51), 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-15 07:08:41,779 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:08:41,779 INFO L93 Difference]: Finished difference Result 452 states and 546 transitions. [2022-04-15 07:08:41,779 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-15 07:08:41,779 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 3.0) internal successors, (51), 16 states have internal predecessors, (51), 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 63 [2022-04-15 07:08:41,779 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:08:41,779 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 3.0) internal successors, (51), 16 states have internal predecessors, (51), 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-15 07:08:41,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 95 transitions. [2022-04-15 07:08:41,780 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 3.0) internal successors, (51), 16 states have internal predecessors, (51), 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-15 07:08:41,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 95 transitions. [2022-04-15 07:08:41,780 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 95 transitions. [2022-04-15 07:08:41,835 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-15 07:08:41,840 INFO L225 Difference]: With dead ends: 452 [2022-04-15 07:08:41,840 INFO L226 Difference]: Without dead ends: 320 [2022-04-15 07:08:41,840 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 90 SyntacticMatches, 10 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 850 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=455, Invalid=805, Unknown=0, NotChecked=0, Total=1260 [2022-04-15 07:08:41,840 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 76 mSDsluCounter, 14 mSDsCounter, 0 mSdLazyCounter, 358 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 77 SdHoareTripleChecker+Valid, 35 SdHoareTripleChecker+Invalid, 387 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 358 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 07:08:41,841 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [77 Valid, 35 Invalid, 387 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 358 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 07:08:41,841 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 320 states. [2022-04-15 07:08:42,872 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 320 to 253. [2022-04-15 07:08:42,872 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:08:42,873 INFO L82 GeneralOperation]: Start isEquivalent. First operand 320 states. Second operand has 253 states, 238 states have (on average 1.2058823529411764) internal successors, (287), 241 states have internal predecessors, (287), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:08:42,873 INFO L74 IsIncluded]: Start isIncluded. First operand 320 states. Second operand has 253 states, 238 states have (on average 1.2058823529411764) internal successors, (287), 241 states have internal predecessors, (287), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:08:42,873 INFO L87 Difference]: Start difference. First operand 320 states. Second operand has 253 states, 238 states have (on average 1.2058823529411764) internal successors, (287), 241 states have internal predecessors, (287), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:08:42,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:08:42,882 INFO L93 Difference]: Finished difference Result 320 states and 374 transitions. [2022-04-15 07:08:42,882 INFO L276 IsEmpty]: Start isEmpty. Operand 320 states and 374 transitions. [2022-04-15 07:08:42,883 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:08:42,883 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:08:42,883 INFO L74 IsIncluded]: Start isIncluded. First operand has 253 states, 238 states have (on average 1.2058823529411764) internal successors, (287), 241 states have internal predecessors, (287), 9 states have call successors, (9), 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 320 states. [2022-04-15 07:08:42,883 INFO L87 Difference]: Start difference. First operand has 253 states, 238 states have (on average 1.2058823529411764) internal successors, (287), 241 states have internal predecessors, (287), 9 states have call successors, (9), 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 320 states. [2022-04-15 07:08:42,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:08:42,887 INFO L93 Difference]: Finished difference Result 320 states and 374 transitions. [2022-04-15 07:08:42,887 INFO L276 IsEmpty]: Start isEmpty. Operand 320 states and 374 transitions. [2022-04-15 07:08:42,887 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:08:42,887 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:08:42,887 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:08:42,887 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:08:42,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 253 states, 238 states have (on average 1.2058823529411764) internal successors, (287), 241 states have internal predecessors, (287), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 5 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 07:08:42,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 253 states to 253 states and 304 transitions. [2022-04-15 07:08:42,891 INFO L78 Accepts]: Start accepts. Automaton has 253 states and 304 transitions. Word has length 63 [2022-04-15 07:08:42,891 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:08:42,891 INFO L478 AbstractCegarLoop]: Abstraction has 253 states and 304 transitions. [2022-04-15 07:08:42,891 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 3.0) internal successors, (51), 16 states have internal predecessors, (51), 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-15 07:08:42,891 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 253 states and 304 transitions. [2022-04-15 07:08:43,274 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-15 07:08:43,275 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-15 07:08:43,293 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (84)] Ended with exit code 0 [2022-04-15 07:08:43,492 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable90,84 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:08:43,493 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.parseCheckSatResult(Executor.java:262) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Scriptor.checkSat(Scriptor.java:155) at de.uni_freiburg.informatik.ultimate.logic.WrapperScript.checkSat(WrapperScript.java:163) at de.uni_freiburg.informatik.ultimate.logic.WrapperScript.checkSat(WrapperScript.java:163) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.ManagedScript.checkSat(ManagedScript.java:139) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.IncrementalHoareTripleChecker.checkValidity(IncrementalHoareTripleChecker.java:680) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.hoaretriple.IncrementalHoareTripleChecker.checkInternal(IncrementalHoareTripleChecker.java:145) 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:483) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:421) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:349) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:331) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopUtils.getCegarLoopResult(CegarLoopUtils.java:56) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:411) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:301) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseSequentialProgram(TraceAbstractionStarter.java:261) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:153) 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) ... 30 more [2022-04-15 07:08:43,497 INFO L158 Benchmark]: Toolchain (without parser) took 782599.29ms. Allocated memory was 194.0MB in the beginning and 280.0MB in the end (delta: 86.0MB). Free memory was 141.1MB in the beginning and 184.4MB in the end (delta: -43.3MB). Peak memory consumption was 150.5MB. Max. memory is 8.0GB. [2022-04-15 07:08:43,497 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 194.0MB. Free memory is still 157.5MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-15 07:08:43,497 INFO L158 Benchmark]: CACSL2BoogieTranslator took 199.76ms. Allocated memory is still 194.0MB. Free memory was 140.9MB in the beginning and 167.8MB in the end (delta: -26.8MB). Peak memory consumption was 11.7MB. Max. memory is 8.0GB. [2022-04-15 07:08:43,497 INFO L158 Benchmark]: Boogie Preprocessor took 18.77ms. Allocated memory is still 194.0MB. Free memory was 167.8MB in the beginning and 166.3MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-15 07:08:43,497 INFO L158 Benchmark]: RCFGBuilder took 233.98ms. Allocated memory is still 194.0MB. Free memory was 166.3MB in the beginning and 154.5MB in the end (delta: 11.8MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-15 07:08:43,497 INFO L158 Benchmark]: TraceAbstraction took 782143.25ms. Allocated memory was 194.0MB in the beginning and 280.0MB in the end (delta: 86.0MB). Free memory was 154.1MB in the beginning and 184.4MB in the end (delta: -30.3MB). Peak memory consumption was 162.8MB. Max. memory is 8.0GB. [2022-04-15 07:08:43,497 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 194.0MB. Free memory is still 157.5MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 199.76ms. Allocated memory is still 194.0MB. Free memory was 140.9MB in the beginning and 167.8MB in the end (delta: -26.8MB). Peak memory consumption was 11.7MB. Max. memory is 8.0GB. * Boogie Preprocessor took 18.77ms. Allocated memory is still 194.0MB. Free memory was 167.8MB in the beginning and 166.3MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 233.98ms. Allocated memory is still 194.0MB. Free memory was 166.3MB in the beginning and 154.5MB in the end (delta: 11.8MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 782143.25ms. Allocated memory was 194.0MB in the beginning and 280.0MB in the end (delta: 86.0MB). Free memory was 154.1MB in the beginning and 184.4MB in the end (delta: -30.3MB). Peak memory consumption was 162.8MB. 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...